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

Pipsgrowth EX15006 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX15006 SMC-OrderBlock — ICT/SMC scalper. Signal = swing-pivot BOS/CHoCH + liquidity sweep + Fair Value Gap + Order Block tap, scored 0-100. Entr. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يدير Pipsgrowth EX15006 قاموس ICT / SMC الكامل — كسر البنية، تغيّر الشخصية، كنس السيولة، فجوة القيمة العادلة، كتلة الأوامر — من خلال درجة مرجحة واحدة من 0 إلى 100 تقرر ما إذا كانت الصفقة ستنطلق. يعني InpSignalMinScore = 65 الافتراضي أن المركز لا يُفتح إلا عندما يتفق كاشفان بنيويان على الأقل مع كاشف فجوة قيمة عادلة أو كتلة أوامر داخل منطقة قتل لندن 08:00-10:00 أو نيويورك 13:00-15:00 بتوقيت الخادم، وبعد اجتياز فحص EMA(50) على H1، وشمعة ابتلاع أو ذات جسم كامل، وفحص عدم انخفاض الحجم. النتيجة سلابر انتقائي عمدًا لـ XAUUSD على M5 ينتج، في نافذة لندن أو نيويورك نموذجية، بضع صفقات بدلًا من العشرات — والدرجة تخبرك في رقم واحد بسبب ذلك.

البنية مبنية حول SignalDir(). تعمل خمسة كاشفات بالتسلسل ويساهم كل منها في درجة الثيران أو الدببة. يبحث IsBOS() عن إغلاق beyond محور الأرجوحة الأخير على مدى DEF_BOS_LOOKBACK = 5 شموع؛ ويبحث IsCHoCH() عن إغلاق beyond محور الأرجوحة المعاكس على مدى DEF_CHOCH_LOOKBACK = 10 شموع. أي كسر بنيوي يضيف 30 إلى جانبه. يتحقق IsLiquiditySweep() مما إذا كان امتداد آخر DEF_LIQ_LOOKBACK = 20 شمرة قد اخترق بمقدار DEF_LIQ_SWEEP_PIPS = 0.2 نقطة على الأقل وأغلق السعر داخله مجددًا — وهذا يضيف 15. يمشي IsFVG() خلال آخر 10 شموع مغلقة بحثًا عن فجوة قيمة عادلة غير مُلبّأة من 3 شموع لا تقل عن DEF_FVG_MIN_PIPS = 0.5 نقطة، ثم يتحقق مما إذا كان آخر إغلاق قد ارتد إلى منتصف الفجوة (DEF_FVG_RET_PCT = 50%) — الإصابة تضيف 25. يمسح IsOrderBlock() آخر 20 شمرة باحثًا عن آخر شمرة بلون معاكس سبقتها شمعتا زخم على الأقل، مع استقرار الإغلاق الحالي داخل نطاقها — وهذا يضيف 30. يحصل كل جانب أيضًا على مكافأة قاعدة سياقية قدرها 10 نقاط، لذا الحد الأقصى النظري 110 يُقصّ إلى 100 في الكود.

ليست الدرجة زخرفية — مفاتيح مدخلات الإشارة الثلاثة (InpRequireFVG، InpRequireOB، InpRequireSweep) تُصفّر جانبًا نهائيًا عندما يخفق كاشفه. مع تعيين كل من FVG وOB على true (الافتراضي)، فإن إعداد شراء يفتقر إلى FVG يُسقط درجة الثيران إلى 0 بغض النظر عن عدد إصابات BOS أو CHoCH أو كنس التي جمعها. هذا ما يجعل الدرجة بوّابة بنيوية بدلًا من تصويت: لن يدخل الـ EA صفقة على البنية وحدها إذا لم تكن هناك فجوة سيولة تُملأ. الدرجة هي أيضًا حيث يربح كاشف الكنس ربحه — عند تمكين InpRequireSweep = true، حتى ثلاثية BOS + FVG + OB نظيفة تحتاج إلى غارة سيولة سابقة لتسجّل على الإطلاق.

