L'indicatore MACD è uno strumento versatile che puoi applicare a qualsiasi timeframe, sia esso più alto o più basso rispetto a quello attuale del grafico.
I valori possono essere calcolati in base a qualsiasi tipo di prezzo comune. Quando applichi l'indicatore a un timeframe inferiore a quello del grafico attuale, non sarà possibile visualizzare tutti i valori. In questo caso, a seconda del tipo di prezzo scelto, verrà utilizzato un approccio diverso per fornire il valore più appropriato.
Ecco due esempi:
- timeframe_1=5 minuti, timeframe_2=1 minuto, calcoli basati sulla serie di prezzi Close:
Per ogni candela su timeframe_1, l'indicatore mostrerà l'ultima candela di timeframe_2 con un tempo di chiusura prima o uguale a quello della candela su timeframe_1. Questo vale sia per le candele chiuse che per quella attualmente aperta.
- timeframe_1=5 minuti, timeframe_2=1 minuto, calcoli basati sulla serie di prezzi Open:
Per ogni candela su timeframe_1, l'indicatore mostrerà l'ultima candela di timeframe_2 con un tempo di apertura prima o uguale a quello della candela su timeframe_1. Anche in questo caso, il ragionamento è che se scegli di calcolare i tuoi indicatori sul tempo di apertura di una candela, probabilmente traderai quando si apre una nuova candela. Così, all'apertura di una nuova candela da 5 minuti, conoscerai solo l'apertura della prima delle cinque candele da 1 minuto che ne fanno parte. Le aperture delle candele successive vengono ignorate nei calcoli.
Puoi combinare qualsiasi timeframe con un altro, anche se non sono sincronizzati, ad esempio timeframe_1 = 5 minuti e timeframe_2 = 12 minuti. L'indicatore si assicurerà di mantenerli sincronizzati, seguendo un approccio simile a quello degli esempi precedenti.
Il file Excel allegato (Conversion between timeframes.zip) contiene esempi di tutte le possibili combinazioni e una spiegazione più visiva. Ti consiglio di dare un'occhiata anche al codice sorgente per capire come funziona. Spero che ti aiuti a costruire i tuoi indicatori multi-timeframe.
Quando cambi timeframe, concedi qualche secondo affinché i dati di prezzo vengano caricati. Se l'indicatore non viene visualizzato, aggiorna manualmente il grafico.
Requisiti:
- MovingAverages.mqh (file di inclusione predefinito nella cartella terminal_data_folder\MQL5\Include)
- MACD_Histogram_MC (pubblicato anche su mql5.com)
Posiziona sia MACD Histogram_MTF_MC.mq5 che MACD_Histogram_MC.mq5 nella cartella terminal_data_folder\MQL5\Indicators affinché l'indicatore funzioni correttamente.
Controlla nel sorgente per attivare/disattivare i messaggi di errore:
bool ShowErrorMessages=false; // attiva/disattiva i messaggi di errore per il debug

Storico aggiornamenti:
2010 09 26: v03
- Migliorata la visualizzazione dei valori su timeframe più piccoli rispetto a quello del grafico;
- Impostati i buffer a EMPTY_VALUE invece di 0 dopo: if(convertedTime<tempTimeArray_TF2[0]);
- Ottimizzazione del codice;
- Rimosso PLOT_DRAW_BEGIN da OnInit() - ereditato dall'indicatore a singolo timeframe;
- Spostato ArraySetAsSeries di buffer e array in OnInit();
- Aggiunti MODE_SMMA e MODE_LWMA come metodi MA per la linea del segnale;
- Reso ENUM_APPLIED_PRICE l'ultimo parametro di input nella lista;
2010 08 28: v02B
- Indicatore pubblicato per la prima volta;
Post correlati
- Indicatori ZigZag Potenziati: Scopri le Nuove Funzionalità per MetaTrader 4
- Indice di Volatilità Chaikin: Scegli il Giusto Algoritmo di Smussamento per MetaTrader 5
- Indicatore Donchian Ultimate per MT4: Scopri tutte le Funzionalità
- HP Extrapolator: Scopri Come Ottimizzare le Previsioni con il Filtro Hodrick-Prescott
- Volatilità Stocastica: Indicatore per MetaTrader 5 da Utilizzare sul Grafico