1Hr Vegas tunnel

Zajímavý indikátor postavený na klasickém Moving Average s periodami 144 a 169.

 

//+——————————————————————+
//|                                                        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; br=““>        {
//—- 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);
}
//+——————————————————————+

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *