Desenvolvendo um Sistema de Trading no MetaTrader 4

Mike 2016.07.01 18:40 10 0 0
Anexo

Olá, traders! Hoje vamos falar sobre um tema que muitos de nós já consideramos: a criação de um sistema de trading no MetaTrader 4. A ideia surgiu a partir do meu desejo de experimentar com grids, e o resultado foi muito interessante!

Primeiro, vamos entender como funciona a coleta de dados. A proposta é utilizar N+M barras de um intervalo histórico. Vamos registrar os sinais do indicador entre as N barras e os resultados entre as M barras. Ao final, teremos um arquivo nomeado como [sequência de sinais do indicador de N barras].csv.

Esse arquivo conterá os resultados históricos subsequentes, o que pode ser extremamente útil para análise!

Para exemplificar, aqui está um trecho de código que pode ser utilizado para essa tarefa:

      int history [1000];
      for (int i=analiz_bars+poisk_fractals;i>poisk_fractals;i--)
         {
         history [i] = NormalizeDouble((tocnost*iMACD(NULL,0,Per_MACD/4,Per_MACD,9,PRICE_CLOSE,MODE_MAIN, i)/(100*Point)),0);
         }

Este código nos fornece um array que será utilizado a seguir:

      string posledovatelnost = shethik +"_";
      for (i=analiz_bars+poisk_fractals;i>poisk_fractals;i--)
         {
         posledovatelnost =posledovatelnost+history [i]+"_";
         }
      posledovatelnost = posledovatelnost +".csv";

Depois disso, é hora de salvar o arquivo com o nome [posledovatelnost].

Em seguida, devemos registrar o número de chamadas (para determinar o peso estatístico) e os resultados do bloco seguinte. Aqui está um exemplo de como isso pode ser feito:

      double MaxHighPik = High [poisk_fractals]; //Iniciando comparação das barras
      double MaxLowPik = Low [poisk_fractals];  
      for (i=poisk_fractals; i>=1; i--)
         {
         if (MaxHighPik < High [i])
            {
            MaxHighPik = High [i];     
            }
         if (MaxLowPik > Low [i])
            {
            MaxLowPik = Low [i];       
            }
         }

Assim, determinamos a direção do movimento das N barras e os máximos atingidos. Os resultados são escritos como uma média, com a possibilidade de atribuir um peso estatístico maior ou menor aos dados mais recentes utilizando a variável zabyvaemost e a média dos valores do indicador utilizando a variável tocnost. Com uma média mínima, apenas a direção +1 ou -1 é dada.

No entanto, apesar de todo o trabalho, os resultados não são tão impressionantes quanto esperávamos. Dois sistemas de trading foram fornecidos como exemplo, e a lucratividade raramente ultrapassa 1.1.

Abaixo, você pode ver um exemplo de uso da média móvel:

Se alguém conseguir desenvolver um EA decente, por favor, entre em contato!

Lista
Comentário 0