Isso mesmo! Isso mesmo é 30 linhas de código! São apenas 30 linhas de texto que eu costumo ler antes de ler.
Os parâmetros da estratégia são:
Parâmetros | Descrição | Tipo | Valor padrão |
---|---|---|---|
Período rápido | Ciclo de lançamento | Tipo numérico (number) | 3 |
SlowPeriodo | Ciclo de lançamento lento | Tipo numérico (number) | 7 |
IntroduçãoPeriodo | Período de observação | Tipo numérico (number) | 3 |
ExitPeriodo rápido | Ciclo da linha rápida | Tipo numérico (number) | 3 |
ExitPeriodo lento | Ciclo de baixa | Tipo numérico (number) | 7 |
Período de saída | Período de observação | Tipo numérico (number) | 1 |
PosiçãoRatio | Proporção de posições | Tipo numérico (number) | 0.8 |
Intervalo | Período de consulta ((segundos) | Tipo numérico (number) | 10 |
交易类库
A estratégia é fácil de escrever, 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
Usar palavras-chavevar
+ nome da variável, por exemplovar name = “小明”
Ciclos
while(循环条件){
// 将会重复执行的代码
}
Se a condição de ciclo for verdadeira, o código dentro do {} será executado repetidamente. Se a condição de ciclo for falsa, salta o ciclo.
Termos de filiação
if (判断条件){
// 执行代码
} else {
// 执行代码
}
A tradução é muito simples: se (true) {executar este código}
Atribuição
Um=
Um número é uma atribuição, por exemplo.
name = “张三”;
O que é mais fácil é confundir a atribuição com a comparação, mas o que é mais fácil é confundir a atribuição com a comparação.
Por exemplo:==
Dois números iguais.
Exemplos“张三”==“李四”
O que é claro é que o Zhang não é o Li.“张三”==“李四”
Por falsidade.
APIs relacionados
Antes de demonstrar a política, analisamos a API e a função de exportação do modelo usada na política, e há uma documentação detalhada da API e uma instrução de código fonte do modelo no inventor quantified.
O código estratégico também usa funções de biblioteca e métodos de objetos do JavaScript.
Informações sobre o JavaScript acima podem ser obtidas em: JavaScript Number Objecthttp://www.w3school.com.cn/jsref/jsref_obj_number.aspAprenda mais
O processo é desenhado à mão, sem ferramentas, amador.
A estratégia foi construída passo a passo.
Todos os procedimentos estratégicos são executados na entrada.main()
Funções, isto é, políticas que começam a ser executadas a partir da função principal.
Disco real
A estratégia de 30 linhas simples é concluída! A estratégia Running! começou a funcionar, com a operação de compra.
Graças a Inventor Quantify, que fornece um código tão simples, há uma abundância de estratégias de código aberto para aprender e melhorar em Inventor Quantify, juntamente com muitos outros profissionais de quantificação.
官方QQ群定期更新学习资源,为量化学习者铺平道路,登堂入室。
Acompanhamento de vídeo
http://v.youku.com/v_show/id_XMTUyNDY1NjQ2NA==.html
Referências
FMZ_JHA função $.GetAccount na API foi atualizada para exchange.GetAccount (?).
WojiushizhemedeshuaiqidemeinanziEu entendo o código, mas não sei o que essa estratégia realmente faz.
:)Obrigado Little Dream, o seu artigo é muito bom.
Não, não.O tutorial do proprietário é muito bem escrito, obrigado!
bincoinObrigado, senhor, vou aprender muito bem.
A estratégia de venda de preços elevadosAfinal, o que eu quero dizer é que, se você não for capaz de fazer isso, você não pode fazer isso.
Inventor quantificado - sonho pequeno$.GetAccount é a função de exportação do modelo FMZ (o modelo é código reutilizável, veja a descrição do modelo no documento API). $.GetAccount é a função de exportação do modelo: https://www.fmz.com/strategy/10989). A estratégia acima é apenas uma parte do código, sem configuração de parâmetros de estratégia, e a estratégia completa pode ser pesquisada em 30 linhas de estratégia em linha reta no quadrado da estratégia.
WojiushizhemedeshuaiqidemeinanziE foi isso que aconteceu.
Inventor quantificado - sonho pequenoA linha rápida passa pela linha lenta, geralmente é um sinal de compra, com maior probabilidade de alta. A linha rápida passa pela linha lenta, geralmente, é um sinal de venda, com maior probabilidade de queda.
Inventor quantificado - sonho pequenoNão é bom para mim, vou fazer mais material de aprendizagem mais tarde, obrigado pelo apoio!
Inventor quantificado - sonho pequenoContinuem a fazer o seu trabalho!