P
PipsGrowth
أخرىمفتوح المصدر - مجاني

Pipsgrowth EX17027 Volatility — إكسبرت أدفايزر تقلب

إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5

Pipsgrowth EX17027 Volatility — Production Gaussian Band breakout EA v2 with robust execution and drawdown control. Uses configurable risk percent, init. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX17027 GB111_2 هو مستشار خبير لاختراق النطاقات يعمل بمسار قرار واحد محكم ومحدد بدقة عند كل شمعة جديدة. ثلاث مقابض مؤشرات تقوم بكل العمل في OnInit: مؤشر iMA(Length, 0, MODE_EMA, PRICE_CLOSE) الذي يُشكّل أساس خط الوسط المُرشّح بغاوس، ومؤشر iATR(ATR_Period) الذي يُوسّع الغلاف، ومؤشر iMA(TrendEMA, 0, MODE_EMA, PRICE_CLOSE) على الإطار الزمني الأعلى g_TrendFilterTF الذي يعمل كمرشح جانبي للاتجاه. القيمة الافتراضية لـ Length هي 10 وDistanceMultiplier هي 0.85، لذا يقع النطاق العلوي على بُعد 0.85×ATR(14) فوق خط وسط EMA، ويقع النطاق السفلي على نفس المسافة تحته. القيمة الافتراضية لـ TrendEMA هي 50 وTrendFilterTF هي 6 (H4)، لذا يكون مرشح الجانب الافتراضي هو EMA(50) على إطار H4.

شرط الدخول هو نمط صارم من شمعتين داخل النطاق ثم شمعة تخترقه. يجب أن يُغلق سعر إغلاق الشمعة الحالية فوق النطاق العلوي للشراء أو تحت النطاق السفلي للبيع، بينما يجب أن تكون الشمعتان السابقتان قد أغلقتا داخل النطاق. يجب أن يتفق EMA على الإطار الأعلى مع الاتجاه (الإغلاق > EMA للشراء، الإغلاق < EMA للبيع). يجب أن يتفق ميل Gaussian أيضًا: gaussNow > gaussPrev للشراء، وgaussNow < gaussPrev للبيع. يجب أن يكون الاختراق حقيقياً وليس مجرد لمسة — (السعر − gaussNow) > MinBreakDistance × ATR للشراء والعكس للبيع، مع قيمة افتراضية لـ MinBreakDistance قدرها 0.30. أخيراً، يجب أن تكون الشمعة قوية: يجب أن تكون نسبة الجسم إلى النطاق على الأقل StrongCandleBodyRatio (0.60 افتراضي)، والتي يحسبها الكود كـ MathAbs(إغلاق − فتح) / (أعلى − أدنى). عندما تتفق كل هذه البوابات، تستدعي CloseOppositeByMagic() أولاً لإغلاق أي مركز في الاتجاه المعاكس يحمل magic هذا المستشار، ثم تُطلق TradeBuy() أو TradeSell() الدخول عبر CTrade مع SL وTP المُكوّنين.

وقف الخسارة وجني الأرباح عبارة عن قيم ثابتة بالنقاط. القيمة الافتراضية لـ InitialSL_Points هي 100 نقطة وFixedTP_Points هي 160 نقطة، مما يعطي نسبة مخاطرة إلى عائد ثابتة 1.6:1 عند الفتح. جني الأرباح اختياري — إذا تم تعيين FixedTP_Points على 0، يترك المستشار جني الأرباح غير مُعيّن ويعتمد كلياً على خروج Gaussian ومنطق قفل الربح الديناميكي. يحسب كود OnTick قيم slBuy = ask − InitialSL_Points × _Point وtpBuy = ask + FixedTP_Points × _Point عند كل تكة، ثم يمرر القيمتين عبر حارسَي InsideStopsLevelForSLTP() وInsideFreezeLevelForSLTP(). تسحب هاتان الدالتان SYMBOL_TRADE_STOPS_LEVEL وSYMBOL_TRADE_FREEZE_LEVEL من الرمز وتلغيان الصفقة إذا كان أي من SL أو TP سيقع قريباً جداً من السعر الحالي لدرجة أن الوسيط لا يستطيع قبول الأمر — وهذا مهم لـ XAUUSD حيث يفرض كثير من الوسطاء مستوى stops غير تافه.

