Hallo, ich bin der kalte Wind und ich freue mich, dass ihr die Erfinder-Quantifizierung nutzt, und ab heute werde ich einen Artikel für Neueinsteiger schreiben, damit ihr schnell einsteigen und eure eigenen Strategien schreiben könnt.
Der Stil der Artikel ist minimalistisch, und ich versuche, dass jeder Artikel ein kleines Problem löst und ein vollständiges, funktionierendes Beispiel enthält.
Wenn Sie Probleme haben, können Sie mich kontaktieren, ich werde versuchen, Ihnen bei einigen Problemen zu helfen, denn ich bin auch auf der Arbeit, die Zeit ist viel zu stressig, ich kann nicht rechtzeitig antworten, und ich habe keine Zeit, um zu reagieren.
Ich bitte um Verständnis.
Hier ist ein einfaches Beispiel, um zu zeigen, dass einige Plattformen K-Leitung-Daten zur Verfügung stellen (z.B. Bitcoin).
Okcoin, für eine solche Plattform, kann direkt erfasst werden, während die meisten Handelsplattformen keine K-Linie-Daten zur Verfügung stellen und in diesem Fall die K-Linie selbst sammeln.
Anmerkung: In der Testumgebung ist die Sammlung von K-Linien nicht erforderlich, da der Erfinder die historischen K-Linien für die Tests zur Verfügung stellt, die der Erfinder für die historischen K-Linien quantifiziert hat, die dem Benutzer nicht zur Verfügung gestellt werden können, wenn er auf dem Laufenden handelt.
Die K-Leitung, die der Erfinder quantifiziert hat, wurde von ihm selbst gesammelt. Die Anzahl und die Genauigkeit variieren geringfügig, so dass sie dem Benutzer nicht zur Verfügung gestellt wird, wenn sie auf der Festplatte betrieben wird.
Zu beachten ist, dass exchange.GetRecords ((); die Anzahl der gesammelten K-Linien, maximal 1411, plus 1441 Punkte, zuerst gelöscht wird, um die Leistung zu vermeiden.
function onTick(exchange) {
var records = exchange.GetRecords();//搜集K线,最多可以搜集1411条
if (!records) {
return;
}
Log("当前搜集到的K(分钟)线数量",records.length);
}
function main() {
Log(exchange.GetName(), exchange.GetCurrency());
while (true) {//循环执行
onTick(exchange);
Sleep(10000);
}
}
- 我用这个代码在回测环境中发现收集来的K线历史数据和回测日志的图是不同的,K线数据基本上OPEN/HIGH/LOW/CLOSE有两个是相同的,而且变化明显小于日志的图。我只是在onTick的最后加了一行代码打印records的最后一个。
回测的时间选2015-08-10 17:10:24至2015-08-10 20:10:24,5分钟K线,火币BTC,实际上选其他时间段也有同样问题。请看17:55开始的3根K线,对应的打印如下:
{"Time":1439200500000,"Open":1649.44,"High":1649.443213,"Low":1649.44,"Close":1649.443213,"Volume":226.632}
{"Time":1439200800000,"Open":1645.52,"High":1645.52,"Low":1646.59212,"Close":1646.59212,"Volume":231.261}
{"Time":1439201100000,"Open":1643.88,"High":1643.884816,"Low":1643.88,"Close":1643.884816,"Volume":702.867}
有几个问题想请教一下。
2、楼主这里想说明的是,实盘环境下(无论是火币之类提供K线历史的还是其他不提供的)都要依靠我们自己的机器人收集K线数据,机器人最多会缓存1411条K线,是这样吗?
不好意思这么晚看到.. 如果交易所有提供API获取K线,托管者在实盘下面是不会自己收集的,直接获取交易所提供的K线,如果交易所不提供就自己收集, 只保存最近的1411条的, 模拟测试的话,tick级的数据是模拟的,跟实际有差别的.
- 1

