//+------------------------------------------------------------------+ //| Vegas.mq4 | //| Mr.Bah | //| | //+------------------------------------------------------------------+ #property copyright "Mr.Bah" #property link "" #property indicator_chart_window #property indicator_buffers 8 #property indicator_color1 Green #property indicator_color2 Blue #property indicator_color3 Red #property indicator_color4 Red #property indicator_color5 Red #property indicator_color6 Red #property indicator_color7 Red #property indicator_color8 Red //---- input parameters extern bool Alerts=true; extern int RiskModel=1; extern int MA1=144; extern int MA2=169; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; double ExtMapBuffer5[]; double ExtMapBuffer6[]; double ExtMapBuffer7[]; double ExtMapBuffer8[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,ExtMapBuffer4); SetIndexStyle(4,DRAW_LINE); SetIndexBuffer(4,ExtMapBuffer5); SetIndexStyle(5,DRAW_LINE); SetIndexBuffer(5,ExtMapBuffer6); SetIndexStyle(6,DRAW_LINE); SetIndexBuffer(6,ExtMapBuffer7); SetIndexStyle(7,DRAW_LINE); SetIndexBuffer(7,ExtMapBuffer8); //---- return(0); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); //---- check for possible errors if(counted_bars<0) return(-1); //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- main loop for(int i=0; i<limit; i++) { //---- ma_shift set to 0 because SetIndexShift called abowe ExtMapBuffer1[i]=iMA(NULL,0,144,0,MODE_EMA,PRICE_CLOSE,i); ExtMapBuffer2[i]=iMA(NULL,0,169,0,MODE_EMA,PRICE_CLOSE,i); //Model #1 34,55,89 if(RiskModel==1) { ExtMapBuffer3[i]=ExtMapBuffer2[i]+34*Point; ExtMapBuffer4[i]=ExtMapBuffer2[i]+55*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+89*Point; ExtMapBuffer6[i]=ExtMapBuffer2[i]-34*Point; ExtMapBuffer7[i]=ExtMapBuffer2[i]-55*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-89*Point; } //Model #2 55,89,144 if(RiskModel==2) { ExtMapBuffer3[i]=ExtMapBuffer2[i]+55*Point; ExtMapBuffer4[i]=ExtMapBuffer2[i]+89*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+144*Point; ExtMapBuffer6[i]=ExtMapBuffer2[i]-55*Point; ExtMapBuffer7[i]=ExtMapBuffer2[i]-88*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-144*Point; } //Model #3 89,144,233 if(RiskModel==3) { ExtMapBuffer3[i]=ExtMapBuffer2[i]+89*Point; ExtMapBuffer4[i]=ExtMapBuffer2[i]+144*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+233*Point; ExtMapBuffer6[i]=ExtMapBuffer2[i]-89*Point; ExtMapBuffer7[i]=ExtMapBuffer2[i]-144*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-233*Point; } //Model #4 144,233,377 if(RiskModel==4) { ExtMapBuffer3[i]=ExtMapBuffer2[i]+144*Point; ExtMapBuffer4[i]=ExtMapBuffer2[i]+233*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+377*Point; ExtMapBuffer6[i]=ExtMapBuffer2[i]-144*Point; ExtMapBuffer7[i]=ExtMapBuffer2[i]-233*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-377*Point; } Comment("\nRISK MODEL #",RiskModel," (1-4)\n\nEMA144 - ",ExtMapBuffer1[limit],"\nEMA169 - ",ExtMapBuffer2[limit], "\n\nF+1 - ",ExtMapBuffer3[limit],"\nF+2 - ",ExtMapBuffer4[limit], "\nF+3 - ",ExtMapBuffer5[limit],"\n\nF-1 - ",ExtMapBuffer6[limit], "\nF-2 - ",ExtMapBuffer7[limit],"\nF-3 - ",ExtMapBuffer8[limit]); } //+--------------------------------------------------------------------------+ //- ALERTS PlaySound("alert.wav"); - //+--------------------------------------------------------------------------+ if(Alerts) { if(Close[i]==ExtMapBuffer1[i] || Close[i]==ExtMapBuffer2[i]) { PlaySound("alert.wav"); } if(Close[i]==ExtMapBuffer3[i] || Close[i]==ExtMapBuffer4[i] || Close[i]==ExtMapBuffer5[i]) { PlaySound("alert.wav"); } if(Close[i]==ExtMapBuffer6[i] || Close[i]==ExtMapBuffer7[i] || Close[i]==ExtMapBuffer8[i]) { PlaySound("alert.wav"); } } //---- done //---- //---- 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
Indicators Used:
Moving average indicator
Custom Indicators Used:
Order Management characteristics:
Other Features:
It plays sound alerts