




اندیکاتور فرمول ایکس مستر، ترکیبی از میانگین متحرک (MA) و MACD است. اندیکاتور متاتریدر 5 ایکس مستر با استفاده از دو پیکان سبز و قرمز، قدرت و جهت روند را شناسایی کرده و سیگنالهای ورود (Entry) را برای معاملهگران فراهم میکند.
یکی از اعضای تیم برنامهنویسی TradingFinder گفت:
"برخی از کاربران هنگام جستجو، اندیکاتور Xmaster را [که برای شناسایی روند بازار طراحی شده است]، به اشتباه XHmaster سرچ میکنند. این اشتباه باعث شده که برخی افراد در مورد عملکرد و نحوه دسترسی به این اندیکاتور دچار سردرگمی شوند. نام صحیح این ابزار ایکس مستر (Xmaster) است."
جدول مشخصات فرمول ایکس مستر
مشخصات اندیکاتور فرمول ایکس مستر در جدول زیر قابل مشاهده است:
دستهبندی | پرنوسان - باندها و کانالها - اسیلاتور |
پلتفرم | متاتریدر 5 |
سطح مهارتی | مبتدی |
نوع اندیکاتور | ادامهدهنده - بازگشتی |
بازه زمانی | مولتی تایم فریم |
سبک معاملاتی | ترید در طول روز |
بازار معاملاتی | تمام بازارها |
کد فرمول ایکس مستر [Xmaster Formula]
در اینجا بخشی از کد فرمول Xmaster برای پلتفرم متاتریدر ۵ را مشاهده میکنید:
//+------------------------------------------------------------------+
//| XMaster Formula |
//| Copyright © tradingfinder.com 2023 -2025 |
//+------------------------------------------------------------------+
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_plots 4
#property indicator_color1 clrLime
#property indicator_color2 clrRed
#property indicator_color3 clrYellow
#property indicator_color4 clrYellow
#include <MovingAverages.mqh>
// === Inputs ===
input bool alert_on = true;
input bool alert_sound = false;
input bool alert_email = false;
// === Buffers ===
double tmp[], line[], green_line[], red_line[], up_arrow[], down_arrow[];
// === Global Vars ===
int period1 = 40;
int period2, period3, ma1_handle, ma2_handle, digs;
ENUM_MA_METHOD ma_method = MODE_SMMA;
ENUM_APPLIED_PRICE applied_price = PRICE_LOW;
datetime last_alert = 0;
int stoploss_points = 200;
//+------------------------------------------------------------------+
//| Initialization |
//+------------------------------------------------------------------+
int OnInit() {
IndicatorSetString(INDICATOR_SHORTNAME, "Xmaster Formula");
SetIndexBuffer(0, green_line, INDICATOR_DATA); PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_ARROW); PlotIndexSetInteger(0, PLOT_ARROW, 108);
SetIndexBuffer(1, red_line, INDICATOR_DATA); PlotIndexSetInteger(1, PLOT_DRAW_TYPE, DRAW_ARROW); PlotIndexSetInteger(1, PLOT_ARROW, 108);
SetIndexBuffer(2, up_arrow, INDICATOR_DATA); PlotIndexSetInteger(2, PLOT_DRAW_TYPE, DRAW_ARROW); PlotIndexSetInteger(2, PLOT_ARROW, 225); PlotIndexSetInteger(2, PLOT_LINE_WIDTH, 5);
SetIndexBuffer(3, down_arrow, INDICATOR_DATA); PlotIndexSetInteger(3, PLOT_DRAW_TYPE, DRAW_ARROW); PlotIndexSetInteger(3, PLOT_ARROW, 226); PlotIndexSetInteger(3, PLOT_LINE_WIDTH, 5);
SetIndexBuffer(4, line, INDICATOR_CALCULATIONS);
SetIndexBuffer(5, tmp, INDICATOR_CALCULATIONS);
for(int i=0; i<6; i++) PlotIndexSetInteger(i, PLOT_DRAW_BEGIN, period1+1);
period2 = MathFloor(period1 / 1.9);
period3 = (int)MathFloor(MathSqrt(period1));
digs = Digits();
ma1_handle = iMA(_Symbol, _Period, period1, 0, ma_method, applied_price);
ma2_handle = iMA(_Symbol, _Period, period2, 0, ma_method, applied_price);
return INIT_SUCCEEDED;
}
//+------------------------------------------------------------------+
//| Main Calculation Loop |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, const int prev_calculated,
const datetime time[], const double open[],
const double high[], const double low[], const double close[],
const long tick_volume[], const long volume[], const int spread[]) {
int st = prev_calculated > 0 ? prev_calculated - 1 : 1;
for(int i = st; i < rates_total; i++) {
green_line[i] = red_line[i] = up_arrow[i] = down_arrow[i] = EMPTY_VALUE;
double ma1[], ma2[];
if(CopyBuffer(ma1_handle, 0, rates_total-1-i, 1, ma1) < 1 || CopyBuffer(ma2_handle, 0, rates_total-1-i, 1, ma2) < 1) continue;
tmp[i] = 2 * ma2[0] - ma1[0]; // Custom MA logic
line[i] = i > 50 ? SmoothedMA(i, period3, line[i-1], tmp) : tmp[i];
if(line[i] > line[i-1]) green_line[i] = line[i];
if(line[i] < line[i-1]) red_line[i] = line[i];
// Signal Detection Alert Logic
if(green_line[i] != EMPTY_VALUE green_line[i-1] == EMPTY_VALUE) {
up_arrow[i] = line[i];
if(iTime(_Symbol, _Period, 0) != last_alert) {
last_alert = iTime(_Symbol, _Period, 0);
double entry = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
string msg = "Xmaster BUY: " + _Symbol + " @ " + DoubleToString(entry, digs);
if(alert_on) Alert(msg); if(alert_email) SendMail("Xmaster", msg); if(alert_sound) PlaySound("alert.wav");
}
}
if(red_line[i] != EMPTY_VALUE red_line[i-1] == EMPTY_VALUE) {
down_arrow[i] = line[i];
if(iTime(_Symbol, _Period, 0) != last_alert) {
last_alert = iTime(_Symbol, _Period, 0);
double entry = SymbolInfoDouble(_Symbol, SYMBOL_BID);
string msg = "Xmaster SELL: " + _Symbol + " @ " + DoubleToString(entry, digs);
if(alert_on) Alert(msg); if(alert_email) SendMail("Xmaster", msg); if(alert_sound) PlaySound("alert.wav");
}
}
}
return rates_total;
}
شرایط روند صعودی
نمودار قیمتی دلار استرالیا در برابر دلار کانادا با نماد (AUD/USD) در بازه زمانی 1 دقیقه مشاهده میشود.
پیکان سبز نشاندهنده تغییر روند کوتاهمدت و سیگنال صعود است. در این حالت، معاملهگران میتوانند پیکان سبز را به عنوان سیگنال ورود (Entry) در نظر گرفته و وارد موقعیت خرید (Buy) شوند.

