Home Trading Sistematico Post

CrossMA: Il Sistema di Trading per MetaTrader 5 che Devi Provare

Allegato
16949.zip (4.11 KB, Scarica 0 volte)

Autore dell'idea: George F.Peskov, autore del codice MQL5: barabashkakvn.

CrossMA è un sistema di trading che si basa sull'incrocio di due medie mobili (iMA). La gestione del stop loss è automatica e si basa sul valore dell'ATR. Ogni volta che viene aperta o chiusa una posizione, riceverai una notifica via email. Inoltre, puoi personalizzare i parametri tramite backtesting.

Valori degli indicatori sulle prime due barre:

//--- Ottieni la Media Mobile
   mas=iMAGet(handle_iMA1,1);       // media mobile lunga 12
   maf=iMAGet(handle_iMA2,1);       // media mobile corta 4
   mas_p=iMAGet(handle_iMA1,2);     // media mobile lunga 12
   maf_p=iMAGet(handle_iMA2,2);     // media mobile corta 4
   Atr=iATRGet(0);

Controllo delle condizioni per la vendita:

//--- Condizione per la vendita
   if(maf<mas && maf_p>=mas_p)
     {
      double lots=LotsOptimized();
      double stop_loss=NormalizeDouble(m_symbol.Ask()+Atr,Digits());
      res=m_trade.Sell(lots,Symbol(),m_symbol.Bid(),stop_loss,0);
      if(SndMl==true && res)
        {
         sHeaderLetter="Operazione VENDITA per "+Symbol()+"";
         sBodyLetter="Operazione Vendita per "+Symbol()+" a "+DoubleToString(m_symbol.Bid(),Digits())+
                     ", e stop/loss fissato a "+DoubleToString(stop_loss,Digits())+"";
         sndMessage(sHeaderLetter,sBodyLetter);
        }
      return;
     }

Controllo delle condizioni per l'acquisto:

//--- Condizione per l'acquisto
   if(maf>mas && maf_p<=mas_p)
     {
      double lots=LotsOptimized();
      double stop_loss=NormalizeDouble(m_symbol.Bid()-Atr,Digits());
      res=m_trade.Buy(lots,Symbol(),m_symbol.Ask(),stop_loss,0);
      if(SndMl==true && res)
        {
         sHeaderLetter="Operazione ACQUISTO a "+Symbol()+"";
         sBodyLetter="Operazione Acquisto a "+Symbol()+" per "+DoubleToString(m_symbol.Ask(),Digits())+
                     ", e stop/loss fissato a "+DoubleToString(stop_loss,Digits())+"";
         sndMessage(sHeaderLetter,sBodyLetter);
        }
      return;
     }


 

Post correlati

Commento (0)