Try this....
//+------------------------------------------------------------------+ //| test.mq4 | //| Copyright © 2010, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Chartreuse #property indicator_width1 1 #property indicator_color2 Red #property indicator_width2 1 #property indicator_color3 Lime #property indicator_width3 3 #property indicator_color4 Red #property indicator_width4 3 extern int TimeFrame=0; extern int FastEMA=7; extern int SlowEMA=19; extern int SignalSMA=7; extern int applied_price=0; extern bool ShowText=true; double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string label1 = "label1"; string label2 = "label2"; ObjectCreate(label1,OBJ_LABEL,0,0,0); ObjectSet(label1,OBJPROP_CORNER,2); ObjectSet(label1,OBJPROP_XDISTANCE,20); ObjectSet(label1,OBJPROP_YDISTANCE,10); ObjectSetText(label1,"put some text in here!",18,"Times New Roman",Lime);//check this line ObjectCreate(label2,OBJ_LABEL,0,0,0); ObjectSet(label2,OBJPROP_CORNER,2); ObjectSet(label2,OBJPROP_XDISTANCE,20); ObjectSet(label2,OBJPROP_YDISTANCE,30); ObjectSetText(label2,"put some text in here!",18,"Times New Roman",Lime);//and here add text and place semi colon at end of line //---- indicator line SetIndexStyle(0,DRAW_LINE); SetIndexStyle(1,DRAW_LINE); SetIndexStyle(2,DRAW_HISTOGRAM); SetIndexStyle(3,DRAW_HISTOGRAM); SetIndexDrawBegin(1,SignalSMA); IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+1); SetIndexBuffer(0,ExtMapBuffer1); SetIndexBuffer(1,ExtMapBuffer2); SetIndexBuffer(2,ExtMapBuffer3); SetIndexBuffer(3,ExtMapBuffer4); //---- name for DataWindow and indicator subwindow label switch(TimeFrame) { case 1 : string TimeFrameStr="Period_M1"; break; case 5 : TimeFrameStr="Period_M5"; break; case 15 : TimeFrameStr="Period_M15"; break; case 30 : TimeFrameStr="Period_M30"; break; case 60 : TimeFrameStr="Period_H1"; break; case 240 : TimeFrameStr="Period_H4"; break; case 1440 : TimeFrameStr="Period_D1"; break; case 10080 : TimeFrameStr="Period_W1"; break; case 43200 : TimeFrameStr="Period_MN1"; break; default : TimeFrameStr="ChartTimeframe"; } IndicatorShortName("MTF_MACD_inColor("+FastEMA+","+SlowEMA+","+SignalSMA+") ("+TimeFrameStr+")"); } //---- return(0); int deinit() { ObjectDelete("label1"); ObjectDelete("label2"); return(0); } //+------------------------------------------------------------------+ //| MTF MACD | //+------------------------------------------------------------------+ int start() { datetime TimeArray[]; int i,limit,y=0,counted_bars=IndicatorCounted(); // Plot defined time frame on to current time frame ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame); limit=Bars-counted_bars; for(i=0,y=0;i<limit;i++) { if (Time[i]<TimeArray[y]) y++; ExtMapBuffer1[i]=iMACD(NULL,TimeFrame,FastEMA,SlowEMA,SignalSMA,applied_price,0,y); ExtMapBuffer2[i]=iMACD(NULL,TimeFrame,FastEMA,SlowEMA,SignalSMA,applied_price,1,y); ExtMapBuffer3[i]=ExtMapBuffer1[i]-ExtMapBuffer2[i]; ExtMapBuffer4[i]=ExtMapBuffer1[i]-ExtMapBuffer2[i]; //changes below==================================================================================================================== if (ExtMapBuffer1[i] <= ExtMapBuffer2[i]) { //add braces if you need to perform more than one action ObjectSetText("label1","LONG",18,"Times New Roman",Lime); ExtMapBuffer3[i]=0; } else if (ExtMapBuffer1[i] >= ExtMapBuffer2[i])//you need to test for a true or false staement so I just guessed what it might be { ObjectSetText("label1","SHORT",18,"Times New Roman",Red); ExtMapBuffer4[i]=0; } } return(0); } //+------------------
I don't know what condition you want to test in the if and else if near the end of your code, so amend as necessary.
Hope it helps
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Hello friends this is checkmail and still being learning tried to code an MTF Macd indicator, me just wana add an text display to it, like the tui indicator but am getting lots of errors, think its on the final condition of buffers + 0.
Can anyone correct the code.