| New signals service! | |
|
|||||||
| Register in Forex TSD! | |
|
Trading Systems Leaders in this forum (automated trading systems) are winning more than 3000 pips in a month (30000$ investing one lot every time). Click here to register and get more information |
|
![]() |
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
Great ATR indicator. Little uprgrade needed
I would like this indicator to post on the screen what the value is at the current time. It is hard putting the mouse on the right place. Here is the code.
//+------------------------------------------------------------------+ //| ATR Channels.mq4 | //| Metaquotes| //| http://www.Metaquotes.net| //+------------------------------------------------------------------+ #property copyright "Copyright © 2005, Metaquotes" #property link "http://www.Metaquotes.net" #property indicator_chart_window #property indicator_buffers 7 #property indicator_color1 Green //Moving Average #property indicator_color2 DeepSkyBlue // Lower band 1 #property indicator_color3 DeepSkyBlue // Upper band 1 #property indicator_color4 Blue // Lower band 2 #property indicator_color5 Blue // Upper band 2 #property indicator_color6 Black // Lower band 3 #property indicator_color7 Black // Upper band 3 //---- indicator buffers double MA_Buffer0[]; double Ch1up_Buffer1[]; double Ch1dn_Buffer2[]; double Ch2up_Buffer3[]; double Ch2dn_Buffer4[]; double Ch3up_Buffer5[]; double Ch3dn_Buffer6[]; //---- input parameters extern int PeriodsATR = 30; extern int MA_Periods = 1; extern int MA_type = MODE_OPEN; extern double Mult_Factor1 = 0.7; extern double Mult_Factor2 = 1.0; extern double Mult_Factor3 = 0.0; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string mat; //---7- indicators // MA SetIndexStyle(0, DRAW_LINE); SetIndexBuffer(0, MA_Buffer0); SetIndexDrawBegin(0, MathMax(PeriodsATR, MA_Periods)); // ATR 1 up SetIndexStyle(1, DRAW_LINE); SetIndexBuffer(1, Ch1up_Buffer1); SetIndexDrawBegin(1, MathMax(PeriodsATR, MA_Periods)); string sATRu1 = StringConcatenate("ATRu(", PeriodsATR, ", ", Mult_Factor1, ")"); SetIndexLabel(1, sATRu1); // ATR 1 down SetIndexStyle(2, DRAW_LINE); SetIndexBuffer(2, Ch1dn_Buffer2); SetIndexDrawBegin(2, MathMax(PeriodsATR, MA_Periods)); string sATRd1 = StringConcatenate("ATRd(", PeriodsATR, ", ", Mult_Factor1, ")"); SetIndexLabel(2, sATRd1); // ATR 2 up SetIndexStyle(3, DRAW_LINE); SetIndexBuffer(3, Ch2up_Buffer3); SetIndexDrawBegin(3, MathMax(PeriodsATR, MA_Periods)); string sATRu2 = StringConcatenate("ATRu(", PeriodsATR, ", ", Mult_Factor2, ")"); SetIndexLabel(3, sATRu2); // ATR 2 down SetIndexStyle(4, DRAW_LINE); SetIndexBuffer(4, Ch2dn_Buffer4); SetIndexDrawBegin(4, MathMax(PeriodsATR, MA_Periods)); string sATRd2 = StringConcatenate("ATRd(", PeriodsATR, ", ", Mult_Factor2, ")"); SetIndexLabel(4, sATRd2); // ATR 3 up SetIndexStyle(5, DRAW_LINE); SetIndexBuffer(5, Ch3up_Buffer5); SetIndexDrawBegin(5, MathMax(PeriodsATR, MA_Periods)); string sATRu3 = StringConcatenate("ATRu(", PeriodsATR, ", ", Mult_Factor3, ")"); SetIndexLabel(5, sATRu3); // ATR 3 down SetIndexStyle(6, DRAW_LINE); SetIndexBuffer(6, Ch3dn_Buffer6); SetIndexDrawBegin(6, MathMax(PeriodsATR, MA_Periods)); string sATRd3 = StringConcatenate("ATRd(", PeriodsATR, ", ", Mult_Factor3, ")"); SetIndexLabel(6, sATRd3); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { if(Bars <= MathMax(PeriodsATR, MA_Periods)) return(0); int fixed_bars = IndicatorCounted(); //---- check for possible errors if(fixed_bars < 0) return(-1); //---- last counted bar will be recounted if(fixed_bars > 0) fixed_bars--; int limit = Bars - fixed_bars; //---- for(int i = 0; i < limit; i++) { double atr = iATR(NULL, 0, PeriodsATR, i); double ma = iMA(NULL, 0, MA_Periods, 0, MA_type, PRICE_OPEN, i); MA_Buffer0[i] = ma; Ch1up_Buffer1[i] = ma + atr*Mult_Factor1; Ch1dn_Buffer2[i] = ma - atr*Mult_Factor1; Ch2up_Buffer3[i] = ma + atr*Mult_Factor2; Ch2dn_Buffer4[i] = ma - atr*Mult_Factor2; Ch3up_Buffer5[i] = ma + atr*Mult_Factor3; Ch3dn_Buffer6[i] = ma - atr*Mult_Factor3; } //---- return(0); } //+------------------------------- |
![]() |
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Would some Coder Experts Modify this Great Indicator ? | iinzall | Metatrader 4 | 4 | 08-24-2007 11:57 PM |
| Great indicator but bugged please fix it! | sentaco | Indicators - Metatrader 4 | 10 | 03-22-2007 02:21 AM |
| Great indicator - partly converted from MQ3 | leeb | Indicators - Metatrader 4 | 11 | 01-24-2007 06:48 PM |
| Need help with great indicator | bhale | Metatrader 4 | 18 | 12-12-2006 01:10 PM |