شرایط روند نزولی
نمودار قیمتی زیر، شاخص نیکی 225 با نماد (NIKKEI) را در بازه زمانی 5 دقیقه نمایش میدهد. پیکان قرمز نمایانگر تغییر روند و سیگنال نزولی است؛ بنابراین، این سیگنال امکان ورود به موقعیت فروش (Sell) را فراهم میکند.

تنظیمات اندیکاتور
تصویر زیر تغییرات و تنظیمات اندیکاتور فرمول ایکس مستر را نشان میدهد:

- Chart theme: تم نمودار؛
- Alert on: روشن شدن هشدار؛
- Alert sound: صدای هشدار؛
- Alert email: هشدار ایمیل.
جمع بندی
اندیکاتور فرمول ایکس مستر با ترکیب دو ابزار MA و MACD در اندیکاتور متاتریدر 5، به عنوان ابزاری قدرتمند برای تشخیص روند و شناسایی نقاط ورود (Entry) به معاملات عمل میکند. این ابزار در بازارهای نوسانی عملکرد مناسبی دارد. لازم ذکر است؛ از اندیکاتور فرمول ایکس مستر در متاتریدر 4 نیز میتوان استفاده کرد.
چگونه این اندیکاتور سیگنالهای صعودی و نزولی را ایجاد میکند؟
این ابزار با نمایش پیکان سبز، تغییر روند صعود را نشان داده و سیگنال خرید صادر میکند؛ همچنین با نمایش پیکان قرمز، تغییر روند نزولی را مشخص کرده و سیگنال فروش ارائه میدهد.
این اندیکاتور مناسب کدام بازار معاملاتی است؟
اندیکاتور فرمول ایکس مستر بدون هیچ محدودیتی در تمام بازارهای مالی قابل استفاده است.