SerialMA_EA: O Assistente Perfeito para MetaTrader 5

Mike 2018.04.19 01:57 17 0 0
Anexo

O Assistente Especializado, ou EA, é baseado no indicador SerialMA.

A característica principal desse indicador é que o período de cálculo é constantemente aumentado, começando a contagem a partir da interseção da linha do indicador com o preço, até a próxima interseção. Após cada interseção, o cálculo recomeça com o valor mínimo.

O EA se aproveita dessa propriedade do indicador:

  • Se o preço de fechamento do candle na barra de sinal estiver acima da linha do indicador e o ponto do indicador na barra anterior estava na linha, isso indica um sinal para abrir uma posição longa.
  • Se o preço de fechamento do candle na barra de sinal estiver abaixo da linha do indicador e o ponto do indicador na barra anterior estava na linha, isso indica um sinal para abrir uma posição curta.

Você pode escolher entre dois modos de abertura de posições:

  • Uma posição apropriada é aberta a cada sinal, com o fechamento da posição oposta.
  • Apenas uma posição pode ser aberta em uma única direção. Essa posição é aberta no primeiro sinal. Se houver uma posição oposta, ela deve ser fechada ao sinal. Todos os sinais seguintes na mesma direção serão ignorados até que um sinal oposto apareça - nesse caso, a posição será revertida (swing).
O EA foi projetado para operar em contas de hedge. Se você executar o EA em uma conta de liquidação, uma mensagem de aviso aparecerá e o EA será descarregado.

Para o correto funcionamento do Assistente Especializado, salve o arquivo compilado do indicador SerialMA.ex5 na pasta padrão de indicadores do seu diretório do terminal (Seu diretório do terminal\MQL5\Indicators).

O EA permite habilitar/desabilitar posições longas/curtas e também reverter os sinais do indicador para abrir vendas em vez de compras e vice-versa. Você pode configurar o stop loss e take profit em pontos. Se valores inválidos de Stop Loss e Take Profit forem especificados, o EA ajustará os valores para o mínimo StopLevel permitido para o ativo.

O Assistente também ajustará o volume caso um valor incorreto seja especificado. Se o volume for muito alto, o EA fará o ajuste para que seja possível abrir uma posição. Se não houver saldo suficiente para abrir nem mesmo o lote mínimo, o sinal será ignorado.

Lembre-se de que o EA foi projetado para fins de treinamento.

O EA possui 12 parâmetros de entrada:

  • Número mágico dos Experts - identificador único das posições do EA;
  • Modo de abertura de posições - modo de abertura de posições (em cada sinal ou permitir apenas uma posição);
  • Posições longas habilitadas - habilitar a abertura de posições longas;
  • Posições curtas habilitadas - habilitar a abertura de posições curtas;
  • Trocar trade - escolher o modo de reversão (Sim, Não): se Sim, uma posição curta será aberta ao sinal longo e vice-versa;
  • Lots - volume das posições a serem abertas;
  • Stop loss em pontos - Stop Loss de uma posição em pontos;
  • Take profit em pontos - Take Profit de uma posição em pontos;
  • Slippage de preço - slippage máximo aceitável ao abrir uma posição;
  • Multiplicador de spread para stops - multiplicador de spread aplicado no cálculo da distância adequada para ordens de stop (*).
  • Aguardar atualização do ambiente (em segundos) - tempo em segundos para esperar pela atualização do ambiente de trading (**);
  • Número de tentativas para obter o estado do ambiente - número de tentativas para obter um ambiente de trading preciso (***).
* Para ordens de Stop Loss e Take Profit (assim como ordens pendentes), existe uma distância mínima permitida para a colocação dessas ordens - StopLevel. Ou seja, Stop Loss e Take Profit (assim como ordens pendentes) não podem ser colocados mais perto do que essa distância em relação ao preço. Se StopLevel for zero, isso não significa que ele não exista, apenas significa que StopLevel está flutuando. Nesse caso, a distância mínima geralmente é igual ao spread*, mas às vezes até o dobro do spread não é suficiente. Portanto, esse parâmetro permite especificar um multiplicador personalizado para o spread usado no cálculo da distância mínima para a colocação de ordens de stop.
** Quando uma ordem de trading é enviada para um servidor, um atraso ocasional na execução pode levar a uma contagem incorreta do número de posições de mercado. Se tal estado "indefinido" for detectado, o Assistente espera pelo número especificado de segundos e então lê o ambiente novamente.
*** O número de períodos de espera dentro de um tick é definido nos parâmetros do EA. Após realizar todas as tentativas permitidas para obter um ambiente preciso, o Assistente sai do processamento e aguarda o próximo tick. O EA repetirá essas tentativas nesse novo tick, caso o ambiente de trading não tenha sido atualizado até esse momento.

A estratégia foi testada com as configurações padrão utilizando dados do intervalo de 04/01/2017 a 09/02/2018. Infelizmente, o EA não apresentou bons resultados com as configurações padrões. Portanto, foi testado no modo reverso. Os resultados no modo reverso foram melhores. O Assistente recebe sinais de uma média móvel calculada dinamicamente, então não há parâmetros para otimização. Mas você pode pensar no que adicionar ao EA. Por exemplo, stops móveis poderiam ser aplicados às posições abertas.

Fig.1,2 Resultados dos testes.

Lista
Comentário 0