|
|
@@ -208,7 +208,7 @@ async function main() {
|
|
|
|
|
|
const FIRST_FEW_DAYS = 1 // 第几天的数据,0表示今天,1表示昨天,2表示前天,以此类推
|
|
|
const BUY_LIMIT_RATE = 0 // 从什么比例入场
|
|
|
- const BAKE_TEST_DAYS = 30 // 一共回测多少天, 150天是熊市最没有交易量的时候
|
|
|
+ const BAKE_TEST_DAYS = 800 // 一共回测多少天, 150天是熊市最没有交易量的时候
|
|
|
|
|
|
|
|
|
let btcKLines = kLinesMap['BTC_USDT']
|
|
|
@@ -244,6 +244,11 @@ async function main() {
|
|
|
let expFakeProfit = NumKit.getSubFloat(fakeRate * fakeDragonProfit, 2)
|
|
|
let synProfit = NumKit.getSubFloat(expFakeProfit + expRealProfit, 2)
|
|
|
let avgProfit = NumKit.getSubFloat(synProfit / (realLength + fakeLength), 2)
|
|
|
+ let isStopLoss = false
|
|
|
+ if (avgProfit < -0.7) {
|
|
|
+ avgProfit = -1.0
|
|
|
+ isStopLoss = true
|
|
|
+ }
|
|
|
|
|
|
let index = kLinesMap['BTC_USDT'].length - (day_count + 1)
|
|
|
let btcK = kLinesMap['BTC_USDT'][index]
|
|
|
@@ -252,7 +257,7 @@ async function main() {
|
|
|
|
|
|
logger.info(`${day_count}日(${dateStr}, ${realLength + fakeLength}只),赚钱榜(${realLength}只)利润${realDragonProfit}%`
|
|
|
+ `,亏钱榜(${fakeLength}只)利润${fakeDragonProfit}%`
|
|
|
- + `,赚钱榜期望利润${expRealProfit}%,亏钱榜期望利润${expFakeProfit}%,综合利润${synProfit}%,平均每只利润${avgProfit}%`
|
|
|
+ + `,赚钱榜期望利润${expRealProfit}%,亏钱榜期望利润${expFakeProfit}%,综合利润${synProfit}%,平均每只利润${avgProfit}% ${isStopLoss ? '(止损)' : ''}`
|
|
|
+ `,BTC涨幅${btcUpRate}%`
|
|
|
)
|
|
|
|