33
ফোকাস
61
অনুসারী

ব্যাকটেস্টিংয়ে GetTicker-এর সময়সাপেক্ষ সমস্যা

তৈরি: 2025-01-29 16:23:35, আপডেট করা হয়েছে:
comments   3
hits   464
    var time1 = new Date().getTime()

    for (var i = 0; i < trade_symbols.length; i++) {
        exchanges[i].IO("currency", trade_symbols[i].slice(10) + '_USDT');        // 设置交易对         
        exchanges[i].SetContractType("swap");
        var ticker = exchanges[i].GetTicker()
    }
    var time2 = new Date().getTime()

    Log('耗时2-1', time2 - time1);


    我设置了100个exchange,每个exchange匹配一个币种,币种信息储存在trade_symbols里面
    以上代码回测时,我已经将【延迟】设置为0,但是, time2 - time1耗时会根据底层k线的不同而不同,且没有规律,有随机性,有时候耗时长达十几分钟。但是我将第6行更换为:

    var account = exchanges[i].GetAccount();
     var pos = exchanges[i].GetPositions();

     逐个获取账户信息或者仓位,就不需要耗时,无论用什么底层k线都是0.

     发明者底层的逻辑上,GetTicker 函数 是不是存在什么偶然性设置?