ما يجعل EX17027 مثيراً للاهتمام هو كومة الخروج وإدارة الصفقات. خروج تقاطع Gaussian (EnableGaussianExit) هو الطريقة الأساسية للمستشار للخروج من صفقة لم تصل إلى TP. مع ExitBufferATRMultiplier = 0، يُفعّل الخروج عندما يعبر سعر الإغلاق خط وسط Gaussian — يُغلق الشراء عندما ينخفض السعر تحت gaussNow، ويُغلق البيع عندما يرتفع فوق gaussNow. مع المخزن الافتراضي 0.20، يكون الخروج بدلاً من ذلك عند gaussNow0.20×ATR للشراء وgaussNow + 0.20×ATR للبيع، لذا يحصل المركز على وسادة ATR صغيرة بعد خط الوسط قبل أن يستسلم. خاصية قفل الربح الديناميكي (EnableDynamicLockProfit) هي رatchet وقف الخسارة للمستشار: مع ارتفاع الربح المفتوح بعملة الحساب، يحسب المستشار stepCount = floor(profit / LockProfitEvery_X_Dollars) ويدفع SL إلى entry + stepCount × LockProfitEvery_X_DollarsLockMinusBuffer. مع القيم الافتراضية دولارين لكل خطوة و1 دولار مخزن، يرتفع الـ stop إلى entry + 1 دولار بعد ربح قدره 2 دولار، وإلى entry + 3 بعد 4، وإلى entry + 5 بعد 6، وهكذا. الـ ratchet يحرك الـ stop للأمام فقط، وليس للخلف أبداً، ويتخطى التعديلات التي تضع SL الجديد داخل منطقة تجميد الوسيط أو مستوى stops.

تعيش بوابات المركز والأمان في ثلاثة أماكن أخرى. تقارن CheckMaxDrawdown() بين ACCOUNT_EQUITY وACCOUNT_BALANCE وتوقف التداول إذا تجاوز السحب MaxDrawdownPercent (10% افتراضي). تقرأ TradingAllowedOnSymbol() من SYMBOL_TRADE_MODE وترفض التداول على الرموز المغلقة فقط أو المعطلة. تقارن SpreadTooWide() بين (ask − bid) / _Point وMaxSpreadPoints (40 افتراضي) وترفض الدخول الجديد عند اتساع الفروقات. يُنفّذ معالج OnTick أيضًا OneTradeOnly (مركز واحد لكل رمز) وMaxOpenTrades (5 افتراضي)، وإذا كان AllowOnlyProfitableAdditions صحيحاً، يضيف المستشار إلى اتجاه موجود فقط عندما يكون كل مركز مفتوح على magic في ربح لا يقل عن MinProfitPerTradeToAdd (5 دولارات). يضيف MinATR (0.03 افتراضي) وUseAutoFilter أرضية ATR نهائية ترفعها AutoTuneFilters() إلى ما لا يقل عن نصف الفرق الحالي عند تفعيل UseAutoFilter، حتى لا تكسر جلسة الفروقات المرتفعة رياضيات الاختراق.

التنفيذ مُحصّن ضد عيوب وضع التعبئة لدى الوسيط. تقرأ ResolveFillingMode() من SYMBOL_FILLING_MODE وتُعيّن كائن CTrade إلى FOK أو IOC أو RETURN وفقاً لذلك. عندما يُرجع Buy أو Sell رمز TRADE_RETCODE_INVALID_FILL، يمشي المستشار عبر أوضاع التعبئة البديلة — IOC أولاً، ثم FOK، ثم RETURN — ويُعيد المحاولة. يقوم كل غلاف TryClose_EX17027 وTryModify_EX17027 بما يصل إلى 3 محاولات مع فترات سكون 100–200 مللي ثانية على أخطاء requote وtimeout وprice-changed وprice-off قبل الاستسلام. يُطبّق trade.SetDeviationInPoints(DeviationInPoints) ميزانية انزلاق افتراضية قدرها 10 نقاط على كل أمر، وتُوسم trade.SetExpertMagicNumber(InpMagicNumber) كل مركز برقم magic 22217027، وهو أيضاً بادئة التعليق Psgrowth.com Expert_17027. تُرجع كتلة OnInit قيمة INIT_FAILED إذا فشل أي من مقابض المؤشرات الثلاثة في التخصيص، حتى لا تتداول لوحة مُكوّنة بشكل خاطئ بمخازن قديمة. مع عدم وجود منطق إغلاق بالوقت، ولا مرشح أخبار، ولا مرشح نافذة زمنية في مجموعة المدخلات، سيتداول EX17027 أي شمعة تسمح بها بوابات الاختراق والمخاطرة — وهذه البساطة هي خيار التصميم. يفترض أن المتداول يوفر disciplina الجلسة خارجياً، والباقي من المستشار مبني على عدم تدمير الحساب عندما ينسى المتداول تعطيله.

