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

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

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

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

نظرة عامة

تتداول هذه الخبيرة غلافاً واحداً بأسلوب غاوسي مبنيّاً حول متوسط متحرك أسي لفترة 14 شمعة، بهدف التقاط أول اندفاع يلي فترة انضغاط على الذهب (XAUUSD) على الإطار الزمني خمس دقائق. يُبنى الخط الأوسط من متوسط أسي لـ14 فترة لأسعار الإغلاق، وتوضع الحدود العلوية والسفلية على بُعد 1.2×ATR(14) من كل جهة. في كل شمعة جديدة، تتحقق الخبيرة مما إذا كان الإغلاق قد انتقل للتو من داخل الغلاف إلى خارجه (اختراق بشمعتين: الشمعة السابقة داخل، والحالية خارجه)، وما إذا كان ميل EMA(14) يتفق مع اتجاه الصفقة، وما إذا كان المتوسط المتحرك الأسي لـ50 فترة على الإطار الزمني الأعلى (H4 افتراضياً) يقع على الجانب الصحيح من السعر، وما إذا كانت مسافة الاختراق تتجاوز MinBreakDistance × ATR (0.20 افتراضياً). عندما تتوافق كل هذه الشروط ويشكّل جسم الشمعة الحالية ما لا يقل عن 45% من مداها الكامل، تفتح الخبيرة صفقة في اتجاه الاختراق وتُغلق أي صفقة في الاتجاه المعاكس يحملها نفس الرقم السحري.

طبقة إدارة الصفقات هي الجزء من الكود الذي يقوم بمعظم العمل الفعلي. يضع InitialSL_Points وقف الخسارة على بُعد 80 نقطة من الدخول (80 سنتاً على تسعير XAUUSD بخمس خانات)، ويحدد FixedTP_Points جني الأرباح عند 200 نقطة، مما يعطي نسبة مخاطرة إلى عائد ثابتة 1:2.5. تمتلك الخبيرة أيضاً خروجاً عند تقاطع المتوسط الغاوسي: مع ضبط ExitBufferATRMultiplier على 0.20، تُغلق الصفقة الشرائية إذا أغلق السعر بما يزيد عن 0.20×ATR تحت خط EMA(14)، والبيعية عند إغلاق أعلى من هذا الخط بهذه المسافة. أيهما يأتي أولاً — جني الأرباح الثابت أو الخروج عند التقاطع — ينهي الصفقة. بعد فتح الصفقة، تتولى كتلة EnableDynamicLockProfit الجزء الأكبر من حماية الأرباح المتراكمة. في كل مرة يعبر الربح العائم حداً آخر من حدود LockProfitEvery_X_Dollars (2 دولار افتراضياً)، تعيد الخبيرة حساب الموقع الجديد لوقف الخسارة، ثم تحرّك وقف الخسارة القائم للأمام بمقدار LockProfitEvery_X_Dollars مطروحاً منه LockMinusBuffer (2 - 1 = 1 دولار) لكل درجة. لا يتحرك وقف الخسارة إلا في الاتجاه المواتي، ولا يضع نفسه أبداً داخل منطقة الـstops أو الـfreeze لدى الوسيط، وكلاهما يتم فحصه عبر الدوال المساعدة InsideStopsLevelForSLTP و InsideFreezeLevelForSLTP قبل إرسال التعديل.

يتحكم في تحديد حجم العقد مساران متوازيان. مع تفعيل UseRiskPercent (معطل افتراضياً)، تقرأ ComputeRiskBasedLots رصيد الحساب، تضربه في RiskPercent (1.0%)، تقسمه على خسارة الدولار لكل لوت عند مسافة الوقف المخططة، وتطبّع النتيجة وفقاً للحد الأدنى والأقصى وخطوة الحجم لدى الرمز. مع تعطيل UseRiskPercent، تستخدم الخبيرة قيمة Lots الثابتة (0.10) مباشرة. يمر كلا المسارين عبر NormalizeVolume الذي يثبّت الحجم داخل غلاف الوسيط ويقرّبه نزولاً إلى أقرب خطوة قبل الإرسال. تعمل بوابات الجانب المخاطري قبل تثبيت الحجم: تقارن CheckMaxDrawdown بين الرصيد والإكويتي وترفض الإدخالات الجديدة بمجرد أن يصل السحب إلى MaxDrawdownPercent (10%)، و تتحقق TradingAllowedOnSymbol من وضع التداول للرمز، و ترفض SpreadTooWide أي تيك ينتشر فيه السبريد فوق MaxSpreadPoints (40 نقطة على XAUUSD افتراضياً). تعمل InsideStopsLevelForSLTP و InsideFreezeLevelForSLTP بعد حساب أسعار الوقف والجني، وتتخطى الإدخال بصمت إذا كانت هذه الأسعار ستقع داخل النطاق الحمائي للوسيط.

