31
关注
40
关注者

回测中,GetTicker耗时问题

创建于: 2025-01-29 16:23:35, 更新于:
comments   1
hits   66
    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 函数 是不是存在什么偶然性设置?
更多内容
全部留言
avatar of 发明者量化-小小梦
发明者量化-小小梦
您好,在模拟级别Tick模式下回测,行情数据是基于底层K线的价格框架生成的每个tick价格。当调用和行情有关的接口时,会推动当前时间在时间轴上移动(行情也随之变动),账户资产接口,持仓接口调用时,不会推动当前时间点在时间轴移动。
2025-02-01 12:55:20