//+------------------------------------------------------------------+ //| VegasCurrencyDaily.mq4 | //| "Vegas" | //| | //+------------------------------------------------------------------+ #property copyright "Vegas" #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 //---- input parameters extern bool Alerts=true; extern int RiskModel=1; extern int MA1=24; extern int MA2=28; //---- 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,24,0,MODE_EMA,PRICE_CLOSE,i); ExtMapBuffer2[i]=iMA(NULL,0,28,0,MODE_EMA,PRICE_CLOSE,i); //Model #1 89,144,233 if(RiskModel==1) { ExtMapBuffer5[i]=ExtMapBuffer2[i]+34*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+21*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+12*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-12*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-21*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-34*Point; } //Model #2 144,233,377 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]-89*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-144*Point; } //Model #3 233,377,610 if(RiskModel==3) { ExtMapBuffer3[i]=ExtMapBuffer2[i]+233*Point; ExtMapBuffer4[i]=ExtMapBuffer2[i]+377*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+610*Point; ExtMapBuffer6[i]=ExtMapBuffer2[i]-233*Point; ExtMapBuffer7[i]=ExtMapBuffer2[i]-377*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-610*Point; } //Model #4 377,610,987 if(RiskModel==4) { ExtMapBuffer3[i]=ExtMapBuffer2[i]+987*Point; ExtMapBuffer4[i]=ExtMapBuffer2[i]+1597*Point; ExtMapBuffer5[i]=ExtMapBuffer2[i]+2584*Point; ExtMapBuffer6[i]=ExtMapBuffer2[i]-987*Point; ExtMapBuffer7[i]=ExtMapBuffer2[i]-1597*Point; ExtMapBuffer8[i]=ExtMapBuffer2[i]-2584*Point; } Comment("\nRISK MODEL #",RiskModel," (1-4)\n\nEMA24 - ",ExtMapBuffer1[limit],"\nEMA28 - ",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