Isso é verdade! Você ouviu bem, são 30 linhas de código! Eu costumo ler o código em 30 linhas para ter uma visão geral!
Os parâmetros da política são os seguintes:
| parâmetro | descrever | tipo | Valores por defeito |
|---|---|---|---|
| FastPeriod | Ciclo de entrada rápida | Tipo de número | 3 |
| SlowPeriod | Ciclo de entrada em mercado | Tipo de número | 7 |
| EnterPeriod | Período de observação | Tipo de número | 3 |
| ExitFastPeriod | Ciclo de linha rápida | Tipo de número | 3 |
| ExitSlowPeriod | Ciclo de saída da cidade | Tipo de número | 7 |
| ExitPeriod | Período de observação | Tipo de número | 1 |
| PositionRatio | Proporção de posições | Tipo de número | 0.8 |
| Interval | Período de sondagem (s) | Tipo de número | 10 |

交易类库É fácil de escrever uma estratégia, sem ter que se preocupar em comprar ou vender.function main() {
var STATE_IDLE = -1;
var state = STATE_IDLE;
var opAmount = 0;
var initAccount = $.GetAccount();
Log(initAccount);
while (true) {
if (state === STATE_IDLE) {
var n = $.Cross(FastPeriod, SlowPeriod);
if (Math.abs(n) >= EnterPeriod) {
opAmount = parseFloat((initAccount.Stocks * PositionRatio).toFixed(3));
var obj = n > 0 ? $.Buy(opAmount) : $.Sell(opAmount);
if (obj) {
opAmount = obj.amount;
state = n > 0 ? PD_LONG : PD_SHORT;
Log("开仓详情", obj, "交叉周期", n);
}
}
} else {
var n = $.Cross(ExitFastPeriod, ExitSlowPeriod);
if (Math.abs(n) >= ExitPeriod && ((state === PD_LONG && n < 0) || (state === PD_SHORT && n > 0))) {
var obj = state === PD_LONG ? $.Sell(opAmount) : $.Buy(opAmount);
state = STATE_IDLE;
var nowAccount = $.GetAccount();
LogProfit(nowAccount.Balance - initAccount.Balance, '钱:', nowAccount.Balance, '币:', nowAccount.Stocks, '平仓详情:', obj, "交叉周期", n);
}
}
Sleep(Interval*1000);
}
}
Declaração de variáveis
Palavras-chavevar+ Nome de variável, por exemplovar name = “小明”
Circulação
while(循环条件){
// 将会重复执行的代码
}
O código dentro de {} é executado repetidamente se a condição de ciclo for verdadeira. Se a condição de ciclo for falsa, o código sairá do ciclo.
Subdivisão condicional
if (判断条件){
// 执行代码
} else {
// 执行代码
}
É muito simples, a tradução é que se (verdade) (executar este código) (executar este código)
Valorização
Um.=O número é atribuição, por exemplo.
name = “张三”;
É fácil confundir atribuição de valor com equivalência.
Comparação==Dois números iguais.
Exemplo.“张三”==“李四”É óbvio que Zhang Shui não é Li Jie.“张三”==“李四”Não é verdade.
APIs relacionados
Antes de demonstrar e escrever a estratégia, examinamos as APIs e as funções de exportação de modelos usadas na estratégia. A quantificação do inventor inclui a documentação detalhada da API e o código fonte do modelo.
O código da estratégia também usa funções de biblioteca e métodos de objetos do Javascript.
Para obter mais informações sobre o JavaScript, acesse: JavaScript Number Object http://www.w3school.com.cn/jsref/jsref_obj_number.asp
O diagrama do programa é desenhado à mão, sem usar ferramentas, é muito amador.

Construir a nossa estratégia passo a passo
Todas as entradas de programas de estratégia são:main()Funções, ou seja, as estratégias começam a ser executadas pela função main.





Oferta Firme
A partir daí, uma estratégia simples de 30 linhas é feita! A estratégia do Running! está em andamento, compra e operação.

Graças ao InventorQuant, que fornece um código tão simples, há uma grande quantidade de estratégias de código aberto disponíveis para aprender e melhorar no InventorQuant, e avançar junto com muitos outros especialistas em quantificação.
官方QQ群定期更新学习资源,为量化学习者铺平道路,登堂入室。
Acompanhamento de vídeo
http://v.youku.com/v_show/id_XMTUyNDY1NjQ2NA==.html
Referências