Indicateurs multitemporels - page 737

 

Bonjour M

Vous avez raison

Voici le Macd que j'ai utilisé, je le compare au vôtre.

Voici le code, vous semble-t-il correct ?

//+------------------------------------------------------------------+

//| MACD avec croisement.mq4 |

//| Copyright © 2004, MetaQuotes Software Corp. |

//| Plate-forme de trading MetaTrader 5 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

//---- paramètres de l'indicateur

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Gold

#property indicator_color2 Red

#property indicator_color3 Gray

#property indicator_width1 2

//---- paramètres de l'indicateur

extern int FastEMA=12 ;

extern int SlowEMA=26 ;

extern int SignalSMA=9 ;

//---- tampons de l'indicateur

double MacdBuffer[] ;

double SignalBuffer[] ;

double HistogramBuffer[] ;

//---- globaux

int maxLines ;

//+------------------------------------------------------------------+

//| Fonction d'initialisation de l'indicateur personnalisé

//+------------------------------------------------------------------+

int init()

{

SetIndexStyle(0,DRAW_LINE) ;

SetIndexStyle(1,DRAW_LINE) ;

SetIndexStyle(2,DRAW_HISTOGRAM) ;

//

SetIndexBuffer(0,MacdBuffer) ;

SetIndexBuffer(1,SignalBuffer) ;

SetIndexBuffer(2,HistogramBuffer) ;

//

SetIndexLabel(0, "MACD") ;

SetIndexLabel(1, "Signal") ;

SetIndexLabel(2, "MACD-Signal") ;

//

SetIndexDrawBegin(1,SignalSMA) ;

IndicatorDigits(Digits+1) ;

IndicatorShortName("MACD("+FastEMA+", "+SlowEMA+", "+SignalSMA+")") ;

retour(0) ;

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int deinit()

{

DeleteLines() ;

retour(0) ;

}

//+------------------------------------------------------------------+

//| Convergence/Divergence des Moyennes Mobiles |

//+------------------------------------------------------------------+

int start()

{

double croisement ;

int limite,i ;

int counted_bars=IndicatorCounted() ;

//----

if(counted_bars>0) counted_bars-- ;

limit=Bars-counted_bars ;

//----

for(i=0 ; i<limit ; i++) MacdBuffer=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i) ;

for(i=0 ; i<limit ; i++)

{

SignalBuffer=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i) ;

HistogramBuffer=MacdBuffer - SignalBuffer ;

}

//----

DeleteLines() ;

for(i=WindowBarsPerChart() ; i>0 ;i--)

{

crossing=(MacdBuffer-SignalBuffer)*(MacdBuffer-SignalBuffer) ;

si (croisement < 0)

{

maxLines+=1 ;

ObjectCreate("MacdCross "+maxLines,0,0,Time,0) ;

ObjectSet("MacdCross "+maxLines,OBJPROP_COLOR,DimGray) ;

ObjectSet("MacdCross "+maxLines,OBJPROP_STYLE,STYLE_DOT) ;

}

}

return(0) ;

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void DeleteLines()

{

for(int i=1;i<=maxLines;i++) ObjectDelete("MacdCross "+i) ; maxLines=0 ;

}

//+------------------------------------------------------------------+

Pouvez-vous me dire comment ajouter la MTF à celle-ci, juste pour le savoir ?

Thx

Dossiers :
 
rkhan1:
Bonjour M

Vous avez raison.

Voici le Macd que j'ai utilisé, je le compare au vôtre.

Voici le code, vous semble-t-il correct ?

//+------------------------------------------------------------------+

//| MACD avec croisement.mq4 |

//| Copyright © 2004, MetaQuotes Software Corp. |

//| Plate-forme de trading MetaTrader 5 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

//---- paramètres de l'indicateur

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Gold

#property indicator_color2 Red

#property indicator_color3 Gray

#property indicator_width1 2

//---- paramètres de l'indicateur

extern int FastEMA=12 ;

extern int SlowEMA=26 ;

extern int SignalSMA=9 ;

//---- tampons de l'indicateur

double MacdBuffer[] ;

double SignalBuffer[] ;

double HistogramBuffer[] ;

//---- globaux

int maxLines ;

//+------------------------------------------------------------------+

//| Fonction d'initialisation de l'indicateur personnalisé

//+------------------------------------------------------------------+

int init()

