|
|
@@ -83,13 +83,13 @@ function statisticC(kLines, btcKLines, index) {
|
|
|
// return 0
|
|
|
// }
|
|
|
|
|
|
-function statisticE(kLines, index) {
|
|
|
- let kLine = kLines[index]
|
|
|
- let date = new Date(kLine.Time)
|
|
|
-
|
|
|
- // date.getDay() * 100
|
|
|
- return date.getHours()
|
|
|
-}
|
|
|
+// function statisticE(kLines, index) {
|
|
|
+// let kLine = kLines[index]
|
|
|
+// let date = new Date(kLine.Time)
|
|
|
+//
|
|
|
+// // date.getDay() * 100
|
|
|
+// return date.getHours()
|
|
|
+// }
|
|
|
|
|
|
// 过去24小时成交额度之和。大于1B用1000表示,小于10M用0表示,没啥意义
|
|
|
// function statisticF(kLines, index) {
|
|
|
@@ -208,10 +208,10 @@ let dataRight = {}
|
|
|
let tempLeft = []
|
|
|
let tempRight = []
|
|
|
let dataY = []
|
|
|
-function dragonAnalysis(btcKLines, kLinesMap, dragonMap, dayCount) {
|
|
|
+function dragonAnalysis(btcKLines, kLinesMap, dragonMap, _dayCount) {
|
|
|
for (let symbol in dragonMap) {
|
|
|
- let kLines = kLinesMap[symbol]
|
|
|
- let index = kLines.length - (dayCount + 1)
|
|
|
+ // let kLines = kLinesMap[symbol]
|
|
|
+ // let index = kLines.length - (dayCount + 1)
|
|
|
|
|
|
// let x = statisticE(kLines, index)
|
|
|
// dataY = [100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 400, 402, 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 520, 522, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, 700, 702, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722]
|
|
|
@@ -256,31 +256,13 @@ function dragonAnalysis(btcKLines, kLinesMap, dragonMap, dayCount) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-let NOOBS = [
|
|
|
- 'ZRX_USDT', 'ID_USDT', 'NULS_USDT',
|
|
|
- 'COS_USDT', 'PROM_USDT', 'JUP_USDT',
|
|
|
- 'COMP_USDT', 'RONIN_USDT', 'PDA_USDT',
|
|
|
- 'CTK_USDT', 'ORN_USDT', 'RARE_USDT',
|
|
|
- 'STG_USDT', 'WIN_USDT', 'MTL_USDT',
|
|
|
- 'CELO_USDT', 'MASK_USDT', 'LQTY_USDT',
|
|
|
- 'MEME_USDT', 'NFP_USDT', 'XAI_USDT',
|
|
|
- 'VIC_USDT', 'DODO_USDT', 'SCRT_USDT',
|
|
|
- 'MANTA_USDT', 'BOME_USDT', 'TKO_USDT',
|
|
|
- 'JTO_USDT', 'REI_USDT', 'RSR_USDT',
|
|
|
- 'STRK_USDT', 'CTXC_USDT', 'FLOKI_USDT',
|
|
|
- 'LSK_USDT', 'PROS_USDT', 'PEOPLE_USDT',
|
|
|
- 'JASMY_USDT', 'SC_USDT', 'AUCTION_USDT',
|
|
|
- 'VTHO_USDT', 'REQ_USDT', 'DEXE_USDT',
|
|
|
- 'FIS_USDT', 'ASTR_USDT', 'AGLD_USDT',
|
|
|
- 'FOR_USDT', 'PYR_USDT'
|
|
|
-]
|
|
|
+let NOOBS = ["MOB_USDT","ZRX_USDT","ID_USDT","FORTH_USDT","RAD_USDT","OAX_USDT","GFT_USDT","NULS_USDT","COS_USDT","HARD_USDT","PROM_USDT","JUP_USDT","DOT_USDT","KDA_USDT","RONIN_USDT","PDA_USDT","ORN_USDT","TRU_USDT","RARE_USDT","DOGE_USDT","WIN_USDT","MTL_USDT","TROY_USDT","OG_USDT","CELO_USDT","SUPER_USDT","SLP_USDT","MASK_USDT","QNT_USDT","ILV_USDT","ACA_USDT","OSMO_USDT","LQTY_USDT","UFT_USDT","LOOM_USDT","MEME_USDT","NFP_USDT","XAI_USDT","FET_USDT","WRX_USDT","DODO_USDT","BOND_USDT","MANTA_USDT","BOME_USDT","TKO_USDT","JTO_USDT","REI_USDT","VANRY_USDT","RSR_USDT","TWT_USDT","BURGER_USDT","STRK_USDT","HOT_USDT","CTXC_USDT","FLOKI_USDT","AST_USDT","LSK_USDT","SC_USDT","AUCTION_USDT","VTHO_USDT","REQ_USDT","BAR_USDT","FIS_USDT","HIGH_USDT","ASTR_USDT","AGLD_USDT","CFX_USDT","POLS_USDT","GMT_USDT","DEGO_USDT","FOR_USDT","POWR_USDT","POLYX_USDT","DOCK_USDT","OGN_USDT","GNS_USDT","LOKA_USDT","BADGER_USDT","WAVES_USDT","MATIC_USDT","ACE_USDT","FDUSD_USDT","ETH_USDT","TUSD_USDT","LINK_USDT","WAN_USDT","HBAR_USDT","ARPA_USDT","BAL_USDT","WNXM_USDT","KSM_USDT","UTK_USDT","XVS_USDT","AAVE_USDT","GRT_USDT","JUV_USDT","ASR_USDT","POND_USDT","AR_USDT","WAXP_USDT","CHESS_USDT","ADX_USDT","CITY_USDT","BSW_USDT","STEEM_USDT","LDO_USDT","OP_USDT","RDNT_USDT","EDU_USDT","WBETH_USDT","ALPINE_USDT","PAXG_USDT","SFP_USDT","USDP_USDT","ELF_USDT","BTC_USDT","ADA_USDT","XRP_USDT","TRX_USDT","VET_USDT","ATOM_USDT","BNT_USDT","LTO_USDT","STPT_USDT","LRC_USDT","YFI_USDT","KMD_USDT","JST_USDT","SUN_USDT","AKRO_USDT","AVA_USDT","PSG_USDT","ATM_USDT","ACM_USDT","GTC_USDT","PHA_USDT","FLUX_USDT","IMX_USDT","XNO_USDT","LEVER_USDT","GAS_USDT","QKC_USDT","WBTC_USDT","AERGO_USDT","PIVX_USDT"]
|
|
|
|
|
|
async function main() {
|
|
|
let kLinesMap = await readData()
|
|
|
|
|
|
const BUY_LIMIT_RATE = 0 // 从什么比例入场
|
|
|
|
|
|
-
|
|
|
const FIRST_FEW_DAYS = 0 // 第几K的数据,0表示今K,1表示昨K,2表示前K,以此类推
|
|
|
const BAKE_TEST_DAYS = 12 // 一共回测多少K
|
|
|
// const FIRST_FEW_DAYS = 710 // 第几K的数据,0表示今K,1表示昨K,2表示前K,以此类推
|
|
|
@@ -299,7 +281,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)
|
|
|
|
|
|
@@ -309,7 +291,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)
|
|
|
|
|
|
@@ -338,7 +320,7 @@ async function main() {
|
|
|
let index = kLinesMap['BTC_USDT'].length - (day_count + 1)
|
|
|
let btcK = kLinesMap['BTC_USDT'][index]
|
|
|
let dateStr = TimeKit.getTimeByMillisecond(btcK.Time)
|
|
|
- let btcUpRate = NumKit.getSubFloat(100 * (btcK.Close - btcK.Open) / btcK.Open, 2)
|
|
|
+ // let _btcUpRate = NumKit.getSubFloat(100 * (btcK.Close - btcK.Open) / btcK.Open, 2)
|
|
|
|
|
|
logger.info(`${day_count}根(${dateStr}), ${realLength + fakeLength}只, 平均每只利润${avgProfit}% ${isStopLoss ? '(止损)' : ''},`
|
|
|
+ `赚钱(${realLength}只)利润${realDragonProfit}%,亏钱(${fakeLength}只)利润${fakeDragonProfit}%`
|
|
|
@@ -368,7 +350,7 @@ async function main() {
|
|
|
noobs.push(symbol)
|
|
|
}
|
|
|
}
|
|
|
- logger.info(noobs)
|
|
|
+ logger.info(JSON.stringify(noobs))
|
|
|
// 如果key是字符串,就要加这些
|
|
|
dataLeft = Object.values(dataLeft)
|
|
|
dataRight = Object.values(dataRight)
|