قبل أن تصبح الدرجة مركزًا، تُشغّل TryEntry() ثلاث حالات تأكيد مستقلة. تقرأ HTFTrendAgrees() المقبض g_hEmaH لـ EMA(50) على H1 وترفض أي صفقة اتجاهها يخالف إغلاق الإطار الزمني الأعلى — ما لم يُقلب InpAllowCounterTrend. تتطلب EngulfingOrMomentum() أن تكون آخر شمرة ذات جسم كامل (الجسم > 60% من المدى) أو ابتلاع كلاسيكي للشمعة السابقة؛ تُرفض الشمرة صغيرة الجسم أو الدوجي أو بن بار بسجل weak-candle. تقرأ VolNotSpikeDown() آخر 10 شموع من حجم التيكر وتطالب الشمرة الحالية بألا تقل عن 50% من المتوسط المتحرك — يُسمح للشمعة الهادئة، ولا يُسمح بالفراغ. فقط بعد اجتياز الثلاثة يحسب الـ EA حجم اللوت من CalcLotByRisk() ويستدعي SendMarket() بـ SL = ATR(14) × InpATRslMult = 1.5 وTP = ATR(14) × InpATRtpMult = 2.5. تتحقق الدالة بعد ذلك من أن نسبة العائد إلى المخاطرة الفعلية لا تقل عن InpMinRR = 1.5 بعد تقريب مستوى الوقوف عند الوسيط — يمكن لعقد ذهب على وسيط 5 أرقام بمستوى وقوف 30 نقطة أن يُضعف نسبة RR تحت الحد، وفي هذه الحالة تُرفض الصفقة بسجل RR low.

سقف تخصيص رأس المال هو الخيار التصميمي المُلزِم. تُرجع EffCapital() قيمة AccountInfo::Equity() - ربح/خسارة اليوم المحققة ثم تقص النتيجة عند InpCapAmount (الافتراضي 0، أي معطّل). عند التعيين، ترتبط كل طبقة قائمة على النسبة في الـ EA — مخاطر InpRiskPercent = 0.5% لكل صفقة، وInpDailyLossPct = 3% الحد اليومي، وDEF_WEEKLY_LOSS_PCT = 7% الحد الأسبوعي، وDEF_PORTFOLIO_HEAT_PCT = 6% سقف الحرارة الإجمالي، وبوّابة InpCapFloor = 50 للحظر تحت الأرضية — جميعها برأس المال المحدود بدلًا من رصيد الحساب الحقيقي. متداول بحساب 5,000 دولار يُعيّن InpCapAmount = 500 يدير فعليًا تخصيص 10%، وجميع حسابات المخاطر تتبع تلك الكسر. هذه هي الآلية التي تتيح لـ PortfolioHeat() إبقاء مخاطر المراكز المفتوحة التراكمية محدودة: تجمع (entry - SL) / tickSize × tickValue × volume عبر جميع المراكز تحت السحر، وتقسم على g_effCapital × 6%، وترفض الإدخالات الجديدة عندما تصل النسبة إلى 1.0.

تعمل الإدارة على كل تيكر، وليس فقط على شمرة الإشارة. تقرأ ManageOpenPositions() قيمة ATR(14) مرة لكل تيكر وتمشي قائمة المراكز: عند +1R (عبر DEF_BE_TRIGGER_R = 1.0) ينتقل وقف الخسارة إلى نقطة الدخول بالضبط؛ عند نفس عتبة +1R، يُغلق DEF_PARTIAL_PCT = 50% من المركز عبر TryClosePartial_EX15006؛ من تلك النقطة فصاعدًا، يتبع الوقف السعر على مسافة InpTrailATRmult = 2.0 × ATR خلف السعر. لا يحرك التريل وقف الخسارة إلا في الاتجاه المواتي — newSL > sl + stopsPts للشراء، newSL < sl - stopsPts للبيع — ولا يوسّعه أبدًا. جميع مسارات التعديل الثلاث ملفوفة في حلقات إعادة محاولة من 3 محاولات (Sleep(200) للإغلاقات، Sleep(100) للتعديلات) تتعامل مع الرموز REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED. يُغلق خرج الإشارة المعاكسة في CheckExits() أي مركز مفتوح عندما يُرجع SignalDir() جديد الاتجاه المعاكس بثقة ≥ 80، ويُطلق وقف الوقت الصلب عند DEF_MAX_BARS_IN_TRADE = 60 شمرة M5 (5 ساعات من وقت المخطط).

مُصنّف النظام هو حارس البوابة البنيوية. تسحب CalcRegime() 100 شمرة من ATR(14)، وشمعتين من ADX(14)، وشمعتين من بولنجر باندز(20، 2.0) لتوسم الحالة الحالية. تدفع النسبة المئوية السبعون لتاريخ ATR (atr70) ومقارنة عرض النطاقات bbU - bbL بين الشمرة 0 والشمرة 1 معظم القرارات. الحالات السبع هي: Choppy (احتياطي افتراضي)، Range (ATR تحت النسبة المئوية 30 AND ADX < 18)، WeakTrend (ADX 20-27)، StrongTrend (ADX ≥ 28)، Compress (النطاقات تضيق AND العرض < المتوسط × 0.001Expand (فوق النسبة المئوية 70 للـ ATR دون تأكيد اتجاه)، وBreakout (ATR > 70 × 1.05 AND ADX > 25 AND النطاقات تتوسع). يحظر Choppy الإدخالات تمامًا. الست الأخرى مسموح بها لكن كل منها يحمل قراءة ثقة confOut يمكن لطبقة الإدارة الواعية بالنظام قراءتها في مراجعات مستقبلية.

مجموعة عدم التداول متدرجة وصريحة. تسمح IsInKillzone() بالإدخالات فقط بين 08:00-10:00 و13:00-15:00 بتوقيت الخادم — ساعتان بالضبط لكل جلسة، دون تداخل، دون جلسة آسيوية. ترفض SpreadOK() عندما يتجاوز السبريد DEF_MAX_SPREAD_PTS = 30 نقطة. توقف IsNewsWindow() التداول 30 دقيقة قبل و15 دقيقة بعد دقائقي الأخبار 08:30 و13:30 بتوقيت الخادم — blackout محكم يمكن التنبؤ به بدلًا من موجز أخبار متجدد. تحظر WeekendProximity() الإدخالات الجديدة من الجمعة 22:00 فصاعدًا وفي السبت والأحد. تحظر CooldownActive() لمدة DEF_COOLDOWN_BARS = 3 شموع بعد InpCooldownLosses = 3 خسائر متتالية. تفرض MaxSymbolExposure() مركزًا واحدًا مفتوحًا لكل رمز، ويفرض الحلقة التالية InpMaxOpenTrades = 2 إجماليًا. يقطع DailyLossExceeded() وWeeklyLossExceeded() اليوم أو الأسبوع بمجرد أن ينخفض ربح/خسارة محقق على السحر تحت الحد المرتبط بالسقف.

InpDryRun = true هو الافتراضي والحالة المُوصى بها للبدء. مع تمكينه، تسجل SendMarket() [DRYRUN] BUY lot=... sl=... tp=... tag=... وتُرجع النجاح دون إرسال؛ وتسجل ManageOpenPositions() [DRYRUN] BE ticket=... و[DRYRUN] Trail ticket=... و[DRYRUN] Partial ticket=... دون لمس المركز؛ وتسجل CheckExits() [DRYRUN] OppSigExit ticket=... و[DRYRUN] TimeExit ticket=.... تعليق الصفقة الذي كان سيُرسل هو "Psgrowth.com Expert_15006_<score>" — تصبح الدرجة وسم الصفقة، لذا يُظهر تحليل ما بعد التشغيل لسجل التشغيل الجاف بالضبط أحجام الدرجات التي كان سيدخلها الـ EA. يُجهض InpKillSwitch دالة OnInit() فورًا عند التعيين عند الإطلاق — مفيد لتعطيل الـ EA من لوحة المدخلات دون إزالته من المخطط. يُحرر تنظيف OnDeinit() جميع مقابض المؤشرات الستة ويزيل أي كائنات مخطط بالبادئة ICT696_.

لياقة OnTester() المخصصة هي (net × profitFactor) / (1 + equityDDPercent)، وتُرجع 0 لأي مرور بأقل من 30 صفقة. حد 30 صفقة صادق — يُعاقب الباك تيستات القصيرة التي كانت ستحصل على درجات عالية اصطناعيًا على عينات صغيرة. مجتمعة مع بوّابة النظام وblackout الأخبار وتقييد منطقة القتل وربط سقف رأس المال، صُمم الـ EA لإنتاج عدد صغير وموصوف جيدًا من الصفقات في مرور Strategy Tester ثم التصرف باستمرار عند تشغيله على حساب حي بنفس مجموعة المدخلات. يتعامل مسار إعادة المحاولة في SendMarket() في الوضع الحي مع REQUOTE / PRICE_OFF / TIMEOUT بمحاولة واحدة بعد تحديث أسعار الرمز؛ وتضيف مساعدات إعادة المحاولة TryClose_EX15006 وTryClosePartial_EX15006 وTryModify_EX15006 محاولتين إضافيتين لكل منها، لذا إجمالي مرونة الإغلاق والتعديل يصل إلى 3 محاولات لكل موقع استدعاء — تكرار متعمد لسلابر منطقة قتل حيث يمكن أن يكون الفشل في الإغلاق عند ارتداد 5 شموع الفرق بين +1R و-1.5R.

من الناحية العملية، يتوقع الـ EA حدًا أدنى قدره 100 دولار على XAUUSD M5 من وسيط ECN سبريد منخفض تقع ساعته في يوم التداول الأوروبي أو الأمريكي. يفترض سقف السبريد 30 نقطة سبريدات في نطاق 15-25 نقطة في الظروف العادية؛ الوسيط الذي يوسّع إلى 40+ نقطة عند افتتاح نيويورك سيرى الـ EA يرفض معظم الإدخالات. مع مخاطر 0.5% افتراضية لكل صفقة ونسبة عائد إلى مخاطرة 1.67:1، تستنفد ست خسائر متتالية الحد اليومي 3% — طبقة البقاء هي سقف رأس المال وانضباط منطقة القتل، وليست نتيجة أي صفقة واحدة.

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

تُحدّث OnTick() أولاً مقابض المؤشرات الستة — g_hATR (ATR(14))، g_hADX (ADX(14))، g_hBB (بولنجر باندز(20، 2.0))، g_hRSI (RSI(14))، g_hEmaL (EMA(20) على M5g_hEmaH (EMA(50) على H1) — وتعيد حساب g_effCapital = min(InpCapAmount, Account.Equity() - ربح/خسارة اليوم المحققة). البوّابة الصلبة هي مجموعة عدم التداول: SpreadOK() (≤ 30 نقطة)، IsInKillzone() (08:00-10:00 أو 13:00-15:00 الخادم)، IsNewsWindow() (متوقفة 30/15 دقيقة حول 08:30 و13:30)، WeekendProximity() (الجمعة 22:00 فصاعدًا وعطلات نهاية الأسبوع)، CooldownActive() (3 شموع بعد 3 خسائر)، MaxSymbolExposure() (1 لكل رمز)، وسقف InpMaxOpenTrades = 2، بالإضافة إلى DailyLossExceeded() وWeeklyLossExceeded(). ثم توسم CalcRegime() السوق بإحدى 7 حالات (Choppy يحظر تمامًا؛ Range، WeakTrend، StrongTrend، Compress، Expand، Breakout مسموح بها). فقط على شمرة مغلقة جديدة — ببوّابة IsNewBar() التي تُحدّث g_lastBarTime — تستدعي TryEntry() الدالة SignalDir() لتسجّل BOS/CHoCH (30)، وكنس (15)، وFVG (25)، وOB (30)، وقاعدة (10) مع إمكانية تصفير FVG/OB/كنس نهائيًا، ثم تضيف طبقات HTFTrendAgrees() وEngulfingOrMomentum() وVolNotSpikeDown(). يُحسب SL = ATR×1.5 وTP = ATR×2.5 من InpRiskPercent = 0.5% من رأس المال المحدود عبر CalcLotByRisk()، مع PortfolioHeat() < 1.0 وInpMinRR = 1.5 كبوّابات الإرسال النهائية. تُعيد SendMarket() المحاولة مرة واحدة على REQUOTE / PRICE_OFF / TIMEOUT بعد g_sym.RefreshRates(). على كل تيكر، تُشغّل ManageOpenPositions() التعادل عند +1R، وجني الأرباح الجزئي 50% عند +1R، وتريل ATR×2.0؛ وتُشغّل CheckExits() مخارج الإشارة المعاكسة عند ثقة 80 ووقت 60 شمرة. InpDryRun = true هو الافتراضي — جميع عمليات الإرسال والتعديل تسجل سطور [DRYRUN] وتُرجع النجاح دون لمس الوسيط. لياقة OnTester() المخصصة هي (net × profitFactor) / (1 + equityDDPercent)، وتُرجع 0 لأي مرور بأقل من 30 صفقة.

إشارة الدخول

لا تنطلق الصفقات إلا على شمرة M5 مغلقة داخل منطقة قتل لندن 08:00-10:00 أو نيويورك 13:00-15:00 بتوقيت الخادم، وبعد أن تُرجع SignalDir() درجة 0-100 ≥ InpSignalMinScore = 65. تجمع الدرجة بين كسر البنية أو تغيّر الشخصية عبر مسح أرجوحة 5/10 شموع (30 نقطة)، وكنس سيولة اختياري beyond امتداد 20 شمرة بمقدار 0.2 نقطة (15 نقطة)، وفجوة قيمة عادلة نشطة غير مُلبّأة من 3 شموع ≥ 0.5 نقطة (25 نقطة)، ولمس كتلة أوامر داخل آخر 20 شمرة (30 نقطة)، مع إلزامية FVG وOB افتراضيًا — عند غياب أي منهما يُصفّر جانبه نهائيًا. يجب أن تجتاز ثلاث حالات تأكيد — اتفاق EMA(50) على H1، وشمرة ذات جسم كامل أو ابتلاع، وحجم تيكر ≥ 50% من متوسط 10 شموع — قبل أن تحسب TryEntry() حجم اللوت من InpRiskPercent = 0.5% من رأس المال المحدود وترسل بـ SL = ATR(14)×1.5 وTP = ATR(14)×2.5، مع بوّابة InpMinRR = 1.5 بعد تقريب مستوى الوقوف عند الوسيط.

إشارة الخروج

ثلاثة مخارج متدرجة تعمل على كل تيكر. تنقل ManageOpenPositions() وقف الخسارة إلى نقطة الدخول عند +1R لتحقيق التعادل، وتغلق 50% من المركز عند نفس محفز +1R عبر TryClosePartial_EX15006، ثم تتبع وقف الخسارة على مسافة ATR(14) × InpTrailATRmult = 2.0 خلف السعر — التريل لا يحرك وقف الخسارة إلا في الاتجاه المواتي. تضيف CheckExits() مخرج الإشارة المعاكسة (يُغلق عندما يُرجع SignalDir() جديد الاتجاه المعاكس بثقة ≥ 80) ووقف وقت صلب عند DEF_MAX_BARS_IN_TRADE = 60 شمرة M5 (5 ساعات). جميع مسارات الإغلاق والتعديل الثلاث ملفوفة في مساعدات إعادة المحاولة بثلاث محاولات TryClose_EX15006 وTryClosePartial_EX15006 وTryModify_EX15006 (200ms إغلاق / 100ms تعديل على REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED).

وقف الخسارة

وقف الخسارة الابتدائي = ATR(14) × InpATRslMult = 1.5، مقصوصًا عند مستوى وقوف الوسيط + 1 نقطة. عند +1R ينتقل الوقف إلى نقطة الدخول بالضبط لتحقيق التعادل؛ بعد ذلك يتبع السعر على مسافة ATR(14) × InpTrailATRmult = 2.0 خلفه ولا يتوسّع أبدًا. لا يوجد وقف خسارة عالمي على الأسهم — تُحد الخسائر بواسطة وقف الخسارة لكل صفقة بالإضافة إلى سقف صلب للخسارة اليومية 3% والأسبوعية 7% من رأس المال المحدود، وسقف حرارة محفظة إجمالي 6% (PortfolioHeat() >= 1.0 يحظر الإدخالات الجديدة)، وحاجز InpCapFloor = 50 تحت رأس المال.

جني الأرباح

جني الأرباح الابتدائي = ATR(14) × InpATRtpMult = 2.5 لنسبة عائد إلى مخاطرة افتراضية 1.67:1، مع رفض TryEntry() لأي أمر يُخفض فيه تقريب الوسيط نسبة RR الفعلية تحت InpMinRR = 1.5. كما يُغلق 50% من المركز عند +1R كجني أرباح جزئي عبر TryClosePartial_EX15006، وبعدها يتبع الباقي وقف التريل بالـ ATR أو مخرج الإشارة المعاكسة / الوقت عند 60 شمرة. لا يوجد جني أرباح سلة بنسبة R ثابتة — تنتهي حياة الصفقة عند TP أو الإشارة المعاكسة أو وقف الوقت، أيهما ينطلق أولًا.

الأنسب لـ

يُنشر بشكل أفضل على XAUUSD M5 بحد أدنى 100 دولار على وسيط ECN سبريد منخفض تقع ساعته في ساعات التداول الأوروبية أو الأمريكية حتى تتداخل مناطق قتل لندن 08:00-10:00 ونيويورك 13:00-15:00 مع السيولة الحقيقية. يجعل سقف تخصيص رأس المال (InpCapAmount) هذا مناسبًا للمتداولين الذين يديرون حسابًا فرعيًا أو استراتيجية نسبة ثابتة على شريحة من حساب أكبر — حساب 5,000 دولار مع InpCapAmount = 500 يتداول كما لو أن الرصيد 500 دولار، وتناسب حدود الخسارة اليومية 3% والأسبوعية 7% من رأس المال المحدود المشغلين الحذرين من المخاطر الذين يريدون إطار مناطق قتل ICT دون التجاوزات التقديرية. اترك InpDryRun = true لجلسة لندن + نيويورك كاملة على الأقل لتدقيق السجل، ثم عطّله للنشر الحي.

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

Pipsgrowth EX15006 SMC-OrderBlock — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: SMC-OrderBlock الماجيك: 22215006 الإصدار: 2.00

الوصف: ICT/SMC scalper. Signal = swing-pivot BOS/CHoCH + liquidity sweep + Fair Value Gap + Order Block tap, scored 0-100. Entry on closed bar after price retraces into FVG/OB inside London/NY killzone. Confirm = HTF EMA(50) agreement + engulf/momentum + min R/R. Capital-cap, ATR trailing, break-even, partial TP, opposite-signal + regime-change exits. Default DRY-RUN. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • ATR
  • ADX
  • BB
  • RSI
  • EmaL
  • EmaH

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

  • BarTime()
  • BarO()
  • BarH()
  • BarL()
  • BarC()
  • ResetDayWeekAnchors()
  • EffCapital()
  • RealizedPnL()
  • NormPrice()
  • NormLot()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX15006 SMC-OrderBlock — Execution Flow (from source analysis)
// Family: SMC-OrderBlock
// ICT/SMC scalper. Signal = swing-pivot BOS/CHoCH + liquidity sweep + Fair Value Gap + Order Block tap, scored 0-100. Entry on closed bar after price retraces into FVG/OB inside London/NY killzone. Confirm = HTF EMA(50) agreement + engulf/momentum + min R/R. Capital-cap, ATR trailing, break-even, partial TP, opposite-signal + regime-change exits. Default DRY-RUN. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: ATR, ADX, BB, RSI, EmaL, EmaH
    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
الأطر الزمنية المُحسّنة:
M5M15

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

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

المعاملالافتراضيالوصف
InpMagic22215006Magic number
InpTradeComment"Psgrowth.com Expert_15006"Trade comment
InpDryRuntrueDry-run (no live orders)
InpKillSwitchfalseGlobal kill switch
InpRiskPercent0.5Risk % per trade (of effective cap)
InpFixedLot0.01Fixed lot (used if Risk%<=0)
InpDailyLossPct3.0Max daily loss % (of effective cap)
InpMaxOpenTrades2Max concurrent trades (this EA)
InpMaxSymbolExp1Max concurrent trades per symbol
InpCooldownLosses3Consecutive losses to trigger cooldown
InpCapAmount0.0Capital cap amount ($, real money)
InpCapFloor50.0Capital floor ($, block entries)
InpRequireFVGtrueRequire Fair Value Gap
InpRequireOBtrueRequire Order Block tap
InpRequireSweepfalseRequire liquidity sweep
InpAllowCounterTrendfalseAllow trades against HTF trend
InpSignalMinScore65.0Min signal score (0-100)
InpMinRR1.5Min reward:risk ratio
InpATRslMult1.5ATR SL multiplier
InpATRtpMult2.5ATR TP multiplier
InpTrailATRmult2.0ATR trailing multiplier
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX15006.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX15006 ICT_Scalper — BOS/CHoCH + liquidity sweep + FVG + OB + killzones, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>

//============================== DEFINES ==============================
#define DEF_BOS_LOOKBACK          5
#define DEF_CHOCH_LOOKBACK        10
#define DEF_STRUCT_SENS           0.5
#define DEF_LIQ_LOOKBACK          20
#define DEF_LIQ_SWEEP_PIPS        0.2
#define DEF_FVG_LOOKBACK          10
#define DEF_FVG_MIN_PIPS          0.5
#define DEF_FVG_RET_PCT           50.0
#define DEF_FVG_MAX_AGE           50
#define DEF_OB_LOOKBACK           20
#define DEF_OB_RET_PCT            50.0
#define DEF_OB_MAX_AGE            50
#define DEF_HTF_TF                PERIOD_H1
#define DEF_HTF_EMA_PERIOD        50
#define DEF_ATR_PERIOD            14
#define DEF_ATR_PCT_LOOKBACK      100
#define DEF_ADX_PERIOD            14
#define DEF_BB_PERIOD             20
#define DEF_BB_DEV                2.0
#define DEF_RSI_PERIOD            14
#define DEF_NEWS_BEFORE_MIN       30
#define DEF_NEWS_AFTER_MIN        15
#define DEF_MAX_BARS_IN_TRADE     60
#define DEF_WEEKEND_CLOSE_HR      22
#define DEF_COOLDOWN_BARS         3
#define DEF_PORTFOLIO_HEAT_PCT    6.0
#define DEF_MAX_SPREAD_PTS        30     // Max spread (points)
#define DEF_BE_TRIGGER_R          1.0    // Break-even trigger (R-multiple)
#define DEF_PARTIAL_R             1.0    // Partial TP at R (0=off)
#define DEF_PARTIAL_PCT           50.0   // Partial close %
#define DEF_SIGNAL_TF_MIN         5      // Signal timeframe (minutes)
#define DEF_WEEKLY_LOSS_PCT       7.0
#define DEF_LONDON_START          "08:00"
#define DEF_LONDON_END            "10:00"
#define DEF_NY_START              "13:00"
#define DEF_NY_END                "15:00"

//============================== INPUTS (22 TOTAL) ==============================
input group "=== Identity ==="
input ulong             InpMagic           = 22215006;        // Magic number
input string            InpTradeComment    = "Psgrowth.com Expert_15006"; // Trade comment
input bool              InpDryRun          = true;           // Dry-run (no live orders)
input bool              InpKillSwitch      = false;          // Global kill switch

input group "=== Risk & Sizing ==="
input double            InpRiskPercent     = 0.5;            // Risk % per trade (of effective cap)

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

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

الوسوم:ex15006smc-orderblockpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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