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

Pipsgrowth EX12052 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX12052 MultiIndicatorConfluence — True Gaussian Bands mean-reversion EA with Gaussian- weighted MA and standard deviation bands, signal buffer with revali. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX12052 هو Expert Advisor يعمل على مبدأ الارتداد إلى المتوسط مبني حول نطاق Gaussian الحقيقي، وهو غلاف سعري مع نمذجة نواة يختلف عن إعداد Bollinger التقليدي في نقطة محددة: يتم حساب كل من الخط الأوسط والنطاقين الخارجيين من متوسط متحرك مرجح أوزانه مأخوذة من صف مثلث باسكال، مع تطبيع المجموع إلى واحد. في BuildGaussianWeights() يبني المستنير C(period-1, k) بشكل تكراري (بدون عاملي، حتى لا يحدث فيض على الفترات الطويلة) ويمرر هذه الأوزان إلى ComputeTGB(). والنتيجة هي تنعيم قريب من Gaussian — كلما كانت العينة أقرب إلى المركز زاد وزنها في كل من المتوسط والانحراف المعياري. مع الإعدادات الافتراضية TGB_Period=21 و TGB_StdDevFactor=2.0، تكون النطاقات أضيق بصرياً من Bollinger لفترة 21 على نفس البيانات لأن النواة تقلل من وزن عينات الأطراف بدلاً من التعامل معها بالتساوي.

الإشارة نفسها هي تقاطع لمسي مع النطاق. ComputeIntent() يسحب إغلاق آخر شمعتين عبر GetAppliedPriceSeries()، ويبحث عن إغلاق الشمعة -2 تحت النطاق السفلي مع إغلاق الشمعة -1 فوق النطاق السفلي (شراء، السبب="cross_up_lower")، أو العكس للبيع. لا يوجد فحص ميل، ولا مرشح زخم، ولا محاذاة اتجاه في المحرك الأساسي — الإشارة هي فقط الإغلاق الذي يعبر مرة أخرى داخل الغلاف بعد انحراف واحد. المدخل MinHistoryBars=200 يتحكم في وقت السماح لـ ComputeTGB() بالعمل، فينتظر المستنير حتى تتوفر 200 شمعة على الأقل من التاريخ النظيف للإطار الزمني المختار.

في حين أن معظم Expert Advisors للارتداد إلى المتوسط تطلق الأمر لحظة عبور الإغلاق للنطاق، يضع EX12052 مخزن إشارة بين الإشارة والأمر. عندما يكون Sb_EnableBuffer مفعّلاً، فإن التقاطع الجديد على شمعة جديدة لا يضع أمراً — بل ينشئ سجل SignalBuffer يحتوي على الاتجاه والطابع الزمني والإغلاق عند التقاطع (سعر الارتكاز). لا يتم تنفيذ الصفقة إلا على تيك لاحق، وفقط إذا استمر Buffer_Valid() بإرجاع true، وهو ما يتطلب TimeCurrent()-g_sig.tstamp <= Sb_ValidityMinutes*60. مع نافذة الثلاث دقائق الافتراضية يكون لدى المستنير ثلاث دقائق للعمل فعلياً على الإشارة؛ بعدها يتم مسح المخزن بالسبب="expired". داخل هذه الدقائق الثلاث، يقوم RevalidateIfNeeded() بإعادة تشغيل ComputeTGB على آخر شمعة مغلقة، ويتحقق من أن الإغلاق لا يزال على الجانب الصحيح من النطاق ذي الصلة، وإذا كان Sb_MaxDriftPoints=100 مفعّلاً، يتحقق أيضاً من أن سعر ask/bid الحالي لم ينحرف أكثر من 100 نقطة عن سعر الارتكاز وقت التقاطع. هذا هو الدفاع الرئيسي للمستنير ضد مطاردة تقاطع تحرك بالفعل.

تعمل إدارة المراكز في كل تيك وتنقسم إلى روتينيين متوازيين. تجمع RunSLManagers() بين نموذجي وقف. طبقة DLP (تأمين الربح الديناميكي) مفعلة افتراضياً بـ SL_LockEveryXPoints=200 و SL_LockMinusBuffer=40: بمجرد تحرك السعر 200 نقطة في الربح، يتم رفع الوقف إلى open ± (1×200 - 40) = 160 نقطة. بعد 400 نقطة من الربح، يقفز الوقف إلى 360 نقطة. الخطوة أحادية الاتجاه — ModifySL() ترفض أي تعديل يخفف الوقف، ويتحقق التحقق أيضاً من SYMBOL_TRADE_STOPS_LEVEL للرمز حتى لا يقع الوقف الجديد داخل منطقة التجميد. اختيارياً، يقوم SL_EnableATR بتفعيل وقف مشتق من ATR عند SL_ATR_Period=14 و SL_ATR_Multiplier=2.0. يتم دمج الوقفين كـ"الأكثر أماناً": للشراء، يتم تطبيق الأعلى من الاثنين؛ للبيع، الأدنى. تعمل RunTPManager() فقط عندما يكون TP_EnableATR مفعّلاً وتستخدم مؤشر ATR منفصل (TP_ATR_Period=14، TP_ATR_Multiplier=2.0 افتراضياً)؛ عندما يتحرك السعر TP_ATR_Multiplier × ATR في الربح، يتم استدعاء ClosePosition() عبر غلاف CTrade وهو TryClose_EX12052() مع 3 محاولات إعادة على requote/timeout.

تحديد حجم المركز هو الجزء الأكثر قابلية للتكوين في المستنير. يقوم ComputeFinalVolume() بتشغيل خمس طرق تحديد حجم مستقلة بالتوازي — Sizing_Fixed (Sz_FixedLot=1.00 افتراضي، مفعّل)، Sizing_Balance (Sz_BalancePerLot=5000، معطل)، Sizing_Equity (Sz_EquityPerLot=5000، معطل)، Sizing_PercentRisk (Sz_RiskPercent=1.0%، معطل)، و Sizing_ATR (Sz_RiskPerATR=10، معطل) — ويختار الحد الأدنى من الطرق المفعّلة، ثم يمرر النتيجة عبر NormalizeVolume() التي تقرب إلى g_volstep وتقص بين Sz_MinLotClamp=0.01 و Sz_MaxLotClamp=50. التركيبة متحفظة عمداً: تفعيل المزيد من طرق تحديد الحجم لا يجعل اللوت أكبر أبداً، بل أصغر فقط. يستخدم PercentRisk EstimateSLDistancePointsForRisk() لمعرفة مسافة SL، مع تفضيل المساسة المشتقة من ATR إذا كان SL_EnableATR مفعّلاً، وإلا حجم خطوة DLP، وإلا Sz_RiskSL_FallbackPoints=300 الافتراضي.

يتم تكديس التأكيدات فوق التقاطع الأساسي. تعمل MA_OK() و RSI_OK() و ADX_OK() كحواجز مستقلة على الدخول وكلها معطلة افتراضياً — تشغيلها هو اختيار لكل مدخل. C_MA_Enabled مع C_MA_Period=200 و C_MA_Method=MODE_EMA يتطلب أن يكون السعر على الجانب الصحيح من MA (إغلاق ≥ MA للشراء، إغلاق ≤ MA للبيع). C_RSI_Enabled مع C_RSI_Period=14 والنطاقين C_RSI_BuyMax=60 / C_RSI_SellMin=40 يشفران تحيز الارتداد إلى المتوسط — شراء فقط عندما يكون RSI عند 60 أو أقل، بيع فقط عندما يكون RSI عند 40 أو أعلى. C_ADX_Enabled مع C_ADX_Period=14 و C_ADX_Min=15 يرشح الأسواق الأكثر هدوءاً من خلال اشتراط ADX ≥ 15. لا شيء من هذا مفعّل في الإعداد الافتراضي، لذا السلوك الافتراضي هو تقاطع TGB الخام مع التحقق من المخزن.

تعمل سلسلة البوابات في GatesOK() بهذا الترتيب في كل محاولة دخول: حداثة التيك (رفض إذا TimeCurrent() - tick.time > Misc_MaxTickAgeSec=5)، فحص الجلسة عبر SessionsOK()، SpreadOK() مع متوسط 200 تيك متحرك (أو 300 نقطة حد مطلق إذا F_Spread_UseAbsolute=trueSlippageOK() مع F_Slip_MaxPoints=5، التأكيدات الثلاثة، فحص الهامش الحر (FM_MinFreeMargin=500 افتراضياً)، نافذة إيقاف سلسلة الخسائر، حد المراكز الإجمالي (Add_MaxOpenTrades=5)، وأخيراً فحص ربحية الإضافات (Add_OnlyProfitable=true يتطلب أن تكون جميع المراكز في نفس الاتجاه رابحة بـ Add_MinProfitPts=5.0 نقطة على الأقل قبل أن تنطلق إضافة أخرى). الجلسات الافتراضية هي طوكيو 02:00-11:00، لندن 10:00-18:00، نيويورك 15:00-23:00، كلها من الاثنين إلى الجمعة فقط، مع تعطيل السبت والأحد.

تعيش حراسة الإيقاف في OnTradeTransaction(). عندما يُغلق صفقة بربح سالب (بعد swap والعمولة)، يزداد g_lossStreakCount؛ عند أول إغلاق رابح يعود إلى صفر. يتم إطلاق مشغلي إيقاف من السلسلة: Pause_OnLossCount=true مع Pause_LossCount=3 يعين g_tradePauseUntil إلى TimeCurrent() + 30 دقيقة (Pause_LossCount_Min=30)؛ Pause_OnLossAmount=true مع Pause_LossAmount=200 يعين نفس g_tradePauseUntil إلى TimeCurrent() + Pause_LossAmt_Min=30 دقيقة. أي مشغل يتم إطلاقه يمسح عدّاده بحيث تبدأ السلسلة التالية من جديد. يستخدم أمر الإرسال req.sl=0 و req.tp=0 عند الفتح — تتم إدارة SL و TP بالكامل بواسطة RunSLManagers() و RunTPManager() في التيكات اللاحقة، ولهذا السبب تعليقات الصفقة على المراكز هي الشيء الوحيد الذي يراه الوسيط وقت التنفيذ (يتم إرسال الأمر كأمر سوق بدون SL/TP صلب، ويسقط غلاف CTrade إلى أوضاع FOKIOCRETURN عبر ResolveFillingMode()).

ما يعنيه هذا للمتداول عملياً: المستنير ينتظر انحراف نطاق حقيقي، ويمسك الإشارة لمدة 3 دقائق مع إعادة فحص النطاقات، ولا يطلق النار إلا عندما يظل التقاطع صالحاً. ومن هناك يختار أصغر لوت تتفق جميع طرق تحديد الحجم المفعّلة على أنه آمن، ويدير المركز بسلم متدرج يقفل المزيد من الربح تدريجياً، ويخرج لمدة نصف ساعة بعد ثلاث خسائر متتالية أو 200 دولار من الخسارة التراكمية. مستوى المخاطرة الافتراضي متوسط مع حد أدنى للإيداع 100 دولار على XAUUSD. الإطار الزمني الافتراضي هو M1، ولكن يمكن تعيين StrategyTimeframe إلى M1 أو M5 أو M15 أو M30 أو H1 أو H4 أو D1، وعمل التيك رخيص بما يكفي ليعمل على جميعها دون مشاكل. ما دون M1 غير مدعوم بنطاق المدخلات؛ وما فوق D1 يصبح غلاف TGB أملس جداً لالتقاط معظم ارتدادات داخل اليوم.

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

يستبدل نطاق Gaussian الحقيقي Bollinger القياسي: تبني BuildGaussianWeights() نواة Pascal ذات الصف الثنائي، ويمرر ComputeTGB() تلك النواة إلى كل من المتوسط المرجح والتباين المرجح على TGB_Period=21 عينة، والنتيجة هي أغلفة TGB_StdDevFactor=2.0 التي تزن وسط النافذة بشكل أثقل من الأطراف. ثم يراقب ComputeIntent() إغلاق آخر شمعتين للبحث عن تقاطع لمسي مع النطاق — تحت-ثم-فوق النطاق السفلي يطلق شراء، فوق-ثم-تحت النطاق العلوي يطلق بيع. بدلاً من التصرف في التقاطع فوراً، يوقفه المستنير في SignalBuffer بصلاحية 3 دقائق، وتعيد TryEntries() في OnTick تشغيل فحص التقاطع عبر RevalidateIfNeeded() قبل أن يبني SendEntry() MqlTradeRequest — يخرج الأمر عند ask/bid مع req.sl=0 و req.tp=0 ويتم تنفيذه من خلال سلسلة FOKIOCRETURN الاحتياطية في ResolveFillingMode()، بينما يتم تكديس SL/TP الفعلي بعد ذلك بواسطة RunSLManagers() و RunTPManager() في كل تيك لاحق. يختار تحديد الحجم الحد الأدنى من اللوت من أي من النماذج الخمسة (Fixed, Balance, Equity, PercentRisk, ATR) المفعّلة، ويجمع مدير SL لكل تيك بين متدرج DLP و ATR-SL الاختياري كـ"الأكثر أماناً" قبل دفع الوقف الجديد عبر تحقق عدم التخفيف في ModifySL().

إشارة الدخول

يتم إطلاق الأوامر على تقاطع نطاق TGB: شراء عندما أغلقت الشمعة السابقة تحت النطاق Gaussian السفلي وتغلق الشمعة الأخيرة فوقه مرة أخرى، بيع على النسخة المعكوسة. مع Sb_EnableBuffer=true يتم الاحتفاظ بالتقاطع في SignalBuffer لمدة تصل إلى 3 دقائق (Sb_ValidityMinutes) وإعادة التحقق منه في كل تيك — RevalidateIfNeeded() يرفض الصفقة إذا عاد آخر إغلاق عبر النطاق أو إذا انحرف سعر ask/bid الحالي أكثر من Sb_MaxDriftPoints=100 عن سعر ارتكاز التقاطع. بعد ذلك تتجاوز الصفقة البوابات (حداثة التيك، الجلسة، السبريد، الانزلاق، تأكيدات MA/RSI/ADX الاختيارية، الهامش الحر، إيقاف سلسلة الخسائر، حد المراكز الإجمالي، فحص ربحية الإضافات) قبل أن يرجع ComputeFinalVolume() اللوت ويطلق SendEntry() أمر السوق عبر غلاف CTrade.

إشارة الخروج

تتم إدارة الخروج في كل تيك بواسطة RunTPManager()، التي تغلق المركز عندما يتحرك السعر TP_ATR_Multiplier=2.0 × ATR(14) في الربح (فقط عندما يكون TP_EnableATR مفعّلاً). إذا كان TP معطلاً، فإن مسار الخروج الصلب الوحيد هو تقاطع TGB عكسي في الاتجاه المعاكس أو انعكاس تأكيدات MA/RSI/ADX الاختيارية. كما يتم إغلاق جميع الصفقات المفتوحة قسرياً بواسطة غلاف CTrade وهو TryClose_EX12052() مع 3 محاولات إعادة (200ms sleep على requote/timeout) عند تشغيل TP، و ModifySL() لن تخفف الوقف تحت أي ظرف — بمجرد نقل الوقف، يتشدد فقط.

وقف الخسارة

وقف الخسارة هو الأكثر أماناً بين DLP و ATR-SL: خطوة متدرجة 200 نقطة مع عازل 40 نقطة (open ± (steps×200 - 40) بمجرد أن يصبح السعر في الربح) أو وقف جاذب ATR(14) × 2.0 — أيهما أقرب إلى السعر في الاتجاه الصحيح. ترفض ModifySL() أي تعديل يخفف وقفاً موجوداً، وتحترم SYMBOL_TRADE_STOPS_LEVEL، وتعمل في كل تيك. مع SL_EnableDLP=true (افتراضي) و SL_EnableATR=false (افتراضي)، يأتي المستنير مع متدرج DLP خالص وبدون طبقة ATR-SL إضافية.

جني الأرباح

جني الأرباح اختياري وقائم على ATR. عندما يكون TP_EnableATR=true، يغلق المستنير المركز بمجرد تحرك السعر TP_ATR_Period=14 × TP_ATR_Multiplier=2.0 في الربح من سعر الدخول، مع توجيه الإغلاق عبر إعادة المحاولة الثلاثية لـ TryClose_EX12052() في CTrade. مع تعطيل TP (افتراضي)، يتم الاحتفاظ بالمركز لأجل غير مسمى والخروج فقط على إشارة عكسية، أو إيقاف هامش حر، أو إغلاق يدوي — يحمي متدرج DLP الربح، لكن لا يوجد TP صلب على الأمر نفسه.

الأنسب لـ

موصى به لـ XAUUSD M1 (الإطار الزمني الافتراضي للاستراتيجية) وغيرها من رموز الارتداد إلى المتوسط عالية التذبذب على حساب ECN/RAW منخفض السبريد. مع اللوت الثابت الافتراضي 1.00 يحتاج المستنير إلى 100 دولار على الأقل من الرصيد لتداول الحد الأدنى من العقد، وإيقاف سلسلة الخسائر (200 دولار تراكمي أو 3 خسائر متتالية، 30 دقيقة تهدئة) يحافظ على ضرر الجلسة محدوداً. الجلسات الافتراضية طوكيو 02:00-11:00 / لندن 10:00-18:00 / نيويورك 15:00-23:00 مضبوطة لساعة خادم GMT+2 / GMT+3، لذا يجب على المتداولين على وسيط UTC تقديم Ses1/Ses2/Ses3_Start_HH بمقدار 2-3 ساعات. المخاطرة متوسطة افتراضياً لكنها ترتفع عند تفعيل جميع التأكيدات الأربعة في وقت واحد — معظم المستخدمين المباشرين سيشغلون مع تأكيدات معطلة ومتدرج DLP كحامي الربح الوحيد.

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

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

العائلة: MultiIndicatorConfluence الماجيك: 22212052 الإصدار: 2.00

الوصف: True Gaussian Bands mean-reversion EA with Gaussian- weighted MA and standard deviation bands, signal buffer with revalidation, multi-model position sizing, DLP stop manager, optional ATR-SL/TP, and multi-session filtering. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • Log()
  • LogThrottled()
  • RefreshSymbolInfo()
  • PointsToPrice()
  • PriceToPoints()
  • DayEnabled()
  • InSession()
  • SessionsOK()
  • GetCurrentSpreadPoints()
  • Median()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX12052 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// True Gaussian Bands mean-reversion EA with Gaussian- weighted MA and standard deviation bands, signal buffer with revalidation, multi-model position sizing, DLP stop manager, optional ATR-SL/TP, and multi-session filtering. 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
الأطر الزمنية المُحسّنة:
M1H1

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
InpMagicNumber222120522220 + Expert ID (314)
InpSymbol""Symbol override ("" = chart symbol) (Opt: -, -, -)
StrategyTimeframe1Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // StrategyTimeframe (Opt: PERIOD_M1,1,PERIOD_M15)
InpOrderFillingFillAutoOrder filling mode: Auto/FOK/IOC/RETURN (Opt: 0,1,3)
InpAllowBuytrueAllow BUY entries (Opt: false, true, true)
InpAllowSelltrueAllow SELL entries (Opt: false, true, true)
TGB_Period21TGB Period (odd recommended) (Opt: 7,2,61)
TGB_StdDevFactor2.0Bands StdDev Multiplier (Opt: 0.5,0.1,4.0)
TGB_Price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// Applied price (Opt: PRICE_CLOSE,1,PRICE_TYPICAL)
TGB_MinHistoryBars200Minimum bars to operate (Opt: 100,50,2000)
Sb_EnableBuffertrueEnable Signal Buffer (Opt: false, true, true)
Sb_ValidityMinutes3SignalValidityMinutes (Opt: 1,1,60)
Sb_RevalidateDirectiontrueRevalidateDirection before order send (Opt: false, true, true)
Sb_MaxDriftPoints100MaxDriftPoints from anchor (points) (Opt: 0,10,1000)
F_Spread_EnabledtrueEnable Spread Filter (Opt: false, true, true)
F_Spread_UseAbsolutefalseUse Absolute cap (else median×multiplier) (Opt: false, true, true)
F_Spread_AbsCapPoints300Absolute cap (points) (Opt: 50,10,2000)
F_Spread_MedianTicks200Rolling median window (ticks) (Opt: 50,10,2000)
F_Spread_MedianMult3.0Multiplier × rolling median (Opt: 1.0,0.1,5.0)
F_Slip_EnabledtrueEnable Slippage Filter (Opt: false, true, true)
F_Slip_MaxPoints5Max permitted slippage (points) (Opt: 1,1,50)
Ses_EnabledtrueEnable Sessions Filter (Opt: false, true, true)
Ses1_Start_HH02S1 Start Hour (Opt: 0,1,23)
Ses1_Start_MM00S1 Start Minute (Opt: 0,1,59)
Ses1_End_HH11S1 End Hour (Opt: 0,1,23)
Ses1_End_MM00S1 End Minute (Opt: 0,1,59)
Ses1_MontrueS1 Monday (Opt: false, true, true)
Ses1_TuetrueS1 Tuesday (Opt: false, true, true)
Ses1_WedtrueS1 Wednesday (Opt: false, true, true)
Ses1_ThutrueS1 Thursday (Opt: false, true, true)
Ses1_FritrueS1 Friday (Opt: false, true, true)
Ses1_SatfalseS1 Saturday (Opt: false, true, true)
Ses1_SunfalseS1 Sunday (Opt: false, true, true)
Ses2_Start_HH10S2 Start Hour (Opt: 0,1,23)
Ses2_Start_MM00S2 Start Minute (Opt: 0,1,59)
Ses2_End_HH18S2 End Hour (Opt: 0,1,23)
Ses2_End_MM00S2 End Minute (Opt: 0,1,59)
Ses2_MontrueS2 Monday (Opt: false, true, true)
Ses2_TuetrueS2 Tuesday (Opt: false, true, true)
Ses2_WedtrueS2 Wednesday (Opt: false, true, true)
Ses2_ThutrueS2 Thursday (Opt: false, true, true)
Ses2_FritrueS2 Friday (Opt: false, true, true)
Ses2_SatfalseS2 Saturday (Opt: false, true, true)
Ses2_SunfalseS2 Sunday (Opt: false, true, true)
Ses3_Start_HH15S3 Start Hour (Opt: 0,1,23)
Ses3_Start_MM00S3 Start Minute (Opt: 0,1,59)
Ses3_End_HH23S3 End Hour (Opt: 0,1,23)
Ses3_End_MM00S3 End Minute (Opt: 0,1,59)
Ses3_MontrueS3 Monday (Opt: false, true, true)
Ses3_TuetrueS3 Tuesday (Opt: false, true, true)
Ses3_WedtrueS3 Wednesday (Opt: false, true, true)
Ses3_ThutrueS3 Thursday (Opt: false, true, true)
Ses3_FritrueS3 Friday (Opt: false, true, true)
Ses3_SatfalseS3 Saturday (Opt: false, true, true)
Ses3_SunfalseS3 Sunday (Opt: false, true, true)
C_MA_EnabledfalseEnable Trend/MA confirmation (Opt: false, true, true)
C_MA_Period200MA Period (Opt: 50,10,400)
C_MA_MethodMODE_EMAMA Method (Opt: MODE_SMA,1,MODE_LWMA)
C_MA_Price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// MA Price (Opt: PRICE_CLOSE,1,PRICE_TYPICAL)
C_RSI_EnabledfalseEnable RSI confirmation (Opt: false, true, true)
C_RSI_Period14RSI Period (Opt: 5,1,50)
C_RSI_BuyMax60BUY if RSI <= BuyMax (mean-rev bias) (Opt: 40,1,80)
C_RSI_SellMin40SELL if RSI >= SellMin (Opt: 20,1,80)
C_ADX_EnabledfalseEnable ADX confirmation (Opt: false, true, true)
C_ADX_Period14ADX Period (Opt: 7,1,50)
C_ADX_Min15Min ADX to allow entries (Opt: 5,1,40)
Sz_EnableFixedtrueEnable Fixed Lot (Opt: false, true, true)
Sz_FixedLot1.00Fixed Lot (lots) (Opt: 0.01,0.01,5.00)
Sz_EnableBalancefalseEnable Balance-based sizing (Opt: false, true, true)
Sz_BalancePerLot5000.0BalancePerLot ($ per 1.0 lot) (Opt: 1000,500,20000)
Sz_EnableEquityfalseEnable Equity-based sizing (Opt: false, true, true)
Sz_EquityPerLot5000.0EquityPerLot ($ per 1.0 lot) (Opt: 1000,500,20000)
Sz_EnablePercentRiskfalseEnable %Risk sizing (Opt: false, true, true)
Sz_RiskPercent1.0%Risk per trade (of Balance) (Opt: 0.1,0.1,5.0)
Sz_RiskSL_FallbackPoints300Fallback SL distance (points) if no ATR-SL & DLP step (Opt: 50,10,1500)
Sz_EnableATRfalseEnable ATR-based sizing (Opt: false, true, true)
Sz_ATR_Size_Period14ATR period for sizing (Opt: 5,1,50)
Sz_RiskPerATR10.0RiskPerATR ($ per 1×ATR move) (Opt: 1,1,200)
Sz_MinLotClamp0.01User min lot clamp (lots) (Opt: 0.01,0.01,1.0)
Sz_MaxLotClamp50.0User max lot clamp (lots) (Opt: 0.1,0.1,100.0)
SL_EnableDLPtrueEnable Dynamic Lock Profit (primary) (Opt: false, true, true)
SL_LockEveryXPoints200DLP: lock step size (points) (Opt: 50,10,1500)
SL_LockMinusBuffer40DLP: minus buffer (points) (Opt: 0,5,200)
SL_EnableATRfalseEnable ATR-SL (safer-of vs DLP) (Opt: false, true, true)
SL_ATR_Period14ATR period for SL (Opt: 5,1,50)
SL_ATR_Multiplier2.0ATR Multiplier for SL (Opt: 0.5,0.1,6.0)
TP_EnableATRfalseEnable ATR-based TP close (Opt: false, true, true)
TP_ATR_Period14ATR period for TP (Opt: 5,1,50)
TP_ATR_Multiplier2.0ATR Multiplier for TP (Opt: 0.5,0.1,6.0)
Add_MaxOpenTrades5MaxOpenTrades total (Opt: 1,1,20)
Add_OnlyProfitabletrueAllowOnlyProfitableAdditions (Opt: false, true, true)
Add_MinProfitPts5.0MinProfitPerTradeToAdd (points) (Opt: 2,1,200)
Pause_OnLossCounttruePauseOnConsecutiveLosses (Opt: false, true, true)
Pause_LossCount3PauseConsecutiveLossesCount (Opt: 2,1,10)
Pause_LossCount_Min30PauseConsecutiveLossesMinutes (Opt: 5,5,240)
Pause_OnLossAmounttruePauseOnLossAmount (Opt: false, true, true)
Pause_LossAmount200.0PauseLossAmount ($) (Opt: 50,10,5000)
Pause_LossAmt_Min30PauseLossAmountMinutes (Opt: 5,5,240)
FM_PauseOnLowMargintruePauseOpeningNewTradesOnFreeMargin (Opt: false, true, true)
FM_MinFreeMargin500.0FreeMarginRequiredBeforeOpenNewTrade ($) (Opt: 100,50,10000)
Misc_MaxTickAgeSec5Reject ticks older than (s) (Opt: 1,1,15)
Misc_DebugtrueEnable debug logs (Opt: false, true, true)
Misc_DebugThrottleSec5Min seconds between status logs (Opt: 1,1,60)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX12052.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX12052 EX18 — True Gaussian Bands mean-reversion EA with DLP and multi-model sizing, full 12-layer stack."
#include <Trade\Trade.mqh>

//------------------------------------ Utility Macros ------------------------------------
#define  ARR_SIZE(a)      (int(ArraySize(a)))
#define  CLAMP(x,a,b)     (MathMax((a), MathMin((x),(b))))
#define  EPS              1e-12

//------------------------------------ Enumerations --------------------------------------
enum ENUM_FillOpt { FillAuto=0, FillFOK=1, FillIOC=2, FillRETURN=3 };

//--------------------------------------------------------------------------------------------------
// 1. CORE IDENTIFIERS & EXECUTION CONTEXT
//--------------------------------------------------------------------------------------------------
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_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}
ENUM_TIMEFRAMES g_StrategyTimeframe = PERIOD_H1;
ENUM_APPLIED_PRICE g_TGB_Price = PRICE_CLOSE;
ENUM_APPLIED_PRICE g_C_MA_Price = PRICE_CLOSE;
input group "=== CORE IDENTIFIERS & EXECUTION CONTEXT ==="
input long           InpMagicNumber        = 22212052;                  // 2220 + Expert ID (314)
input string         InpTradeComment = "Psgrowth.com Expert_12052";
input string         InpSymbol             = "";         // Symbol override ("" = chart symbol) (Opt: -, -, -)
input int StrategyTimeframe = 1; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)  // StrategyTimeframe (Opt: PERIOD_M1,1,PERIOD_M15)
input ENUM_FillOpt   InpOrderFilling       = FillAuto;   // Order filling mode: Auto/FOK/IOC/RETURN (Opt: 0,1,3)
input bool           InpAllowBuy           = true;       // Allow BUY entries (Opt: false, true, true)
input bool           InpAllowSell          = true;       // Allow SELL entries (Opt: false, true, true)

//--------------------------------------------------------------------------------------------------
// 2. ENTRY SIGNAL (TRUE GAUSSIAN BANDS)

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

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

الوسوم:ex12052multiindicatorconfluencepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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