Macd

 

my macd has only one signal line and main bar line only. i don't have the other line. so its hard for me to find the divergence. can someone help? im using metatrader 4. thanks a lot.

 

Use this indicator for detecting divergences.

Copy to your experts->indicators folder

Hope that helps.

Files:
 

Thanks bossxero.. It does help. Happy trading. : )

 

I need a MACD that display two colors.

The standard MACD indicator that comes with Meta trader 4 only show one color.

My idea!

IF MACD histogram bars below 0 line then histogram bar color = red

IF MACD histogram bars above 0 line then histogram bar color = green

BEST WISHES,

NEWTRADER

 

Here's the new divergence version

Files:
 
newtrader1:
I need a MACD that display two colors. The standard MACD indicator that comes with Meta trader 4 only show one color. My idea! IF MACD histogram bars below 0 line then histogram bar color = red IF MACD histogram bars above 0 line then histogram bar color = green BEST WISHES, NEWTRADER

How about 4 colors.

Files:
MACD_4CZ.mq4  4 kb
 

Hi

I found the 2 color macd.

I want to use the width value 5 for histogram.

Below is the code. Can some one fix this for me ?


----------------------------------------------------------
/*

************************************************** *******************

MACD Color

************************************************** *******************

*/


#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Red // Red
#property indicator_color2 Lime // LineGreen
#property indicator_color3 Red
#property indicator_color4 Lime // LimeGreen
#property indicator_color5 Silver
#property indicator_color6 Yellow // Yellow

extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;

double ind_buffer1[];
double ind_buffer2[];
double ind_buffer1b[];
double ind_buffer2b[];
double ind_buffer3[];
double ind_buffer4[];

double b[999999];

int init() {

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2,Red);
SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2,Lime) ;
SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_SOLID,2,indic ator_color3);
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID,2,indic ator_color4);
SetIndexStyle(4,DRAW_LINE,EMPTY,1,indicator_color5 );
SetIndexStyle(5,DRAW_LINE,EMPTY,1,indicator_color6 );
SetIndexBuffer(0,ind_buffer1);
SetIndexBuffer(1,ind_buffer2);
SetIndexBuffer(2,ind_buffer1b);
SetIndexBuffer(3,ind_buffer2b);
SetIndexBuffer(4,ind_buffer3);
SetIndexBuffer(5,ind_buffer4);

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1 );

return(0);

}

int start(){

int limit;
int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

for(int i=limit; i>=0; i--) {

b = iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
ind_buffer1=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

clearBuffers(i);

if (b < 0 ) {
if (b > b[i+1]) {
ind_buffer1 = b;
ind_buffer1b = 0;
} else if (b < b[i+1]) {
ind_buffer1b = b;
ind_buffer1 = 0;
}
} else if (b > 0) {
if (b < b[i+1]) {
ind_buffer2 = b;
ind_buffer2b = 0;
} else if (b > b[i+1]) {
ind_buffer2b = b;
ind_buffer2 = 0;
}
}

ind_buffer3=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++) {
ind_buffer4=iMAOnArray(ind_buffer3,Bars,SignalSMA,0,MODE_SMA, i);
}

return(0);

}

void clearBuffers (int i) {

ind_buffer1 = NULL;
ind_buffer1b = NULL;
ind_buffer2 = NULL;
ind_buffer2b = NULL;

}
--------------------------------------------------

 

 
banzai:
How about 4 colors.

thanks for sharing , but it doesn't have signal line . only histogram has.

 

ok , nobady answers,

but i found which i wanted , and i share you

Files:
 

Grat Martin, I just look forthe same, thx for sharing

Reason: