Exp_Iin_MA_Signal_MMRec: Um Sistema de Trading Eficiente para MetaTrader 5

Mike 2018.10.26 00:57 12 0 0
Anexo

O sistema de trading baseado no Iin_MA_Signal oferece sinais de trading com a capacidade de ajustar o volume de uma operação futura dependendo das performances das operações anteriores. Os sinais de trading são gerados quando uma barra se fecha, indicando uma mudança de tendência (mostrada pela cor do rótulo do indicador).

Foi adicionado um bloco de variáveis de entrada para gerenciar os volumes das posições abertas:

input uint    BuyTotalMMTriger=5; // Número das últimas operações de compra para calcular o stop loss
input uint    BuyLossMMTriger=3;  // Número de operações de compra com perdas para reduzir o MM
input uint    SellTotalMMTriger=5;// Número das últimas operações de venda para calcular o stop loss
input uint    SellLossMMTriger=3; // Número de operações de venda com perdas para reduzir o MM
input double  SmallMM_=0.01;      // Parte do depósito em uma operação em caso de perda
input double  MM=0.1             // Parte do depósito em uma operação durante o trading normal
input MarginMode MMMode=LOT;      // Método de determinação do valor do lote

Com essas entradas, ao selecionar as últimas cinco operações, se três delas forem perdas em uma única direção, o EA abre a próxima operação na mesma direção com o volume de 0.01 lote. Se houver menos de três operações com perdas entre as últimas cinco, o volume da posição será de 0.1.

Este EA é uma versão aprimorada do Exp_Iin_MA_Signal. O bloco de entradas do EA foi adicionado ao código e o bloco de abertura/fechamento de posições foi modificado:

//---- Execução da operação
//---- Fechando uma posição longa pelo número mágico
   BuyPositionClose_M(BUY_Close,Symbol(),Deviation_,BuyMagic);

//---- Fechando uma posição curta pelo número mágico  
   SellPositionClose_M(SELL_Close,Symbol(),Deviation_,SellMagic);

   double mm;
//---- Abrindo uma posição longa pelo número mágico
   if(BUY_Open)
     {
      mm=BuyTradeMMRecounterS(BuyMagic,BuyTotalMMTriger,BuyLossMMTriger,SmallMM_,MM); // define o volume da posição longa dependendo dos resultados das operações anteriores
      BuyPositionOpen_M1(BUY_Open,Symbol(),UpSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,BuyMagic);
     }

//---- Abrindo uma posição longa pelo número mágico
   if(SELL_Open)
     {
      mm=SellTradeMMRecounterS(SellMagic,SellTotalMMTriger,SellLossMMTriger,SmallMM_,MM); // define o volume da posição curta dependendo dos resultados das operações anteriores
      SellPositionOpen_M1(SELL_Open,Symbol(),DnSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,SellMagic);
     }

Para que o EA funcione corretamente, o arquivo compilado Iin_MA_Signal.ex5 deve estar disponível na pasta <terminal_data_directory>\MQL5\Indicators.

Os parâmetros de entrada do Expert Advisor padrão, sem stops, foram utilizados durante os testes mostrados abaixo.

Fig. 1. Exemplos de trades no gráfico

Fig. 1. Exemplos de trades no gráfico

Resultados do teste do GBPJPY H1 ao longo do ano de 2017:

Fig. 2. Gráfico dos resultados do teste

Fig. 2. Gráfico dos resultados do teste

Lista
Comentário 0