Home Trading Sistematico Post

Proffessor v3: Il Sistema di Trading per MetaTrader 5

Allegato
22084.zip (5.32 KB, Scarica 0 volte)

Autore dell'idea: vitaly

Autore del codice MQL5: barabashkakvn

La strategia di trading è semplice. Si apre una posizione di acquisto o vendita, protetta da un ordine di stop in sospeso a una distanza di Delta 1. Successivamente, viene creato un grid composto da ordini pendenti Limit o Stop a una distanza di Delta 2 l'uno dall'altro. Il numero di ordini pendenti in ciascuna direzione è impostato in Max Lines. Gli ordini pendenti (Buy Limit, Sell Limit, Buy Stop e Sell Stop) vengono impostati tramite una funzione unica PendingOrder, alla quale vengono passati un tipo di ordine (order_type), volume (volume), stop loss (sl) e take profit (tp).

//+------------------------------------------------------------------+
//| Ordine pendente                                                    |
//+------------------------------------------------------------------+
void PendingOrder(ENUM_ORDER_TYPE order_type,double volume,double price,double sl,double tp)
  {
   sl=m_symbol.NormalizePrice(sl);
   tp=m_symbol.NormalizePrice(tp);

   if(m_trade.OrderOpen(m_symbol.Name(),order_type,volume,0.0,
      m_symbol.NormalizePrice(price),m_symbol.NormalizePrice(sl),m_symbol.NormalizePrice(tp)))
     {
      if(m_trade.ResultOrder()==0)
        {
         Print("#1 ",EnumToString(order_type)," -> false. Risultato Retcode: ",m_trade.ResultRetcode(),
               ", descrizione del risultato: ",m_trade.ResultRetcodeDescription());
         PrintResultTrade(m_trade,m_symbol);
        }
      else
        {
         Print("#2 ",EnumToString(order_type)," -> true. Risultato Retcode: ",m_trade.ResultRetcode(),
               ", descrizione del risultato: ",m_trade.ResultRetcodeDescription());
         PrintResultTrade(m_trade,m_symbol);
        }
     }
   else
     {
      Print("#3 ",EnumToString(order_type)," -> false. Risultato Retcode: ",m_trade.ResultRetcode(),
            ", descrizione del risultato: ",m_trade.ResultRetcodeDescription());
      PrintResultTrade(m_trade,m_symbol);
     }
//---
  }

Quando si raggiunge il target di profitto Profit Close, chiudi tutte le posizioni e rimuovi tutti gli ordini pendenti. Puoi anche chiudere tutte le posizioni e cancellare gli ordini pendenti se perdi più di Loss Close (se imposti Loss Close a 0.0, il parametro è disabilitato).

Il funzionamento dell'EA (apertura delle posizioni e impostazione degli ordini pendenti protettivi) avviene all'interno dell'intervallo di tempo di lavoro da Start hour a End hour (Start hour può essere inferiore a End hour o superarlo).


Idea principale

Analizzando il valore ADX sul timeframe Work TimeFrame. Se l'ADX è inferiore a 40, questo è considerato flat, e vengono posizionati ordini pendenti Limit. Altrimenti, si utilizzano ordini pendenti Stop;

Se DI+ è maggiore di DI-, acquista, altrimenti, vendi.


I migliori risultati di ottimizzazione dei due parametri (Current bar ADX da 0 a 2, passo 1 e Work TimeFrame da M1 a H1)

EURUSD, Current bar ADX 0, Work TimeFrame H1

Proffessor v3 EURUSD

USDJPY, Current bar ADX 2, Work TimeFrame M1

Proffessor v3 USDJPY


Nel caso di EURUSD, Current bar ADX 0, Work TimeFrame H1, ma il parametro Loss Close è impostato a "0.0"

Proffessor v3 EURUSD Loss Close 0

e USDJPY, Current bar ADX 2, Work TimeFrame M1, ma il parametro Loss Close è impostato a "0.0"

Proffessor v3 USDJPY Loss Close 0

    Post correlati

    Commento (0)