FT CCI MA: Sistema de Trading para MetaTrader 5

Mike 2018.11.20 21:46 15 0 0
Anexo

Autor da ideia - Vasiliy

Autor do código mq5 - barabashkakvn

Essa EA (Expert Advisor) utiliza os indicadores iCCI (Índice de Canal de Commodities, CCI) e iMA (Média Móvel, MA).

Quando a MA indica alta, o indicador iCCI opera com os seguintes parâmetros: -100 para compra e 200 para venda!

Por outro lado, quando a MA mostra uma tendência de baixa, o iCCI opera com 100 para compra e -200 para venda!

Dessa forma, durante movimentos intensos, as operações "incorretas" são minimizadas. A EA busca capturar o movimento restante!

Você pode incluir um intervalo de tempo para as operações (o parâmetro Usar Intervalo de Tempo habilita/desabilita essa funcionalidade). O intervalo de tempo é ajustado entre a Hora de Início e a Hora de Fim. É possível definir esse intervalo tanto dentro do mesmo dia quanto com transição entre dias. Um exemplo é fornecido na função que define o intervalo de tempo:

//+------------------------------------------------------------------+
//| Controle de Tempo                                                      |
//+------------------------------------------------------------------+
bool ControleDeTempo(void)
  {
   MqlDateTime STimeAtual;
   datetime tempo_atual=TimeCurrent();
   if(tempo_atual==D'1970.01.01 00:00')
      return(false);
   TimeToStruct(tempo_atual,STimeAtual);
   if(InpHoraInicio<InpHoraFim) // intervalo intradiário
     {
/*
Exemplo:
input uchar    InpHoraInicio      = 5;        // Hora de Início
input uchar    InpHoraFim        = 10;       // Hora de Fim
0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
_  _  _  _  _  +  +  +  +  +  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  +  +  +  +  +  _  _  _  _  _  _
*/
      if(STimeAtual.hour>=InpHoraInicio && STimeAtual.hour<InpHoraFim)
         return(true);
     }
     else if(InpHoraInicio>InpHoraFim) // intervalo com transição entre dias
     {
/*
Exemplo:
input uchar    InpHoraInicio      = 10;       // Hora de Início
input uchar    InpHoraFim        = 5;        // Hora de Fim
0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
_  _  _  _  _  _  _  _  _  _  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  _  _  _  _  _  +  +  +  +  +  +
*/
      if(STimeAtual.hour>=InpHoraInicio || STimeAtual.hour<InpHoraFim)
         return(true);
     }
     else
      return(false);
//---
   return(false);
  }



Lista
Comentário 0