//+------------------------------------------------------------------+ //| dpo_mtf.mq4 | //| | //+------------------------------------------------------------------+ //2009fxtsd #property copyright "" #property link "" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Blue extern int DPOperiod = 7; extern int DPOprice = 0; extern int DPOMAmethod = 0; extern int primeSmzPeriod = 1; extern int primeSmzMAmethod = 1; extern int TimeFrame=0; extern string MA_Method_Price = "SMA0 EMA1 SMMA2 LWMA3||0O,1C 2H3L,4Md 5Tp 6WghC: Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6"; extern string TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF"; double buffer1[]; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int init() { SetIndexBuffer(0,buffer1); if (primeSmzPeriod>1) string name =" smz ("+primeSmzPeriod+","+primeSmzMAmethod+") "; else name=" "; TimeFrame = MathMax(TimeFrame,Period()); IndicatorShortName("DPO "+DPOperiod+name+" M"+TimeFrame); SetIndexLabel(0,"DPO"); return(0); } int deinit() { return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); int limit,i; if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; if(TimeFrame!=Period()) limit = MathMax(limit,TimeFrame/Period()); for(i=limit; i>=0; i--) { if (primeSmzPeriod<1)primeSmzPeriod =1; int y = iBarShift(NULL,TimeFrame,Time[i]); buffer1[i] = iMA(NULL, TimeFrame, primeSmzPeriod, 0, primeSmzMAmethod, DPOprice, y)- iMA(NULL, TimeFrame, DPOperiod, 0, DPOMAmethod, DPOprice, y); } return(0); }
Sample
Analysis
Market Information Used:
Series array that contains open time of each bar
Indicator Curves created:
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features: