Có một vấn đề với hệ thống phản hồi của nhà phát minh, tôi đã viết một bài để hỏi về vấn đề này, nhưng tôi không thể trả lời được.
https://www.fmz.com/bbs-topic/10581, nói thật, với tư cách là một người dùng trả tiền lâu năm, không có gì khác để giải quyết vấn đề về mặt thực tế.
Vấn đề này sẽ được tăng cường khi đánh giá liên quan đến nhiều giống, đặc biệt là khi giao dịch song song, đánh giá quá cao về các giống.
Bởi vì trong hệ thống tra cứu, hàmgetticker cần thời gian, điều đó có nghĩa là, khi có hơn một chục giống, một cuộc thăm dò có thể lấy giá của nhiều giống, và một số giống có thể không có giá.
Tôi đã xem các diễn đàn và tài liệu, và hầu như không có ai đề cập đến điều này.
Câu hỏi: Tôi rất lạ.
Tôi đang nghiên cứu về hàm getrecords, nó không mất thời gian trong hệ thống tra cứu, vì vậy nếu chúng ta dùng re[re.length-1].Close thay vì ticker.Last
Có thể nhận được các giá cả thực tế cho nhiều loại cùng một lúc, không mất thời gian và không có lỗi.
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


