こんにちは,冷風です. 発明者数量化にご参加いただきます. 今日から,私は新入生向けの記事を書き続けます. 早く入学して,自分の戦略を書き出せます.
文章のスタイルは簡潔で,私は小さな問題を解く小さな文章を試み,完全な,実行可能な例を添付しました.
連絡先や問題があれば私に連絡してください,私はあなたの問題を解決するために最善を尽くします,私は仕事中なので,時間がかなり緊張し,時間内に返信できません.
ありがとうございました.
K線を入手するには,グループ内の友達がよく尋ねていますが,ここで簡単な例を紹介します. いくつかの取引プラットフォームはK線データを提供しています.
okcoinは,このようなプラットフォームに対して,直接取得できるが,ほとんどの取引プラットフォームは,K線データを提供しない.この場合,K線を自分で収集する.
注: テスト環境では K 線を収集する必要はありません.なぜなら, K 線は,実際の取引の際に使用できません.
使用は? 主に,発明者が量したK線は,自己収集であり,数量と精度において,微妙な差異がある可能性があるので,实体操作時に,ユーザーに提供されないことを考慮する.
注目すべきは exchange.GetRecords (((); 収集されたK線の数,最大1411で,1441条を足した後は,最初に削除される,これは性能に影響を及ぼさないようにするためである.
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