تفاصيل الاستراتيجية

عند كل تكة، يسحب المستشار خط وسط Gaussian (EMA(Length) على إطار التداول)، وغلاف ATR(14)، ومرشح الجانب EMA(50) على H4، ثم يقيّم بوابة من ست جهات: فرق سعر أقل من 40 نقطة، وATR فوق أرضية MinATR (تُرفع تلقائياً إلى نصف الفرق عند تفعيل UseAutoFilter)، وسحب أقل من 10%، ونمط شمعتين داخل ثم شمعة تخترق، وجودة شمعة بالنسبة بين الجسم والنطاق قدرها 0.6، ومسافة اختراق تتجاوز 0.30×ATR. يُحلّل TradeBuy/TradeSell وضع تعبئة الوسيط تلقائياً (FOKIOCRETURN كاحتياط) ويُطبّق حراس مستوى stops ومستوى التجميد قبل إرسال الأمر. بعد الدخول، يمشي المستشار كل مركز مفتوح على رقم magic عند كل تكة، ويُطبّق خروج تقاطع Gaussian مع مخزن اختياري 0.20×ATR، ويدفع بوقف الخسارة للأمام عبر سلّم قفل الربح الديناميكي.

إشارة الدخول

يُفعّل الدخول للشراء عندما يُغلق سعر الشمعة الحالية فوق خط النطاق العلوي لـ Gaussian (EMA(10) + 0.85×ATR(14)) بينما أغلقت الشمعتان السابقتان داخل النطاق، ويكون EMA(50) على H4 تحت السعر، وميل Gaussian صاعداً، وتتجاوز مسافة الاختراق 0.30×ATR، ويملأ جسم الشمعة 60% على الأقل من نطاقها. تستخدم دخولات البيع الظروف المعكوسة ضد النطاق السفلي. تُغلق المراكز في الاتجاه المعاكس على نفس رقم magic قبل إطلاق الدخول الجديد.

إشارة الخروج

تُغلق المراكز عند جني الأرباح الثابت البالغ 160 نقطة (1.6:1) إذا وصل السعر إليه، أو عبر خروج تقاطع Gaussian عندما يعبر سعر الإغلاق خط الوسط مرة أخرى (أو عبر gaussNow ± 0.20×ATR عندما يكون ExitBufferATRMultiplier غير صفري). يدفع ratchet قفل الربح الديناميكي بوقف الخسارة للأمام بزيادات 2 دولار ناقصاً مخزن 1 دولار مع صعود الربح، لكنه لا يُغلق المراكز من تلقاء نفسه. لا يوجد خروج قائم على الوقت ولا إغلاق قسري عند إغلاق الجلسة.

وقف الخسارة

وقف الخسارة الابتدائي ثابت 100 نقطة تحت سعر ask للدخول للشراء، و100 نقطة فوق سعر bid للدخول للبيع، يُطبّق عند الفتح. يدفع ratchet قفل الربح الديناميكي بعد ذلك بوقف الخسارة نحو نقطة الدخول وما بعدها بخطوات ربح 2 دولار ناقص مخزن 1 دولار، لذا بمجرد تجاوز الربح للحد، يُحرّك وقف الخسارة هيكلياً إلى الأمام ولا يمكن أن يتراجع.

جني الأرباح

جني أرباح ثابت 160 نقطة (مكافأة إلى مخاطرة 1.6:1) عند الفتح، يُحسب كـ ask + 160×_Point للشراء وbid − 160×_Point للبيع. يؤدي تعيين FixedTP_Points على صفر إلى تعطيل جني الأرباح الثابت تماماً ويترك المخارج لمنطق تقاطع Gaussian ورatchet قفل الربح.

الأنسب لـ

XAUUSD M5 مع حساب أدنى 100 دولار على وسيط ECN بفارق سعر منخفض يدعم تعبئة FOK — تم تصميم SL/TP بـ 100/160 نقطة ومرشح الفرق 40 نقطة لحجم تكة الذهب النموذجي، وليس لأزواج FX الرئيسية. يعمل حد السحب 10% وخطوة قفل الربح الديناميكي 2 دولار بشكل أفضل على إعداد مركز واحد (OneTradeOnly=true) يُشغّل باستمرار خلال جلستَي لندن ونيويورك. فعّل UseRiskPercent مع RiskPercent=1.0 ودع المستشار يحسب حجم اللوت من مسافة SL ذات 100 نقطة؛ غلاف ATR وبوابة جودة الشمعة سيقمعان معظم اختراقات الثقة المنخفضة تلقائياً.

