Unisciti alla nostra fan page
MQL5 Wizard - Segnali di trading basati sul crossover di due medie mobili smussate esponenzialmente - sistema esperto per MetaTrader 5
- Visualizzazioni:
- 328
- Valutazioni:
- Pubblicato:
- 2021.11.11 16:19
- Hai bisogno di un robot o indicatore basato su questo codice? Ordinalo su Freelance Vai a Freelance
MQL5 Wizard permette di creare automaticamente il codice di Expert Advisors. Da vedere Creazione di Expert Advisors già pronti in MQL5 Wizard per i dettagli.
Qui considereremo la strategia basata sul crossover di due medie mobili lisciate esponenzialmente (EMA veloce e EMA lento). La strategia chiamata "Segnali basati sull'incrocio di due EMA" (quando si crea EA automaticamente in MQL5 Wizard).
Segnali di trading:
- Comprare: l'EMA veloce incrocia verso l'alto l'EMA lento
- Vendere: l'EMA veloce incrocia al ribasso l'EMA lento
Questa strategia è implementata nella classe CSignalCrossEMA.
Figura 1. Segnali di trading, based on the crossover of two exponentially smoothed moving averages
Segnali di trading
La strategia di trading è implementata nella classe CSignalCrossEMA, ha alcuni metodi protetti per semplificare l'accesso ai valori dell'indicatore:
double FastEMA(int ind) //restituisce il valore della media mobile veloce della barra double SlowEMA(int ind) // restituisce il valore della media mobile lenta della barra double StateEMA(int ind) // restituisce la differenza tra le medie mobili veloci e lente della barra
1. Aprire posizione long
Condizioni per aprire una posizione long:
- StateEMA(1)>0 e StateEMA(2)<0: la EMA veloce ha incrociato al rialzo la EMA lenta sull'ultima barra completata.
//+------------------------------------------------------------------+ //| Checks conditions to open long position (buy) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
2. Chiusura posizione long
Condizioni per chiudere la posizione long:
- StateEMA(1)<0 e StateEMA(2)>0: la EMA veloce ha incrociato al ribasso la EMA lenta sull'ultima barra completata.
//+------------------------------------------------------------------+ //| Checks conditions to close long position | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseLong(double& price) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; //--- return(true); }
3. Apertura posizione short
Le condizioni per aprire una posizione short sono le stesse delle condizioni di chiusura delle posizioni long.
//+------------------------------------------------------------------+ //| Checks conditions to open short position (sell) | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) { if(!(StateEMA(2)>0 && StateEMA(1)<0)) return(false); //--- price=0.0; sl =0.0; tp =0.0; //--- return(true); }
4. Chiusura posizioni short
Le condizioni per chiudere una posizione corta sono le stesse di quelle di apertura di una posizione lunga.
//+------------------------------------------------------------------+ //| Checks conditions to close short position | //+------------------------------------------------------------------+ bool CSignalCrossEMA::CheckCloseShort(double& price) { if(!(StateEMA(2)<0 && StateEMA(1)>0)) return(false); //--- price=0.0; //--- return(true); }
Creazione di Expert Advisor usando MQL5 Wizard
Per creare un robot di trading basato sulla strategia è necessario scegliere le proprietà del segnale come "Signals based on crossover of two EMA" nell'opzione "Creating Ready-Made Expert Advisors" del MQL5 Wizard:
Figura 2. Seleziona "Segnali, basati sull'incrocio di due EMA" in MQL5 Wizard
Successivamente dovrete specificare l'algoritmo di trailing stop se necessario ed il sistema di gestione dei soldi e del rischio. Il codice di Expert Advisor sarà creato automaticamente, puoi compilarlo e testarlo in Strategy Tester del terminale MetaTrader 5.
Inoltre, nelle classi della libreria standard si trova "Signals based on crossover of two MA", implementato nella classe CSignalCrossMA. L'idea di trading è simile, ma fornisce molte caratteristiche aggiuntive (specificare i tipi, gli spostamenti e i metodi di mediazione e l'uso dei livelli di Take Profit e Stop Loss).
Figura 3. "Segnali basati su crossover of two MA" in MQL5 Wizard
Resultati dei test
Consideriamo il backtesting dell'Expert Advisor su dati storici (EURUSD H1, periodo di test: 1.1.2010-05.01.2011, FastPeriod=12, SlowPeriod=24).
Nella creazione di Expert Advisor abbiamo usato il lotto fisso (Trading Fixed Lot, 0.1), algoritmo per Trailing Stop non viene utilizzato (Trailing not used).
Figura 4. Risultati storici di backtesting dell'Expert Advisor, basati sul crossover di due EMA
Allegati: Il file SignalCrossEMA.mqh con la classe CSignalCrossEMA deve essere copiato nel folder terminal_data_folder\MQL5\Include\Expert\Signal folder.
The crossover_2ema.mq5 contiene il codice dell'Expert Advisor, creato con MQL5 Wizard.
Tradotto dal russo da MetaQuotes Ltd.
Codice originale https://www.mql5.com/ru/code/261
Vengono presi in considerazione i segnali di trading basati sul crossover dei prezzi con l'indicatore della media mobile confermato da ADX. Il codice dell'Expert Advisor basato su questa strategia può essere generato automaticamente utilizzando il Wizard MQL5.
Procedura guidata MQL5 - Segnali di trading basati su tre medie mobiliVengono presi in considerazione i segnali di trading basati su tre medie mobili. Il codice dell'Expert Advisor basato su questa strategia può essere generato automaticamente utilizzando il Wizard MQL5.
Si considerano i segnali di trading basati sull'incrocio delle linee principali e di segnale dell'indicatore MACD (CSignalMACD da MQL5 Standard Library). Il codice dell'Expert Advisor basato su questa strategia può essere generato automaticamente utilizzando il Wizard MQL5.
MQL5 Wizard - Segnali commerciali basati sul crossover di due EMA con filtro temporale intradayVengono considerati i segnali di trading basati sull'incrocio dei prezzi di due medie mobili lisciate esponenzialmente con filtro intraday. Il codice dell'Expert Advisor basato su questa strategia può essere generato automaticamente utilizzando il Wizard MQL5.