MetaTrader4
Comprendre le Template d'Indicateur de Divergences pour MetaTrader 4
Comment fonctionne le template ? Ce template d'indicateur est conçu pour tracer des divergences en fonction de l'oscillateur de votre choix. En fonction de l'oscillateur que vous sélectionnez (que ce soit le CCI, le RSI ou même votre propre indicateur personnalisé), vous pouvez modifier cette partie du code : /////////////////////////////////////////////
//Chargement des données de l'indicateur dans le buffer
//Vous pouvez facilement remplacer le RSI par n'importe quel indicateur de votre choix
int BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,1);
for(int i=BARS;i>=0;i--)
{
indicatorBuffer[i]=iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE, i);
}
//Fin de la section de chargement de l'indicateur
/////////////////////////////////////////////
Buffers de signaux Ce template comprend quatre buffers différents pour suivre les signaux générés. Un signal est émis chaque fois qu'un buffer correspondant contient une valeur non vide. SetIndexBuffer(3,bull_reg_divBuffer);
SetIndexBuffer(4,bear_reg_divBuffer);
SetIndexBuffer(5,bull_hid_divBuffer);
SetIndexBuffer(6,bear_hid_divBuffer);
Section des entrées input int pivots_period=5; //période pour trouver les pivots de l'indicateur
input int alert_confirm_candles=1; //nombre de bougies pour la confirmation (0=désactiver l'alerte)
La recherche des hauts de pivots et des bas de pivots dans indicatorBuffer dépend de l'entrée pivots_period. Plus vous choisissez une valeur élevée, plus l'indicateur cherchera de grandes variations pour détecter d'éventuelles divergences. Un autre paramètre est alert_confirm_candles, qui définit combien de bougies attendre pour confirmer un signal. Les indicateurs de divergence sont souvent retardés et émettent de nombreux faux signaux. En choisissant une valeur plus élevée, vous réduisez le nombre de faux signaux, mais cela implique d'attendre plus longtemps. C'est une question de compromis entre des signaux en temps réel ou confirmés. En général, il n'est pas recommandé d'appliquer pivots_period < 2. Problème de Repaint Les indicateurs qui reposent sur des calculs de pivots doivent attendre aussi longtemps que pivots_period pour obtenir une confirmation des récents hauts/bas. Cet indicateur doit donc repeindre les signaux jusqu'à pivots_period en arrière dans le temps. BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,pivots_period);
for(int i=BARS;i>=0;i--)
{
PHBuffer[i]=pivothigh(indicatorBuffer, pivots_period, pivots_period, i);
PLBuffer[i]=pivotlow(indicatorBuffer, pivots_period, pivots_period, i);
bull_reg_divBuffer[i]=BullRegDiv(i);
bear_reg_divBuffer[i]=BearRegDiv(i);
bull_hid_divBuffer[i]=BullHidDiv(i);
bear_hid_divBuffer[i]=BearHidDiv(i);
}
2024.03.10