منطق الاستراتيجية

Pipsgrowth EX17027 Volatility — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: Volatility الماجيك: 22217027 الإصدار: 2.00

الوصف: Production Gaussian Band breakout EA v2 with robust execution and drawdown control. Uses configurable risk percent, initial SL, fixed TP, spread filter, new-bar entries, Gaussian cross exit, dynamic lock profit, and filling mode auto-resolve. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • مؤشرات قياسية

الدوال الرئيسية:

  • GetTick()
  • GetBuffer()
  • GaussianFilter()
  • GetATR()
  • GetEMA_HTF()
  • IsNewBar()
  • CheckMaxDrawdown()
  • TradingAllowedOnSymbol()
  • NormalizeVolume()
  • InsideStopsLevelForSLTP()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX17027 Volatility — Execution Flow (from source analysis)
// Family: Volatility
// Production Gaussian Band breakout EA v2 with robust execution and drawdown control. Uses configurable risk percent, initial SL, fixed TP, spread filter, new-bar entries, Gaussian cross exit, dynamic lock profit, and filling mode auto-resolve. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: standard set
    Initialize state variables
    Detect broker GMT offset

ON_TICK:
    1. Refresh indicator buffers (closed-bar shift=1)
    2. Manage existing positions:
       - Break-even check
       - ATR trailing stop
       - Profit lock ratchet
       - Time-based exit
       - Opposite-signal exit
    3. If new bar:
       a. ClassifyRegime() — ADX/ATR/BB regime detection
       b. NoTradeGate() checks:
          - Market open + session filter
          - Spread limit
          - Cooldown after loss
          - Consecutive loss limit
          - Kill switch
          - Max drawdown
          - Max concurrent positions
          - Daily/weekly loss limits
       c. GenerateSignal() — strategy-specific entry logic
       d. CheckConfirm() — HTF alignment + R:R + ADX minimum
       e. Calculate position size from risk %
       f. Execute with retry logic
       g. Mark bar to prevent duplicates

ON_TESTER:
    Custom fitness = weighted(RecoveryFactor, ROI, ProfitFactor, TradeCount, Sharpe, Drawdown)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
XAUUSD
الأطر الزمنية المُحسّنة:
M5

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2افتح برنامج MetaTrader 5 على حاسوبك
  3. 3من القائمة العلوية اختر File → Open Data Folder
  4. 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  5. 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  6. 6اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

معاملات الإكسبرت

المعاملالافتراضيالوصف
InpMagicNumber22217027Magic Number
InpTradeComment"Psgrowth.com Expert_17027"Trade Comment
Timeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
TrendFilterTF6Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
RiskPercent1.0percent of equity risked per trade
Lots0.10used if UseRiskPercent=false
InitialSL_Points100.0initial SL in points
FixedTP_Points160.0fixed TP in points
StrongCandleBodyRatio0.60body/candle size threshold
MaxSpreadPoints40.0don't trade above this spread
DeviationInPoints10slippage
AutoResolveFillingModetrue==================== Handles & State ====================//
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX17027.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX17027 GB111_2 — Production Gaussian Band breakout v2 with robust execution, full 12-layer stack."
#include <Trade/Trade.mqh>

CTrade trade;

//==================== Inputs ====================//
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;
   }
}
ENUM_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
input group "=== Identity ==="
input ulong  InpMagicNumber                = 22217027;    // Magic Number
input string InpTradeComment               = "Psgrowth.com Expert_17027"; // Trade Comment

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;
   }
}
ENUM_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
input group "=== Strategy Settings ==="
input bool   UseAutoFilter                 = true;
input int    Length                        = 10;
input double DistanceMultiplier            = 0.85;
input int Timeframe = 0; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
input int TrendFilterTF = 6; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
input int    TrendEMA                      = 50;

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;

الكود المصدري الكامل متاح عند التحميل

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

الوسوم:ex17027volatilitypipsgrowthfreemt5xauusd

تحذير صريح: لأغراض تعليمية فقط

تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.

وسطاء موصى بهم لهذا الإكسبرت

هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض

مجتمع المستخدمين

سجّل دخولك للمشاركةتسجيل الدخول

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

اسم الملفPipsgrowth_com_EX17027.mq5
حجم الملف26.3 KB
الإصدارv2.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةأخرى
المخاطرةمخاطرة متوسطة
الأطر الزمنية
M5
أزواج العملات
XAUUSD
الحد الأدنى للإيداع$100