Olá, sou o vento frio, bem-vindo ao Inventor Quantify, e a partir de hoje, vou escrever um post sobre como começar a usar o Inventor Quantify, para que você possa começar rapidamente e escrever suas próprias estratégias.
O estilo de artigo é muito simples, e eu tento que cada pequeno artigo resolva um pequeno problema, acompanhado de um exemplo completo e funcional.
Se você tiver algum problema, entre em contato comigo, eu vou tentar ajudar você a resolver alguns problemas, porque também estou trabalhando, o tempo vai ser mais intenso, não posso responder a tempo, e também não tenho tempo para falar com você.
Por favor, compreendam.
Obter dados de K-line, é uma pergunta que os amigos no grupo costumam fazer, e aqui eu dou um pequeno exemplo simples para que vocês saibam que algumas plataformas de negociação fornecem dados de K-line, como o Bitcoin.
Okcoin, para plataformas como esta, pode ser obtido diretamente, enquanto a maioria das plataformas de negociação não fornece dados de linhas K, em que caso você deve coletar as linhas K.
Nota: Não é necessário coletar K-lines no ambiente de testes, porque o inventor quantifica os K-lines históricos fornecidos para testes, e não permite que o usuário faça transações em tempo real.
O uso é principalmente considerado, o inventor quantificado K linhas são coletados por si mesmo, em número e precisão, pode variar por pequenas diferenças, por isso, na operação em disco rígido, não é fornecido ao usuário.
É preciso ter em conta que o exchange.GetRecords (((); o número máximo de linhas K coletadas é de 1411, somando-se 1441 e sendo o primeiro a ser removido, para evitar que afete o desempenho.
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

