Unisciti alla nostra fan page
MQL5 Wizard - Segnali di trading basati sul crossover delle linee principali e di segnale dell'indicatore MACD - sistema esperto per MetaTrader 5
- Visualizzazioni:
- 401
- 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 fornisce la creazione automatica di Expert Advisors (vedi MQL5 Wizard: Creating Expert Advisors without Programming).
Qui considereremo i segnali di trading basati sul crossover delle linee dell'indicatore MACD. La strategia chiamata "Signals based on crossover of main and signal MACD lines" (quando si crea EA automaticamente nel MQL5 Wizard).
La linea principale dell'indicatore MACD è calcolata come differenza tra l'EMA veloce e l'EMA lento. The signal line of MACD is calculated as the main line, smoothed with PeriodSignal period.
I segnali di trading:
- Comprare: incrocio al rialzo delle linee principali e di segnale dell'indicatore MACD.
- Vendere: incrocio al ribasso delle linee principali e di segnale dell'indicatore MACD.
Questa strategia è implementata nella classe CSignalMACD che apartiene alle Trading Strategy classes della MQL5 Standard Library (che si trova nel MQL5\Include\Expert\Signal\SignalMACD.mqh).
Figura 1. Segnali di trading, basati sul crossover delle linee MACD principali e di segnale
Trade signals
La strategia di trading è implementata nella classe CSignalMACD , ha alcuni metodi protetti per semplificare l'accesso ai valori dell'indicatore:
double MainMACD(int ind) // restituisce il valore della linea MACD principale della barra double SignalMACD(int ind) // restituisce il valore della linea MACD del segnale della barra double StateMACD(int ind) // restituisce la differenza tra le linee del MACD principale e del segnale int ExtStateMACD(int ind); // restituisce il numero di cambi di segno della differenza tra linee principali e linee di segnale
1. Apertura posizione long
Condizioni per aprire una posizione long:
- ExtStateMACD(1)==1; it means that main line has crossed upward the signal MACD line
//+------------------------------------------------------------------+ //| Checks conditions to open long position (buy) | //+------------------------------------------------------------------+ bool CSignalMACD::CheckOpenLong(double& price,double& sl,double& tp,datetime& expiration) { price=0.0; sl =m_symbol.Ask()-m_stop_loss*m_adjusted_point; tp =m_symbol.Ask()+m_take_profit*m_adjusted_point; //--- return(ExtStateMACD(1)==1); }
2. Chiusura posizione long
Condizioni per chiudere la posizione long:
- ExtStateMACD(1)==1; significa che la linea principale ha attraversato verso il basso la linea MACD del segnale
//+------------------------------------------------------------------+ //| Checks conditions to close long position | //+------------------------------------------------------------------+ bool CSignalMACD::CheckCloseLong(double& price) { price=0.0; //--- return(ExtStateMACD(1)==-1); }
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 CSignalMACD::CheckOpenShort(double& price,double& sl,double& tp,datetime& expiration) { price=0.0; sl =m_symbol.Bid()+m_stop_loss*m_adjusted_point; tp =m_symbol.Bid()-m_take_profit*m_adjusted_point; //--- return(ExtStateMACD(1)==-1); }
4. Chiusura posizione short
Le condizioni per chiudere una posizione short sono le stesse di quelle di apertura di una posizione long.
//+------------------------------------------------------------------+ //| Checks conditions to close short position | //+------------------------------------------------------------------+ bool CSignalMACD::CheckCloseShort(double& price) { price=0.0; //--- return(ExtStateMACD(1)==1); }
Creazione Expert Advisor con MQL5 Wizard
Per creare un robot di trading basato sulla strategia è necessario scegliere le proprietà del segnale come "Signals based on crossover of main and signal MACD lines" nell'opzione "Creating Ready-Made Expert Advisors" del MQL5 Wizard:
Figura 2. Seleziona "Signals based on crossover of main and signal MACD lines" nel MQL5 Wizard
Successivamente si deve specificare trailing stop 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.
Risultati di test
Consideriamo il backtesting dell'Expert Advisor su dati storici (EURUSD H1, periodo di test: 1.1.2010-05.01.2011, PeriodFast=12, PeriodSlow=24, PeriodSignal=9, StopLoss=20, TakeProfit=80).
Nella creazione di Expert Advisor abbiamo usato il lotto fisso (Trading Fixed Lot, 0.1), algoritmo di Trailing Stop non è stato usato (Trailing not used).
Figura 3. Risultati dei test dell'Expert Advisor con segnali di trading, basati sul incroccio delle linee MACD
Allegati: The SignalMACD.mqh con classe CSignalMACD (che è inclusa in MQL5 Standard Library) si trova nella cartella MQL5\Include\Expert\Signal. Il testmacd.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/262
Si considerano i segnali di trading basati sull'incrocio dei prezzi di due medie mobili smussate esponenzialmente. 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 crossover di prezzo con media mobile, confermati da ADXVengono 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.
Vengono 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.
MQL5 Wizard - Segnali di trading basati sul crossover delle linee dell'indicatore AlligatorVengono considerati i segnali di trading basati sul crossover delle linee dell'indicatore tecnico Alligator. Il codice dell'Expert Advisor basato su questa strategia può essere generato automaticamente utilizzando il Wizard MQL5.