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.
Sonhos pequenos$.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.
Sonhos pequenosA 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.
Sonhos pequenosNão é bom para mim, vou fazer mais material de aprendizagem mais tarde, obrigado pelo apoio!
Sonhos pequenosContinuem a fazer o seu trabalho!