Macd Indicator Required
|
|||
|
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 |
Divergence
|
|||
|
Here's the new divergence version
__________________
My Forex blog |
|
|||
|
Quote:
__________________
My Forex blog |
|
|||
|
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 ? Code:
----------------------------------------------------------
/*
************************************************** *******************
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[i] = iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
ind_buffer1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
clearBuffers(i);
if (b[i] < 0 ) {
if (b[i] > b[i+1]) {
ind_buffer1[i] = b[i];
ind_buffer1b[i] = 0;
} else if (b[i] < b[i+1]) {
ind_buffer1b[i] = b[i];
ind_buffer1[i] = 0;
}
} else if (b[i] > 0) {
if (b[i] < b[i+1]) {
ind_buffer2[i] = b[i];
ind_buffer2b[i] = 0;
} else if (b[i] > b[i+1]) {
ind_buffer2b[i] = b[i];
ind_buffer2[i] = 0;
}
}
ind_buffer3[i]=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[i]=iMAOnArray(ind_buffer3,Bars,SignalSMA,0,MODE_SMA, i);
}
return(0);
}
void clearBuffers (int i) {
ind_buffer1[i] = NULL;
ind_buffer1b[i] = NULL;
ind_buffer2[i] = NULL;
ind_buffer2b[i] = NULL;
}
--------------------------------------------------
Last edited by bossxero; 09-21-2007 at 12:36 PM. Reason: coded |
![]() |
| Bookmarks |
«
Previous Thread
|
Next Thread
»
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| moving average and macd | MuppetMan | Indicators | 18 | 02-12-2010 08:07 PM |
| JMA MACD and JMA CCI Indicators for MetaTrader | scorpion | Indicators | 23 | 11-26-2009 07:53 PM |
| EMA Wave / CCI / MACD Hist combined indicator | jluyt | Indicators | 0 | 03-10-2007 06:27 AM |
| MACD Sample EA | Jovager | Trading Systems | 0 | 11-02-2006 02:42 PM |
| ZeroCode: Create a simple MACD Cross expert | scorpion | Tutorials, Tips & Tricks | 2 | 06-08-2005 03:23 PM |
All times are GMT. The time now is 11:48 AM.
Registered members gain free access to online FOREX currency trading tools, foreign exchange software, Metatrader MT4/MT5 expert advisors, MT4 indicators and EAs. Register now


4Likes











Linear Mode