{

SetIndexStyle(0,DRAW_LINE) ;

SetIndexStyle(1,DRAW_LINE) ;

SetIndexStyle(2,DRAW_HISTOGRAM) ;

//

SetIndexBuffer(0,MacdBuffer) ;

SetIndexBuffer(1,SignalBuffer) ;

SetIndexBuffer(2,HistogramBuffer) ;

//

SetIndexLabel(0, "MACD") ;

SetIndexLabel(1, "Signal") ;

SetIndexLabel(2, "MACD-Signal") ;

//

SetIndexDrawBegin(1,SignalSMA) ;

IndicatorDigits(Digits+1) ;

IndicatorShortName("MACD("+FastEMA+", "+SlowEMA+", "+SignalSMA+")") ;

retour(0) ;

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

int deinit()

{

DeleteLines() ;

retour(0) ;

}

//+------------------------------------------------------------------+

//| Convergence/Divergence des Moyennes Mobiles |

//+------------------------------------------------------------------+

int start()

{

double croisement ;

int limite,i ;

int counted_bars=IndicatorCounted() ;

//----

if(counted_bars>0) counted_bars-- ;

limit=Bars-counted_bars ;

//----

for(i=0 ; i<limit ; i++) MacdBuffer=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i) ;

for(i=0 ; i<limit ; i++)

{

SignalBuffer=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i) ;

HistogramBuffer=MacdBuffer - SignalBuffer ;

}

//----

DeleteLines() ;

for(i=WindowBarsPerChart() ; i>0 ;i--)

{

crossing=(MacdBuffer-SignalBuffer)*(MacdBuffer-SignalBuffer) ;

si (croisement < 0)

{

maxLines+=1 ;

ObjectCreate("MacdCross "+maxLines,0,0,Time,0) ;

ObjectSet("MacdCross "+maxLines,OBJPROP_COLOR,DimGray) ;

ObjectSet("MacdCross "+maxLines,OBJPROP_STYLE,STYLE_DOT) ;

}

}

return(0) ;

}

//+------------------------------------------------------------------+

//| |

//+------------------------------------------------------------------+

void DeleteLines()

{

for(int i=1;i<=maxLines;i++) ObjectDelete("MacdCross "+i) ; maxLines=0 ;

}

//+------------------------------------------------------------------+

Pouvez-vous me dire comment ajouter la MTF à celui-ci, juste pour le savoir ?

Thx

Celui-là utilise la SMA pour la ligne de signal - c'est le même que celui intégré à Metatrader.

 
mladen:
rkhan1 Voici la version mise à jour : mtf_ma_with_shift_nmc.mq4

Cher mladen,

est-il possible de le rendre bicolore ?

 
studbiol:
Cher mladen, est-il possible de le rendre bicolore ?

Studbiol, a ajouté une option multicolore.

 

Ma prochaine question aux généreux programmeurs :

L'indicateur ci-joint semble être un bon indicateur. Est-ce une sorte de Solarwind ou de ZigZag ? Est-ce qu'il se repeint ?

Si ce n'est pas un indicateur à repeindre, quelqu'un pourrait-il regarder pourquoi il n'apparaît pas sur TF > 240 min. et peut-être le faire fonctionner.

Merci d'avance.

Dossiers :
 
studbiol:
Ma prochaine question aux généreux programmeurs :

L'indicateur ci-joint semble être un bon indicateur. Est-ce une sorte de Solarwind ou de ZigZag ? Est-ce qu'il se repeint ?

Si ce n'est pas un indicateur à repeindre, quelqu'un pourrait-il regarder pourquoi il n'apparaît pas sur TF > 240 min. et peut-être le faire fonctionner.

Merci d'avance.

studbiol

L'activateur Gan high low ne repeint pas.

En ce qui concerne la raison pour laquelle il ne s'affiche pas : il vaut mieux utiliser une autre version (puisque celle-ci est codée pour ne fonctionner qu'en intraday, et qu'elle comporte aussi quelques erreurs).

 

Bonjour Mladen et Mrtools,

Pourriez-vous avoir la gentillesse de rendre cette superbe beauté MTF ?

Dossiers :
 

Salut les traders,

Est-ce que quelqu'un a une version de l'Oscillateur Accélérateur avec un réglage de la période ?

C'est vraiment nécessaire.

tanx

Meilleures salutations

Ali

 
za_trader:
Salut les traders,

Est-ce que quelqu'un a une version de l'Oscillateur Accélérateur avec un réglage de la période ?

C'est vraiment nécessaire.

tanx

Meilleures salutations

Ali

Voici : accelerator_periods.mq4

Dossiers :
 
Wulong10:
Bonjour Mladen et Mrtools, Auriez-vous la gentillesse de rendre cette beauté MTF ?

Je teste quelques trucs, essayez-les.

Dossiers :