//+------------------------------------------------------------------+ //| Bogie-ATR_SMA-IND-v2.mq4 | //| Copyright © 2010, Bogie Enterprises | //| http://www.bogie-enterpeises.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, Bogie Enterprises" #property link "http://www.bogie-enterprises.com" #property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Yellow int ATRPeriodNumber = 40; // setting will be adjusted in init()based on time frame int MAPeriodNumber = 21; // setting will be adjusted in init() //---- buffers double OHLCBuffer1[]; double OHLCBuffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- 1 additional buffer used for counting. IndicatorBuffers(2); IndicatorDigits(Digits); //---- indicator line SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,OHLCBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,OHLCBuffer2); //---- name for DataWindow and indicator subwindow label short_name="Bogie-ATR_SMA-IND-v1"; IndicatorShortName(short_name); SetIndexLabel(0,short_name); //---- if(Period() >= 60) {ATRPeriodNumber = 10; MAPeriodNumber = 8;} if(Period() == 30) {ATRPeriodNumber = 20; MAPeriodNumber = 10;} if(Period() == 15) {ATRPeriodNumber = 40; MAPeriodNumber = 21;} if(Period() == 5) {ATRPeriodNumber = 120; MAPeriodNumber = 63;} if(Period() == 1) {ATRPeriodNumber = 600; MAPeriodNumber = 315;} return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int i,counted_bars=IndicatorCounted(); //---- if(Bars<=Period()) return(0); //---- int limit=Bars-counted_bars; if(counted_bars>0) limit++; for(i=0; i=0) { OHLCBuffer1[i]=iMAOnArray(OHLCBuffer2,Bars,MAPeriodNumber,0,MODE_SMA,i); i--; } //---- return(0); } //+------------------------------------------------------------------+