///+------------------------------------------------------------------+

//| ma-vline.mq4 |

//| fx1 |

//| fx1.net |

//+------------------------------------------------------------------+

#property copyright "fx1"

#property link "fx1.net" 

#property indicator_separate_window

#property indicator_buffers 3

#property indicator_color1 Blue

#property indicator_color2 Red

double ExtBlueBuffer[];

double ExtRedBuffer[];
extern double price1;
extern double price2;


 

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

 {

 SetIndexBuffer(0,ExtBlueBuffer);

 SetIndexBuffer(1,ExtRedBuffer);

 SetIndexStyle(0,DRAW_LINE);

 SetIndexStyle(1,DRAW_LINE);

 return(0);

 }

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

 {

//----


//----

 return(0);

 }

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

 {


 int limit;

 int counted_bars=IndicatorCounted();

 if(counted_bars<0) return(-1);

 if(counted_bars>0) counted_bars--;

 limit=Bars-counted_bars;

 double ma1;

 double ma2;

 for(int i=0; i<limit; i++)

 {

 ma1=iMA(NULL,0,7,0,MODE_SMMA,PRICE_MEDIAN,i);

 ma2=iMA(NULL,0,14,0,MODE_SMMA,PRICE_MEDIAN,i);

 ExtBlueBuffer[i]=ma1;

 ExtRedBuffer[i]=ma2;
 
 //ObjectCreate("Rectangle", OBJ_RECTANGLE, 0, Time[0], price2, Time[5], price1);

 if (ExtBlueBuffer[i]<ExtRedBuffer[i] && ExtBlueBuffer[i+1]>ExtRedBuffer[i+1])

 {

 string name="CrossDown"+DoubleToStr(i,0);

 ObjectCreate(name,OBJ_VLINE,1,iTime(Symbol(),0,i),Red);

 }

if (ExtBlueBuffer[i]>ExtRedBuffer[i] && ExtBlueBuffer[i+1]<ExtRedBuffer[i+1])

 {

 string name1="CrossUp"+DoubleToStr(i,0);

 ObjectCreate(name1,OBJ_VLINE,1,iTime(Symbol(),0,i),Red);
 ObjectSet(name1,OBJPROP_COLOR,LimeGreen);

 }
 }
//ObjectsDeleteAll();

 return(0);
 

 }