تُعد بوابة "لا إدخال جديد حتى تكون السلة بصحة جيدة" خياراً تصميمياً مميزاً في هذه الخبيرة. يكون OneTradeOnly صحيحاً افتراضياً، لذلك لا يمكن فتح صفقة جديدة إلا إذا لم تكن هناك صفقة حالية للرقم السحري. إذا تم إيقاف OneTradeOnly، فإن MaxOpenTrades (5) يحدّ السلة. إذا كان AllowOnlyProfitableAdditions مفعّلاً أيضاً (افتراضياً)، فإن AllPositionsHaveMinProfitByMagic تمشي عبر السلة وترفض الإدخال الجديد ما لم تظهر كل صفقة قائمة ربحاً عائماً لا يقل عن MinProfitPerTradeToAdd (5 دولارات). هذا هو التطبيق العملي لـ"انتظر حتى تستقر السلة قبل الإضافة" — ليس مارتينغال، لكنه أيضاً ليس فوضى. يكون OnlyNewBarEntries صحيحاً افتراضياً، لذلك لا يُعاد تقييم منطق الإشارة إلا عند افتتاح شمعة M5 جديدة؛ التيكات داخل الشمعة الواحدة لا تفتح صفقات جديدة، لكنها تستمر في إدارة أي صفقة مفتوحة عبر حلقة الإدارة في أسفل OnTick.

محرك التداول نفسه مُحصّن ضد عيوب الوسيط. تقرأ ResolveFillingMode قيمة SYMBOL_FILLING_MODE وتفضل FOK، ثم تسقط إلى IOC، ولا تستخدم RETURN إلا إذا لم يتوفر أي منهما. تضبط TradeBuy و TradeSell وضع التعبئة المختار قبل كل أمر؛ عند استجابة TRADE_RETCODE_INVALID_FILL، تنتقلان إلى الوضع التالي المتاح وتعيدان المحاولة. بمجرد الحصول على تذكرة، تدور TryClose_EX17026 و TryModify_EX17026 كل منهما لما يصل إلى ثلاث مرات عند رموز الإعادة المؤقتة (REQUOTE، TIMEOUT، PRICE_OFF، PRICE_CHANGED) مع 200 أو 100 ميلي ثانية بين المحاولات. تفشل جميع تهيئات المقابض الثلاثة في OnInit (maHandle، atrHandle، emaHandle) في تشغيل الخبيرة إذا أعاد أي منها INVALID_HANDLE.

المسار الاختياري UseAutoFilter ضيق عمداً. تقوم AutoTuneFilters بتعديل عتبة MinATR فقط — ترفعها إلى 0.5× السبريد الحالي إذا تجاوز MinATR الثابت — وتترك مضاعف النطاق ومسافة الاختراق بقيم الإدخال الأصلية. يكون UseAutoFilter معطلاً افتراضياً؛ ويشير تعليق المصدر إلى أن ذلك من أجل "سلوك أكثر قابلية للتنبؤ". يكون الخروج الغاوسي، وقفل الربح الديناميكي، وبوابة AllowOnlyProfitableAdditions كلها مفعّلة افتراضياً؛ وعند إيقافها، تختزل الخبيرة فعلياً إلى متداول اختراق مسطح بوقف ثابت وجني أرباح ثابت.

ما يجب أن تتوقعه في الاختبار العكسي: مع قيمة Timeframe الافتراضية التي تُرمّز إلى H1 (المدخل 0 → H1 عبر MapTimeframeInt)، و TrendFilterTF بقيمة 6 (H4)، ستبحث الخبيرة عن اختراقات على أي إطار زمني يربطها به المستخدم، بينما يأتي فلتر الجانب من الإطار الأعلى H4 EMA(50) دائماً. في يوم هادئ ومحصور لـXAUUSD، فإن فلتر السبريد، وأرضية MinATR، وشرط الاختراق بشمعتين هي ما يبعد الخبيرة عن التذبذب. في يوم ذو ترند قوي، فإن قفل الربح الديناميكي هو ما يحوّل الرابح إلى مساهم حقيقي عبر تدرّج وقف الخسارة كل 2 دولار من الربح وإعطاء الصفقة مجالاً للركض نحو جني الأرباح عند 200 نقطة. الحد الصلب للسحب بنسبة 10% وبوابة السبريد هما شبكة الأمان تحت الاستراتيجية نفسها.

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

