//+------------------------------------------------------------------+ //| MA_xP | //+------------------------------------------------------------------+ //2008fxtsd ki #property copyright "" #property link "" #property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 DarkSlateGray #property indicator_color2 OrangeRed #property indicator_color3 DeepSkyBlue extern int ma_period =9; extern int ma_method =1; extern int ma_price =0; extern int breakBars =1; extern bool drawLine = false; double Buffer1[]; double Buffer2[]; double Buffer3[]; //+--- int init() { SetIndexBuffer(0,Buffer1); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,Buffer2); SetIndexBuffer(2,Buffer3); if (drawLine) {SetIndexStyle(1,DRAW_LINE);SetIndexStyle(2,DRAW_LINE);} else { SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,158); SetIndexEmptyValue (1,EMPTY_VALUE); SetIndexStyle(2,DRAW_ARROW); SetIndexArrow(2,158); SetIndexEmptyValue (2,EMPTY_VALUE); } return(0); } //+---- int start() { int i,limit; int counted_bars=IndicatorCounted(); if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit = Bars-counted_bars; for(i=limit; i>=0; i--) { double MA =iMA(NULL,0,ma_period,0,ma_method,ma_price,i) ; double MA1=iMA(NULL,0,ma_period,0,ma_method,ma_price,i+1) ; double MA2=iMA(NULL,0,ma_period,0,ma_method,ma_price,i+2) ; Buffer1[i] = MA; Buffer2[i] = EMPTY_VALUE; Buffer3[i] = EMPTY_VALUE; int BreakBars=MathAbs(breakBars); if (BreakBars==0) { if (Close[i]<MA) Buffer2[i]= MA; if (Close[i]>MA) Buffer3[i]= MA; } if (BreakBars==1) { if (Close[i]<MA &&Close[i+1]<MA1) Buffer2[i]= MA; if (Close[i]>MA &&Close[i+1]>MA1) Buffer3[i]= MA; } if (BreakBars==2) { if (Close[i]<MA &&Close[i+1]<MA1 &&Close[i+2]<MA2) Buffer2[i]= MA; if (Close[i]<MA &&Close[i+1]<MA1 &&Close[i+2]>MA2) Buffer3[i]= MA; } if (BreakBars>=2)BreakBars=2; } return(0); } //+---------------
Sample
Analysis
Market Information Used:
Series array that contains close prices for each bar
Indicator Curves created:
Implements a curve of type DRAW_LINE
Implements a curve of type DRAW_ARROW
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features: