Professional Description of the Vegas.mq4 Script Logic
Overview
The script "Vegas.mq4" is a custom indicator developed for MetaTrader, designed to assist traders in analyzing market trends using Exponential Moving Averages (EMAs) and Fibonacci retracement levels. The script provides visual cues on trading charts to help identify potential buy or sell signals based on predefined risk models.
Key Components
-
Exponential Moving Averages (EMAs):
- The script calculates two EMAs: one with a period of 144 bars (
EMA144
) and another with a period of 169 bars (EMA169
). These averages help smooth out price data to identify the direction of the trend.
- The script calculates two EMAs: one with a period of 144 bars (
-
Risk Models:
- Four different risk models are available, each using specific Fibonacci retracement levels (34, 55, 89, 144, 233, 377) to determine potential support and resistance zones.
- Users can select a risk model by setting the
RiskModel
parameter from 1 to 4:- Model #1: Uses levels 34, 55, 89 above (
F+
) and below (F-
) the EMA169. - Model #2: Uses levels 55, 89, 144 above and below the EMA169.
- Model #3: Uses levels 89, 144, 233 above and below the EMA169.
- Model #4: Uses levels 144, 233, 377 above and below the EMA169.
- Model #1: Uses levels 34, 55, 89 above (
-
Visual Indicators:
- The script uses eight buffers to plot lines on the chart for each of the calculated EMAs and Fibonacci levels:
ExtMapBuffer1
andExtMapBuffer2
: RepresentEMA144
andEMA169
.ExtMapBuffer3
,ExtMapBuffer4
,ExtMapBuffer5
: Represent the upper Fibonacci retracement levels (F+
).ExtMapBuffer6
,ExtMapBuffer7
,ExtMapBuffer8
: Represent the lower Fibonacci retracement levels (F-
).
- The script uses eight buffers to plot lines on the chart for each of the calculated EMAs and Fibonacci levels:
-
Alerts:
- If enabled, alerts notify traders when the closing price touches any of the plotted lines or EMAs.
- Alerts are accompanied by a sound notification to draw immediate attention.
-
Comment Section:
- The script dynamically updates a comment section on the chart with the latest values for each EMA and Fibonacci level, providing quick reference information directly on the trading platform.
Usage
- Traders can customize the script by adjusting the
RiskModel
parameter to fit their trading strategy. - Alerts can be toggled on or off using the
Alerts
setting, allowing traders to choose whether they want auditory notifications. - The script is designed for flexibility across different time frames and symbols, making it adaptable to various trading styles.
Conclusion
"Vegas.mq4" serves as a versatile tool for traders seeking to enhance their technical analysis with EMAs and Fibonacci retracement levels. By providing clear visual indicators and alerts, the script aids in identifying potential entry and exit points based on market trends.
Indicators Used
Miscellaneous
4
Views
0
Downloads
0
Favorites
!_EA_Vegas_1hr_v1
/*-----------------------------+
| |
| Shared by www.Aptrafx.com |
| |
+------------------------------*/
//+------------------------------------------------------------------+
//| 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");
Alert("Fib or Channel signal triggered for "+Symbol()+" on the "+Period()+" minute chart.");
}
if(Close[i]==ExtMapBuffer3[i] || Close[i]==ExtMapBuffer4[i] || Close[i]==ExtMapBuffer5[i])
{
PlaySound("alert.wav");
Alert("Fib or Channel signal triggered for "+Symbol()+" on the "+Period()+" minute chart.");
}
if(Close[i]==ExtMapBuffer6[i] || Close[i]==ExtMapBuffer7[i] || Close[i]==ExtMapBuffer8[i])
{
PlaySound("alert.wav");
Alert("Fib or Channel signal triggered for "+Symbol()+" on the "+Period()+" minute chart.");
}
}
//---- done
//----
//----
return(0);
}
//+------------------------------------------------------------------+
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---