تنشئ كتلة OnInit ثلاثة مقابض للمؤشرات — iMA(14, MODE_EMA, PRICE_CLOSE) للخط الأوسط الغاوسي، وiATR(14) للنطاقات وعازل التقاطع، وiMA(TrendEMA=50) للإطار الزمني الأعلى على g_TrendFilterTF (H4 افتراضياً) لفلتر الجانب — وترفض الخبيرة البدء إذا فشل أي منها. في كل شمعة M5 جديدة، تعيد الخبيرة حساب النطاقين العلوي والسفلي كـ gauss ± DistanceMultiplier × ATR، وتطلب اختراقاً بشمعتين مع اتفاق الميل، واتجاه الإطار الأعلى، والحد الأدنى لمسافة الاختراق، ونسبة جسم 0.45 اختيارية، ثم تُغلق الاتجاه المعاكس وتفتح الصفقة الجديدة عبر TradeBuy/TradeSell مع الحل التلقائي لوضع التعبئة. يمشي نفس التيك عبر حلقة إدارة الصفقات المفتوحة، التي تتحقق من خروج التقاطع الغاوسي (السعر مقابل الخط الأوسط ± ExitBufferATRMultiplier × ATR) ودرج قفل الربح الديناميكي (كل 2 دولار → خطوة +1 دولار على الوقف)، وكلاهما مقيّد بمنطقتي stops و freeze لدى الوسيط قبل إرسال التعديل. تعمل طبقة المخاطر قبل الدخول: تحدّ CheckMaxDrawdown السحب المباشر عند 10%، و ترفض TradingAllowedOnSymbol و SpreadTooWide (40 نقطة) التيك، و تقيّد MinATR و MinBreakDistance التذبذب، و ترفض بوابة AddProfit (يجب أن تكون كل صفقة عند +5 دولارات ربح عائم) الإدخالات الجديدة في سلة مريضة. يمر تنفيذ الأوامر عبر TryClose_EX17026 و TryModify_EX17026 مع حلقات إعادة 3 مرات عند requote/timeout/price-off/price-changed (200/100 ميلي ثانية)، وتدور TradeBuy/TradeSell بين FOK و IOC و RETURN عند TRADE_RETCODE_INVALID_FILL.

إشارة الدخول

يُفعَّل الدخول الشرائي عندما يعبر إغلاق شمعة M5 فوق النطاق العلوي = خط EMA(14) + 1.2×ATR(14)، مع بقاء إغلاق الشمعة السابقة داخل النطاق، وإغلاق السعر فوق فلتر الجانب H4 EMA(50)، وميل EMA(14) صعوداً، وتجاوز مسافة الإغلاق-النطاق لـ0.20×ATR، وجسم الشمعة الحالية لا يقل عن 45% من مداها الكامل. يتطلب البيع المعاكس اختراق النطاق السفلي، وميل هبوطي، ونفس شروط الجسم والإطار الأعلى ومسافة الاختراق. تُغلق الصفقات في الاتجاه المعاكس تحت الرقم السحري 22217026 قبل إرسال الصفقة الجديدة، ولا تفتح التيكات داخل الشمعة أي صفقات — فقط افتتاح شمعة M5 جديدة يؤهل لذلك.

إشارة الخروج

تخرج الصفقة عندما يعبر الإغلاق المباشر خط EMA(14) الوسطي بأكثر من 0.20×ATR (0.20 هي قيمة ExitBufferATRMultiplier الافتراضية) في الاتجاه المعاكس للمركز، أو عندما يصل السعر إلى هدف FixedTP_Points عند 200 نقطة، أيهما يحدث أولاً. يستخدم مسار وقف الخسارة قيمة InitialSL_Points الثابتة البالغة 80 نقطة ما لم تقم آلية قفل الربح الديناميكية بترقية الوقف إلى الأمام — وفي هذه الحالة يُفعّل الوقف المُرقَّى. لا يوجد خروج مستند إلى الوقت ولا إغلاق جزئي منفصل؛ تُدار السلة ككل عبر بوابة AllowOnlyProfitableAdditions بدلاً من التحجيم لكل صفقة.

