Type/to search
8
Follow
1365
Followers
30 linhas de código levam você ao mundo do investimento quantitativo
FAQ
Created 2016-04-06 10:17:26  Updated 2020-01-13 15:17:11
 13
 7759

Estratégia de linha média de 30 linhas para criar um sistema de ganhos positivos

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âmetrodescrevertipoValores por defeito
FastPeriodCiclo de entrada rápidaTipo de número3
SlowPeriodCiclo de entrada em mercadoTipo de número7
EnterPeriodPeríodo de observaçãoTipo de número3
ExitFastPeriodCiclo de linha rápidaTipo de número3
ExitSlowPeriodCiclo de saída da cidadeTipo de número7
ExitPeriodPeríodo de observaçãoTipo de número1
PositionRatioProporção de posiçõesTipo de número0.8
IntervalPeríodo de sondagem (s)Tipo de número10

img

  • Importação.交易类库É fácil de escrever uma estratégia, sem ter que se preocupar em comprar ou vender.
  • Ao ler o código, se você se sentir confuso com uma variável não declarada, responda em grupo.
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); } }
  • Esta estratégia tem apenas uma função principal (main) e não há outros módulos de função. Há apenas um ciclo dentro da função principal.
  • Eu coloquei uma versão com comentários do código desta estratégia no grupo QQ, para que os alunos que estão aprendendo pela primeira vez possam ver os comentários para facilitar a aprendizagem.
  • Não há nenhum QQ oficial aqui, por favor, junte-se: 309368835 Inventor Quantitative EA Communication (original BotVS). A estratégia é simples, com apenas algumas dezenas de linhas de código!
  • Para os alunos que não têm conhecimento básico de Javascript, vamos simplificar a gramática para que eles não tenham dificuldade em entender o código.

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.

  • $.GetAccount Função: função de exportação de modelo para obter informações sobre contas de exchanges
  • Função Log: API, usada para expor informações ao log, exibir valores, etc.
  • $.Cross Função: função de exportação do modelo para detectar o cruzamento de indicadores de linha média
  • $.Buy Função: função de exportação do modelo para operações de compra
  • $.Sell Função: função de exportação do modelo para operações de venda
  • Função LogProfit: API, usada para a saída de lucro, a função pode adicionar outras informações a partir do segundo parâmetro
  • Função Sleep: API, que faz o programa parar por um momento, com parâmetros em milissegundos.

O código da estratégia também usa funções de biblioteca e métodos de objetos do Javascript.

  • Função Math.abs ((): retorna o valor absoluto do argumento
  • A função toFixed () do objeto Number: mantém os dígitos menores em quadrados e em quintos. Observe que a função retorna uma string
  • parseFloat global: retorna um número de float.

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.

img

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.

img

img

img

img

img

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.

img

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

Related Recommendations
Comment
All comments (11)

    API中的$.GetAccount函数是不是更新成exchange.GetAccount()了?

    6 years ago

    $.GetAccount 是FMZ 模板的导出函数(模板就是可复用的代码,参看API 文档上模板的描述)。 $.GetAccount是这个模板:https://www.fmz.com/strategy/10989 的导出函数。
    上面的策略只是代码部分,没有策略参数设置,完整的策略可以在策略广场搜索30行均线策略。

    6 years ago

    代码看懂了 但是不知道这个策略究竟实现了什么功能

    10 years ago

    就是2条均线,快线上穿慢线 一般是买入信号,上涨概率较大(程序自动买入操作)。 快线下穿慢线一般是卖出信号,下跌概率较大(程序自动卖出)。通过这样反复操作 在行情上升趋势中可以攫取利润。

    10 years ago

    原来这样啊 非常感谢

    10 years ago

    感谢小小梦,你的文章写得真好。

    10 years ago

    楼主的教程写得太好了,谢谢!

    10 years ago

    谢谢楼主,我要好好学习

    10 years ago

    不客气,以后还要做更多的学习资料,谢谢支持!

    10 years ago

    够详细。早早有就美死了

    10 years ago

    以后继续出品!谢谢支持。

    10 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)