skyffire hai 11 meses
pai
achega
3b95dcea84
Modificáronse 2 ficheiros con 12 adicións e 5 borrados
  1. 0 1
      utils/chart-kit.js
  2. 12 4
      十面埋伏分析.js

+ 0 - 1
utils/chart-kit.js

@@ -6,7 +6,6 @@ const echarts = require('echarts');
 
 module.exports = class ChartKit {
 
-  // 例子:https://echarts.apache.org/examples/zh/editor.html?c=bar-negative
   static printBar(yData, xDataLeft, xDataRight) {
     // 创建一个 canvas 实例
     const width = 3840; // 宽度

+ 12 - 4
十面埋伏分析.js

@@ -274,9 +274,12 @@ async function main() {
   // const FIRST_FEW_DAYS = 710                   // 第几K的数据,0表示今K,1表示昨K,2表示前K,以此类推
   // const BAKE_TEST_DAYS = 1                     // 一共回测多少K
 
+  let profitList = []
+  let initProfit = 1
+  let profitCount = []
   let btcKLines = kLinesMap['BTC_USDT']
   let totalProfit = 0
-  for (let day_count = FIRST_FEW_DAYS + BAKE_TEST_DAYS - 1; day_count > 0; day_count--) {
+  for (let day_count = FIRST_FEW_DAYS + BAKE_TEST_DAYS - 1; day_count > FIRST_FEW_DAYS; day_count--) {
     let btcKline = btcKLines[btcKLines.length - (day_count + 1)]
     // let btcKlineDownRate = 100 * (btcKline.Open - btcKline.Low) / btcKline.Open // 可能的回撤计算
     let btcKlineUpRate = 100 * (btcKline.High - btcKline.Close) / btcKline.High // 可能的回撤计算
@@ -287,7 +290,7 @@ async function main() {
     let realDragonMap = getRealDragonMap(btcKLines, kLinesMap, day_count, BUY_LIMIT_RATE)
     for (let symbol in realDragonMap) {
       realDragonProfit += realDragonMap[symbol].Profit
-      logger.info(`${realDragonMap[symbol].Symbol}, ${realDragonMap[symbol].Profit}%`)
+      // logger.info(`${realDragonMap[symbol].Symbol}, ${realDragonMap[symbol].Profit}%`)
     }
     dragonAnalysis(btcKLines, kLinesMap, realDragonMap, day_count)
 
@@ -297,7 +300,7 @@ async function main() {
     let fakeDragonMap = getFakeDragonMap(btcKLines, kLinesMap, day_count, BUY_LIMIT_RATE)
     for (let symbol in fakeDragonMap) {
       fakeDragonProfit += fakeDragonMap[symbol].Profit
-      logger.info(`${fakeDragonMap[symbol].Symbol}, ${fakeDragonMap[symbol].Profit}%`)
+      // logger.info(`${fakeDragonMap[symbol].Symbol}, ${fakeDragonMap[symbol].Profit}%`)
     }
     dragonAnalysis(btcKLines, kLinesMap, fakeDragonMap, day_count)
 
@@ -314,7 +317,10 @@ async function main() {
         isStopLoss = true
       }
 
-      avgProfit = NumKit.getSubFloat(avgProfit - 0.2, 2)    // 手续费算进去
+      avgProfit = NumKit.getSubFloat(avgProfit - 0.1, 2)    // 手续费算进去
+      initProfit *= (100 + avgProfit) / 100
+      profitList.push(initProfit)
+      profitCount.push(profitList.length)
     } else {
       avgProfit = 0
     }
@@ -337,6 +343,8 @@ async function main() {
   }
 
   let dayProfit = NumKit.getSubFloat(totalProfit / BAKE_TEST_DAYS, 2)
+  logger.info(JSON.stringify(profitList))
+  logger.info(JSON.stringify(profitCount))
   logger.info(`利润期望值总和:${totalProfit}%,平均根化${dayProfit}%。`)
   // let lastData = []
   // for (let x = 0; x < dataRight.length; x++) {