وقف الخسارة

يكون وقف الخسارة الأولي على بُعد 80 نقطة (تسعير XAUUSD بخمس خانات، 80 سنتاً) تحت الدخول للصفقات الشرائية و80 نقطة فوقه للبيعية. يُرقَّى الوقف بعد ذلك للأمام عبر كتلة EnableDynamicLockProfit — كل 2 دولار من الربح العائم تحرّك الوقف 1 دولار في الاتجاه المواتي — ويمنع منطق الترقية المواتية فقط وحارس InsideStopsLevelForSLTP الوقف المُحرَّك من أن يُوضع داخل نطاق الوقف الأدنى لدى الوسيط. ترفض بوابة MaxDrawdownPercent الصلبة البالغة 10% الإدخالات الجديدة قبل وضع أي وقف.

جني الأرباح

تبلغ قيمة FixedTP_Points 200 نقطة على تسعير XAUUSD بخمس خانات، مما يعطي نسبة مخاطرة إلى عائد ثابتة 1:2.5 مقابل وقف الخسارة الأولي البالغ 80 نقطة. يُرسل سعر جني الأرباح مع الأمر ويُحفظ على الخادم؛ التجاوز الوحيد داخل الخبيرة هو الخروج الغاوسي عند التقاطع، الذي يمكن أن يأخذ الصفقة في وقت أبكر إذا أغلق السعر عائداً عبر خط EMA(14) بمقدار 0.20×ATR. لا يوجد جني أرباح جزئي، ولا جني أرباح متحرك، ولا جني أرباح مرتبط بالزمن — يظل خط جني الأرباح ثابتاً بمجرد وضع الأمر.

الأنسب لـ

مناسب لـXAUUSD على M5 برصيد أدنى موصى به 100 دولار، وتحمل مخاطرة متوسط، و وسيط ECN أو RAW سبريد — يفترض فلتر MaxSpreadPoints البالغ 40 نقطة سبريداً يقل عن 4 سنتات عادةً، وبُني غطاء MaxDrawdownPercent عند 10% لحسابات يمكنها استيعاب جلسة سيئة واحدة. كل من فلتر الترند H4 EMA(50) افتراضياً ونطاقات EMA(14) مضبوطتان للتسلسل M5/M15/H1 على الذهب، ويحتاج زوج الوقف 80 نقطة / جني الأرباح 200 نقطة (نسبة 1:2.5) إلى الحد الأدنى 0.01 لوت ومستوى stops القياسي للذهب لدى الوسيط ليعمل بسلاسة. ساعات التداول غير مقيدة (لا يوجد مدخل لفلتر الجلسة)، لذا فالخبيرة مناسبة للوسطاء الذين يقدمون الذهب 24/5 وللمتداولين الذين يريدون اختراقات M5 على مدار الساعة بدون جدول يدوي.

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

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

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

الوصف: Production Gaussian Band breakout EA 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-resolution. 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 EX17026 Volatility — Execution Flow (from source analysis)
// Family: Volatility
// Production Gaussian Band breakout EA 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-resolution. 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

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

المعاملالافتراضيالوصف
InpTradeComment"Psgrowth.com Expert_17026"Trade Comment
UseAutoFilterfalseDisabled by default for more predictable behavior
Length14Increased for smoother signals
DistanceMultiplier1.2Increased for wider bands
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_Points80.0initial SL in points (reduced)
FixedTP_Points200.0fixed TP in points (increased for better R:R)
MinATR0.02reduced minimum ATR
MinBreakDistance0.20reduced break distance requirement
StrongCandleBodyRatio0.45reduced from 0.60 to allow more trades
MaxSpreadPoints40.0don't trade above this spread
DeviationInPoints10slippage
AutoResolveFillingModetrue==================== Handles & State ====================//
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX17026.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX17026 GB111 — Production Gaussian Band breakout 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 string InpTradeComment             = "Psgrowth.com Expert_17026";    // Trade Comment
input ulong  MagicNumber                   = 22217026;

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                 = false;    // Disabled by default for more predictable behavior
input int    Length                        = 14;       // Increased for smoother signals
input double DistanceMultiplier            = 1.2;      // Increased for wider bands
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;

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

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

الوسوم:ex17026volatilitypipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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