FT CCI MA: Sistema di Trading per MetaTrader 5

Mike 2018.11.20 21:46 10 0 0
Allegato

Autore dell'idea: Vasiliy

Autore del codice mq5: barabashkakvn

Questo sistema di trading utilizza gli indicatori iCCI (Commodity Channel Index, CCI) e iMA (Moving Average, MA).

Quando la MA mostra un incremento, l'indicatore iCCI è attivo: -100 per comprare e 200 per vendere!

Al contrario, quando la MA mostra un calo, l'indicatore iCCI indica: 100 per comprare e -200 per vendere!

In questo modo, durante i movimenti forti, vengono ridotti i trade "errati". Il sistema cerca quindi di catturare il movimento rimanente!

Puoi anche impostare un intervallo di tempo per il trading (il parametro Usa intervallo di tempo attiva/disattiva l'uso dell'intervallo temporale). L'intervallo di tempo è impostato dall'ora di inizio all'ora di fine. Puoi definire l'intervallo sia all'interno della giornata che con un passaggio attraverso il giorno. Ecco un esempio fornito nella funzione di definizione dell'intervallo di tempo:

//+------------------------------------------------------------------+
//| ControlloTempo                                                      |
//+------------------------------------------------------------------+
bool ControlloTempo(void)
  {
   MqlDateTime STimeCurrent;
   datetime time_current=TimeCurrent();
   if(time_current==D'1970.01.01 00:00')
      return(false);
   TimeToStruct(time_current,STimeCurrent);
   if(InpStartHour<InpEndHour) // intervallo intraday
     {
/*
Esempio:
input uchar    InpStartHour      = 5;        // Ora di inizio
input uchar    InpEndHour        = 10;       // Ora di fine
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(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else if(InpStartHour>InpEndHour) // intervallo di tempo con passaggio al giorno successivo
     {
/*
Esempio:
input uchar    InpStartHour      = 10;       // Ora di inizio
input uchar    InpEndHour        = 5;        // Ora di fine
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(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else
      return(false);
//---
   return(false);
  }



Elenco
Commento 0