//+------------------------------------------------------------------+ //| QQE_Cross.mq4 | //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Blue #property indicator_color2 Red extern int SF = 1; extern bool Visual_Alert=true; extern bool Audio_Alert=true; extern string Audio_Up_File="alert.wav"; extern string Audio_Down_File="alert.wav"; extern bool Email_Alert=true; extern int Count_Bars=EMPTY_VALUE; extern int Arrow_Offset=5; double ExtMapBuffer1[]; double ExtMapBuffer2[]; bool up=false; bool dn=false; datetime last_t=0; int init() { SetIndexStyle(0,DRAW_ARROW); SetIndexArrow(0,233); SetIndexBuffer(0,ExtMapBuffer1); SetIndexEmptyValue(0,0.0); SetIndexStyle(1,DRAW_ARROW); SetIndexArrow(1,234); SetIndexBuffer(1,ExtMapBuffer2); SetIndexEmptyValue(1,0.0); return(0); } int deinit(){return(0);} int start() { int l=0; if (Count_Bars>Bars) {l=Bars;}else{l=Count_Bars;} for (int i=l;i>=0;i--){ ExtMapBuffer1[i]=0; ExtMapBuffer2[i]=0; double qqe0_0=iCustom(Symbol(),0,"QQE",SF,0,i); double qqe0_1=iCustom(Symbol(),0,"QQE",SF,0,i+1); double qqe1_0=iCustom(Symbol(),0,"QQE",SF,1,i); double qqe1_1=iCustom(Symbol(),0,"QQE",SF,1,i+1); if (qqe0_0>qqe1_0 && qqe0_1<=qqe1_1 && !up){ ExtMapBuffer1[i]=Low[i]-Arrow_Offset*Point; up=true; dn=false; } if (qqe0_0<qqe1_0 && qqe0_1>=qqe1_1 && !dn){ ExtMapBuffer2[i]=High[i]+Arrow_Offset*Point; dn=true; up=false; } } if (ExtMapBuffer1[0]>0){ if (Visual_Alert) Alert("Cross up on : "+Symbol()+" at "+TimeToStr(TimeCurrent())); if (Audio_Alert) PlaySound(Audio_Up_File); if (Email_Alert) SendMail("QQE_Cross Alert","Cross up on : "+Symbol()+" at "+TimeToStr(TimeCurrent())); } if (ExtMapBuffer2[0]>0){ if (Visual_Alert) Alert("Cross down on : "+Symbol()+" at "+TimeToStr(TimeCurrent())); if (Audio_Alert) PlaySound(Audio_Down_File); if (Email_Alert) SendMail("QQE_Cross Alert","Cross down on : "+Symbol()+" at "+TimeToStr(TimeCurrent())); } return(0); }
Sample
Analysis
Market Information Used:
Series array that contains the lowest prices of each bar
Series array that contains the highest prices of each bar
Indicator Curves created:
Implements a curve of type DRAW_ARROW
Indicators Used:
Custom Indicators Used:
QQE
Order Management characteristics:
Other Features:
It issuies visual alerts to the screen
It plays sound alerts
It sends emails