Przeglądaj źródła

只回测30天的

skyffire 1 rok temu
rodzic
commit
6f12186d7b
1 zmienionych plików z 5 dodań i 4 usunięć
  1. 5 4
      十面埋伏分析.js

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

@@ -48,7 +48,7 @@ function getFakeDragonMap(kLinesMap, FIRST_FEW_DAYS, BUY_LIMIT_RATE) {
     if (maxRate > BUY_LIMIT_RATE && rate < BUY_LIMIT_RATE) {
       kLine.Rate = rate
       kLine.MaxRate = maxRate
-      kLine.Profit = rate - BUY_LIMIT_RATE
+      kLine.Profit = rate > 0 ? rate - BUY_LIMIT_RATE : -BUY_LIMIT_RATE
       fakeDragonMap[symbol] = kLine
     }
   }
@@ -60,10 +60,11 @@ async function main() {
   let kLinesMap = await readData()
 
   const FIRST_FEW_DAYS = 0            // 第几天的数据,0表示今天,1表示昨天,2表示前天,以此类推
-  const BUY_LIMIT_RATE = 1            // 从什么比例入场
+  const BUY_LIMIT_RATE = 3            // 从什么比例入场
+  const BAKE_TEST_DAYS = 30           // 一共回测多少天
 
   let totalProfit = 0
-  for (let i = FIRST_FEW_DAYS; i <= kLinesMap['BTC_USDT'].length - 2; i++) {
+  for (let i = FIRST_FEW_DAYS; i < BAKE_TEST_DAYS; i++) {
     // 真龙榜
     let realDragonProfit = 0
     let realDragonMap = getRealDragonMap(kLinesMap, i, BUY_LIMIT_RATE)
@@ -101,7 +102,7 @@ async function main() {
     totalProfit = NumKit.getSubFloat(totalProfit, 2)
   }
 
-  let dayProfit = NumKit.getSubFloat(totalProfit / (kLinesMap['BTC_USDT'].length - 2), 2)
+  let dayProfit = NumKit.getSubFloat(totalProfit / BAKE_TEST_DAYS, 2)
   logger.info(`利润期望值总和:${totalProfit}%,平均日化${dayProfit}%。`)
 }