Abordamos o tema de automatização de estratégias em NTSL, MQL5 e NinjaScript!
Boa noite não sei nada de programação de robô, mas estou tentando fazer um código para fazer um backteste da minha estratégia que venho colocando em prática no simulador durante o pregão alguém poderia-me ajudar por favor.(a minha estratégia ela funciona assim, eu posso-so vender quando a minha média de 50 período estiver acima da média de 20 período e se o fechamento da barra atual for maior que a média de 50 período e a abertura da mesma barra for menor que a média de 50 período colocar uma venda na máxima desse candle com um stop 250 pontos e 500 pontos de alvo. E para compra seria o inverso. Agradeço a compreensão.
input mediacurta(50); mediapequena(20); Var mediac : float; mediap : float; inicio se (IsBought) entao inicio SellToCoverLimit(BuyPrice + 500,1); SellShortStop(BuyPrice - 250,BuyPrice - 250); fim; se (IsSold) entao inicio BuyToCoverLimit(SellPrice - 500,1); BuyStop(SellPrice + 250,SellPrice + 250); fim; se (BuyPosition = 0) e (SellPosition = 0) entao inicio mediac := MediaExp(mediacurta,FECHAMENTO); mediap := MediaExp(mediapequena,FECHAMENTO); se (mediac > mediap) e (FECHAMENTO > mediac) e (ABERTURA < mediac) entao inicio SellShortLimit(MAXIMA); fim; se (mediac < mediap) e (ABERTURA > mediac) e (FECHAMENTO < mediac) entao BuyLimit(MINIMA); fim; fim;
Olá @favin123!
Pelo que você descreveu, seu código está fazendo o que deveria.
Você está iniciando pelo caminho certo! Fazer a simulação do setup operacional certamente será muito mais eficiente do que testar manualmente um setup, pois você terá o resultado do desempenho desse setup em um período de tempo muito maior em questão de segundos.
Claro que este benefício exige escrever um bom código de estratégia, ou seja, conseguir traduzir para código e simular uma situação mais próxima possível da realidade. Nesse ponto, sempre que olharmos nosso próprio código iremos possivelmente perceber algum ponto de melhoria. É um trabalho iterativo pra ser feito em etapas.
Por ora, gostaria de pontuar os seguintes itens:
Meu conselho é que vá aperfeiçoando seu código aos poucos para assegurar que cada mudança não está bagunçando a lógica. Uma dica que posso dar é utilizar os snippets da comunidade, pois já tem muita coisa pronta que você pode reutilizar rapidamente (restrição de horário de negociação, técnicas de stoploss, etc...).
Se tiver alguma dificuldade com código e de entender detalhes do backtesting, eu sugeriria baixar o eBook "Como programar robôs no Profit Chart?", 100% gratuito, o qual poderá te ajudar a entender melhor os aspectos relacionados ao tema.
Boa sorte e boa programação!
Abs!