indicateur osma macd
Forums › ProRealTime forum Français › Support ProBuilder › indicateur osma macd
- This topic has 11 replies, 3 voices, and was last updated 4 years ago by flexi2202.
-
-
03/16/2020 at 12:08 PM #122233
bonjour a tous
je suis a la recherche de l indicateur osma
j ai pu trouver différentes versions mais aucune ne me convient notamment celle ci
fastMA = exponentialAverage[12](close)slowMA = exponentialAverage[26](close)myMACD = fastMA – slowMAline = Average[9](myMACD)osc = myMACD – lineReturn osc As “Osc” ,0 As “Null”a cette page
https://www.prorealcode.com/reply/69948/
ce que je recherche plus précisément c est de pouvoir convertir ce code MT4
bien évidement sans les alertes mais avec les lignes signal et macd et l histo qui change de couleur
j ai essayer avec ce code mais l histogramme ne donne pas le bon schéma
merci de l aide
// Paramètres
C = 12
L = 26
S = 9MMC = exponentialAverage[C](close)
MML = exponentialAverage[L](close)MACDHisto = MMC – MML
ligne = exponentialAverage[S](MACDHisto)
IF MACDHisto >= MACDHisto[1] THEN
r = 0
g = 255
b = 0
ELSIF MACDHisto < MACDHisto[1] THEN
r = 255
g = 0
b = 0
ENDIF
RETURN MACDHisto coloured(r,g,b) as “MACD Histogramme”, MACDhisto COLOURED(0,0,250) as “ligne”, ligne coloured(250,0,0) as “Signal”voici le code trouve sur mt4
//+——————————————————————+
//| MACD_ColorHist_Alert.mq4 |
//| Copyright © 2006, Robert Hill |
//| |
//+——————————————————————+
#property copyright “Copyright © 2006, Robert Hill”
//—- indicator settings
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Lime
#property indicator_color4 Red#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2//—- indicator parameters
extern bool SoundON=False;
extern bool EmailON=false;extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
//—- indicator buffers
double ind_buffer1[];
double ind_buffer2[];
double HistogramBufferUp[];
double HistogramBufferDown[];
int flagval1 = 0;
int flagval2 = 0;
//—- variables//+——————————————————————+
//| Custom indicator initialization function |
//+——————————————————————+
int init()
{
//—- drawing settings
// IndicatorBuffers(3);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID);
SetIndexBuffer(0,ind_buffer1);
SetIndexDrawBegin(0,SlowEMA);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID);
SetIndexBuffer(1,ind_buffer2);
SetIndexDrawBegin(1,SignalSMA);
SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID);
SetIndexBuffer(2,HistogramBufferUp);
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID);
SetIndexBuffer(3,HistogramBufferDown);
// SetIndexDrawBegin(2,SlowEMA + SignalSMA);
//—- name for DataWindow and indicator subwindow label
IndicatorShortName(“MACD(“+FastEMA+”,”+SlowEMA+”,”+SignalSMA+”)”);
SetIndexLabel(0,”MACD”);
SetIndexLabel(1,”Signal”);
SetIndexLabel(2,”Histogram”);//—- initialization done
return(0);
}
//+——————————————————————+
//| Moving Averages Convergence/Divergence |
//+——————————————————————+
int start()
{
int limit;
double temp;int counted_bars=IndicatorCounted();
//—- check for possible errors
if(counted_bars<0) return(-1);
//—- last counted bar will be recounted
if(counted_bars>0) counted_bars–;
limit=Bars-counted_bars;
//—- macd counted in the 1-st buffer
for(int i=0; i<limit; i++)
ind_buffer1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//—- signal line counted in the 2-nd buffer
for(i=0; i<limit; i++)
ind_buffer2[i]=iMAOnArray(ind_buffer1,Bars,SignalSMA,0,MODE_SMA,i);
// ind_buffer2[i] = alpha*ind_buffer1[i] + alpha_1*ind_buffer2[i+1];for(i=0; i<limit; i++)
{
HistogramBufferUp[i] = 0;
HistogramBufferDown[i] = 0;
temp = ind_buffer1[i] – ind_buffer2[i];
if (temp >= 0)
HistogramBufferUp[i] = temp;
else
HistogramBufferDown[i] = temp;if (i == 1)
{
if (HistogramBufferUp[i] > 0 && HistogramBufferDown[i + 1] < 0)
// if (HistogramBufferUp[i] > HistogramBufferUp[i + 1])
{
// Cross up
if (flagval1==0)
{
flagval1=1;
flagval2=0;
if (SoundON) Alert (“Macd Cross Up! “,Symbol(),” “,Period(),” @ “,Bid);
if (EmailON) SendMail(“MACD Crossed up”, “MACD Crossed up, Date=”+TimeToStr(CurTime(),TIME_DATE)+” “+TimeHour(CurTime())+”:”+TimeMinute(CurTime())+” Symbol=”+Symbol()+” Period=”+Period());
}
}
else if (HistogramBufferDown[i] < 0 && HistogramBufferUp[i + 1] > 0)
// else if (HistogramBufferUp[i] < HistogramBufferUp[i + 1] )
{
// Cross down
if (flagval2==0)
{
flagval2=1;
flagval1=0;
if (SoundON) Alert (“Macd Cross Down! ” ,Symbol(),” “,Period(),” @ “,Bid);
if (EmailON) SendMail(“MACD Crossed down”,”MACD Crossed Down, Date=”+TimeToStr(CurTime(),TIME_DATE)+” “+TimeHour(CurTime())+”:”+TimeMinute(CurTime())+” Symbol=”+Symbol()+” Period=”+Period());
}
}
}}
//—- done
return(0);
}03/16/2020 at 1:03 PM #122240je viens de retrouver ce code aussi
mais il me manque les deux lignes “signal et macd et les couleurs sur l histo ”
123456789// ParamètresC = 12L = 26S = 9MMC = exponentialAverage[C](close)MML = exponentialAverage[L](close)MACDHisto = MMC – MMLligne = Average[S](MACDHisto)RETURN MACDHisto – ligne as “MACD Histogramme”03/16/2020 at 1:14 PM #122241>> Pour la clarté des messages sur les forums de ProRealCode, merci d’utiliser le bouton “insert PRT code” pour séparer la partie texte de la partie code, merci ! << 🙂
03/16/2020 at 2:50 PM #12224803/16/2020 at 3:57 PM #12225103/16/2020 at 4:01 PM #12225603/16/2020 at 4:14 PM #12226103/16/2020 at 4:15 PM #12226203/16/2020 at 4:24 PM #12226603/16/2020 at 7:17 PM #12228603/16/2020 at 8:10 PM #122287OsMa est la différence entre tous OScillators et sa MA (moyenne mobile).
Dans le MACD, c’est l’histogramme affiché sous forme de ligne au lieu d’un histogramme. Vous devez utiliser les propriétés pour changer l’histogramme en ligne.
Ensuite, sur l’oscillateur, vous verrez 3 lignes, vous pouvez rendre n’importe lequel d’entre eux INVISIBLE avec les propriétés.
03/17/2020 at 12:15 AM #122299 -
AuthorPosts
Find exclusive trading pro-tools on