Es gibt ein Problem mit dem Feedback-System der Erfinder, das ich in einem Post gefragt habe.
Als ein langjähriger, zahlender Nutzer kann ich ehrlich gesagt sagen, dass es keine wesentlichen Lösungen gibt.
Das Problem wird verstärkt, wenn es um die Rückbewertung von mehreren Sorten geht, insbesondere bei Pairing-Trading, bei der Sortenarbitrage übertrieben wird.
Da die Getticker-Funktion in einem Rückmeldesystem zeitaufwändig ist, bedeutet dies, dass eine Umfrage die Preise für mehrere Sorten erhält, wenn es mehr als ein paar Dutzend Sorten gibt.
Ich habe mir die Foren und die Dokumentation angesehen, aber kaum jemand hat es vorgebracht.
Frage: Ich bin seltsam.
Ich arbeite an der Funktion getrecords, die in der Rückmeldung nicht zu viel Zeit verbraucht, also wenn wir mit re[re.length-1].Close statt ticker.Last
Es gibt auch die Möglichkeit, die Angebote von mehreren Sorten gleichzeitig zu erhalten, ohne Zeit zu verlieren und ohne Fehler.
javascript
function main() {
while (true) {
var begin = new Date().getTime()
exchanges[0].GetTicker("LTC_USDT")
exchanges[0].GetTicker("BTC_USDT")
exchanges[0].GetTicker("ETH_USDT")
exchanges[1].GetTicker("LTC_USDT")
exchanges[1].GetTicker("BTC_USDT")
exchanges[1].GetTicker("ETH_USDT")
var end = new Date().getTime()
Log(end - begin)
Sleep(1000)
}
}
实盘级别回测,耗时很短。模拟级别回测因为tick是模拟生成的,不同品种可能一个周期内生成的tick数量并不同,所以一轮时间间隔可能会有增大的情况。
mt4或者聚宽等平台,不存在这个耗时问题,按道理说,发明者跟他们的原理是一样的。问题,在于GetRecords不耗时,但是GetTicker耗时,实在是有点难理解。我现在只要是品种多了,就不用GetTicker了,而用Records代替,误差反而小。在这里分享给大家,避免回测错误。
谢谢你的回答。我的确只是做了模拟级别的回测,没有做实盘级别的。实盘级别,数据太大了,对于几十个品种的策略而言,别说ticker级别的数据,就是1分钟甚至5分钟的k线数据,都无法获取,根本无法回测,会提示内存错误,之前我有发帖求助,尚未解决。
- 1


