Pipsgrowth EX02028 Breakout — إكسبرت أدفايزر اختراق
إكسبرت أدفايزر MT5 مفتوح المصدر · EURUSD، USDJPY، GBPUSD، AUDUSD · M1
Pipsgrowth EX02028 Breakout — Multi-symbol VWAP+KAMA Donchian/SuperTrend scalper with ADX regime switching between mean-reversion and breakout modes, . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX02028 هو مستشار آلي متعدد الرموز على الإطار الزمني M1 يدير نفس المحرك عبر سلة يحددها المستخدم عبر SymbolsCSV ويبدّل سلوكه بحسب نظام ADX الذي يكتشفه على كل رمز. يمكن ضبط ما يصل إلى عشرين رمزًا من خلال هذا المدخل، والإعداد الافتراضي هو EURUSD,USDJPY,GBPUSD,EURJPY,AUDUSD. تعليق الكود بشأن XAUUSD واضح: لا تُضَف هذا الرمز إلا إذا كان السبريد الخام للذهب عند الوسيط ضيقًا. يملك كل رمز بنيته الخاصة SymState التي تخزّن أربعة مؤشرات (KAMA(10,2,30) وRSI(2) وADX(14) وATR(InpATRPeriod=14))، ومخزن سبريد دوّار من 256 خانة، وطابع زمني lastBarTraded، ومؤقت تبريد لكل اتجاه، ومؤقت tradePauseUntil، وعدّادات لإضافات الصفقات بعد سلسلة خسائر. تمر دورة OnTimer بجميع الرموز بالترتيب، وتستدعي SpreadPush(si, CurrentSpreadPts(...)) لتحديث نافذة السبريد الدوّارة، ثم تنفّذ TryEntriesSymbol(si) لكل رمز؛ وبذلك يتشارك زوج EURUSD البطيء التحديث وUSDJPY السريع نفس منطق المسح دون أي تسرّب بين الرموز.
مصنّف النظام داخل TryEntriesSymbol يتكون من سطر واحد فقط: يقرأ قيمة iADX(g_tf, 14) عند الشمعة المغلقة shift=1 ويضع isMR = (adx < InpADXSwitch) حيث InpADXSwitch=18. تحت 18 يعامل الشريط السعري على أنه في حالة نطاق ويشغّل منهجية الارتداد إلى المتوسط؛ وعند 18 أو أعلى ينتقل إلى منهجية الاختراق. لا توجد فئة تذبذب منفصلة، ولا ميل لـ ADX، ولا إشارة DI+/DI-. النظام عتبة 1:1 بحتة، ولهذا السبب تنقسم بقية الشفرة إلى فرعين متوازيين (buyMR/sellMR وbuyBO/sellBO).
في وضع الارتداد، تعيد ComputeSessionVWAP(s, shift, vwap, sigma) بناء متوسط السعر المرجح بحجم التداول منذ بداية جلسة الوسيط (الساعة 00:00 بتوقيت الخادم) باستخدام السعر النموذجي (H+L+C)/3 وحجم التداول، ثم تشغّل تمرير Welford لحساب الانحراف المعياري للسعر النموذجي حول ذلك VWAP على مدى InpVWAP_StdLookback=60 شمعة. ينتج عن ذلك نطاقان: نطاق داخلي عند InpVWAP_SigmaInner=1.5σ ونطاق خارجي عند InpVWAP_SigmaOuter=2.0σ. يُطلَق أمر الشراء في الارتداد عندما يلامس إغلاق الشمعة المغلقة النطاق الخارجي السفلي أو يكسره (close <= vwap − 2.0·σ) ويؤكد RSI2_Recapture(true,...) الارتداد: RSI(2)[shift=1] <= 10 وRSI(2)[shift=0] > 10. أمر البيع المعاكس يعكس الشروط على النطاق العلوي بعتبتين 90 و10. اتفاق ميل KAMA (KAMA_SlopeAgree) شرط تأكيدي إلزامي في الاتجاهين — يجب أن يكون KAMA(10,2,30) صاعدًا للشراء بالارتداد وهابطًا للبيع بالارتداد — وBarQualityOK يفرض body/range >= InpMinBodyToRange=0.18 لاستبعاد شموع الدوجي قبل احتساب الإشارة.
في وضع الاختراق، يعيد المستشار بناء قناة Donchian على مدى InpDonchianPeriod=20 شمعة ومؤشر SuperTrend (ATR بفترة InpST_ATR_Period=10 ومضاعف InpST_Mult=2.0) داخل ComputeSuperTrend(). يتطلب الاختراق الصاعد close > DonchianUpper، وأن يكون SuperTrend صعوديًا (isBull==true)، وأن يكون ميل KAMA ≥ 0؛ والاختراق الهابط يعكس الشروط. يعمل VWAP كمراقب (veto) في وضع الاختراق: إذا كان MathAbs((close − vwap)/sigma) > 1.5، يُرفَض الاختراق. هذا الفلتر غير معتاد — فهو يمنع صراحةً الاختراقات التي ابتعدت كثيرًا عن القيمة العادلة اليومية، حتى لو استوفت كل الشرط الأخرى. القصد هو تجنب ملاحقة الامتدادات المكافئة على الرسم البياني M1.
بعد وضع إشارة أولية، يجمع المستشار التأكيدات. يزيد عداد التأكيد لكل من: VolumeSpikeOK (حجم الشمعة الحالية ≥ 1.30× المتوسط لـ 20 شمعة)، واتفاق ميل KAMA، وتوفّر VWAP (sigma > 0). InpNeedConfirmationsK=2 هو البوابة الصلبة: إذا كان مجموع التأكيدات أقل من 2، تُسقَط الإشارة. ثم تتحقق بوابة نسبة ATR اليومية (ATRPercentileOK) مما إذا كان ATR(14) الحالي يقع بين النسبتين المئويتين 30 و85 من توزيع قيم ATR خلال اليوم؛ وخارج هذا النطاق يُلغى الاتجاهان. تقوم الدالة بفرز ما يصل إلى 1440 عينة ATR عبر فرز الإدخال وتقارن ATR الحالي مع arr[idxLo] وarr[idxHi]. مع أقل من 20 عينة تكون البوابة متساهلة (تُرجع true)، لذلك لا يتعطّل المستشار عند افتتاح الجلسة.
ينقسم تحديد حجم الصفقة ووقف الخسارة وجني الأرباح. تُقرّب NormalizeVol الكمية إلى SYMBOL_VOLUME_STEP وSYMBOL_VOLUME_MIN/MAX لدى الوسيط، ومع InpUseAutoMinLot=true (الافتراضي)، يختار المستشار الحد الأدنى من اللوتات لدى الوسيط عندما تكون InpFixedLot=0.10 أقل من ذلك — ويسمّيها التعليق cent-safe. تأتي مستويات وقف الخسارة وجني الأرباح من CalcSLTP التي تتفرع بحسب isMR: في وضع الارتداد يكون وقف الخسارة max(0.8, 1.0)·ATR وجني الأرباح max(1.6, 2.0)·ATR؛ وفي وضع الاختراق يكون وقف الخسارة max(1.0, 1.0)·ATR وجني الأرباح max(2.0, 2.0)·ATR. تعكس أرجل الارتداد غير المتماثلة (جني أرباح أوسع، سقف وقف خسارة أضيق) معدّل النجاح الأعلى في الارتداد مقابل الانجراف الأصغر لكل صفقة. عند تعطيل InpUseATRforSLTP، يلجأ المستشار إلى مسافات نقطية خام: InpSL_Points=250 وInpTP_Points=500.
الإضافات إلى الصفقات القائمة مُقيَّدة بـ IsAllSameDirProfitableAtLeast(s, dir, MinProfitPerTradeToAdd=4.0 points). مع AllowOnlyProfitableAdditions=true (افتراضي)، يرفض المستشار زيادة حجم الاتجاه الخاسر؛ يجب أن تكون كل صفقة مفتوحة في نفس الاتجاه قد حققت ما لا يقل عن 4 نقاط في المنطقة الخضراء. يُحدَّد MaxOpenTradesPerSymbol=2 وMaxTotalOpenTrades=6 كسقف للسلة. يخفّض InpCooldownSecondsDir=20 وتيرة نفس الاتجاه لمدة 20 ثانية بعد التنفيذ، وInpOneEntryPerBar=true يمنع إعادة الدخول على نفس شمعة M1 التي تم التداول عليها.
تُدار الصفقات المفتوحة عند كل تكة عبر OnTick → MaintainPositionsAll التي تستدعي ApplyDynamicLockProfitToPosition على كل صفقة. معامل القفل هو InpLockProfitEveryXPoints=120 وInpLockMinusYPointsBuffer=18. كل 120 نقطة من التحرّك الإيجابي من سعر الدخول، يدفع المستشار وقف الخسارة إلى (entry + 120·k − 18)·points (للشراء) أو المعكوس للبيع. المخزن المؤقت هو ما يتيح للصفقة 18 نقطة من هامش التنفس بعد خطوة القفل؛ وتتحقق دالة SYMBOL_TRADE_FREEZE_LEVEL من أن التعديل لن يُرفَض عندما يكون السعر قريبًا جدًا. القفل لا يتحرك إلا للأمام فقط — curSL > 0 && newSL <= curSL يخرج مبكرًا — لذلك التراجع لا يرخي وقف الخسارة أبدًا. يُحفظ جني الأرباح الأصلي كما هو.
توجد ثلاث طبقات من المخاطر فوق المحرك. PauseOnConsecutiveLosses وPauseOnLossAmount (كلاهما معطّل افتراضيًا) يفعّلان فترات توقف لكل رمز: بعد 3 خسائر متتالية على رمز، يتوقف هذا الرمز لمدة 60 دقيقة؛ وإذا وصل مجموع الخسارة على رمز إلى PauseLossAmount=100.0 (عملة الحساب)، يتوقف الرمز لمدة 60 دقيقة. تعمل بوابة الأمان العالمية في IsSafeToTrade_EX02028 عند كل تكة من المؤقت: تتحقق من فتح السوق عبر فرق التوقيت العالمي المُكتشف تلقائيًا، ومن فلتر الجلسة الاختياري (لندن 7–16، نيويورك 12–21، كلاهما معطّل افتراضيًا)، ومن مخزن الأخبار (±30 دقيقة حول أحداث CALENDAR_IMPORTANCE_HIGH، مُفعَّل افتراضيًا)، ومن سقف رأس المال (يُعطَّل InpCapAmount=0، وإلا يجب أن تكون حقوق الملكية ≥ InpCapFloor=1000)، ومن النسبة الدنيا لحقوق الملكية (InpMinEquityPct=70 من g_initialBalance)، ومن الحد الأقصى للصفقات اليومية (InpMaxTradesPerDay=20)، ومن مؤقت g_cooldownUntil الذي يضعه OnTradeTransaction كلما وصلت g_consecLosses العالمية إلى InpMaxConsecLosses=5 — وهذا يوقف جميع الأوامر الجديدة لمدة InpCooldownHours=4. يُتابَع الربح/الخسارة اليومية المحققة في g_realizedToday وتُقارَن بـ g_initialBalance × InpDailyLossLimitPct=5%.
يستكشف موجّه الأوامر (SendOrder_AllFillings) ما يصل إلى ثلاثة أوضاع تعبئة لكل رمز — ORDER_FILLING_IOC وORDER_FILLING_RETURN وORDER_FILLING_FOK، المختارة عبر فحص قناع SYMBOL_FILLING_MODE لدى الوسيط — ويعيد المحاولة حتى 5 مرات مع تكيّف الانحراف تدريجيًا (بدءًا من InpSlippagePoints=5 إلى سقف InpMaxAdaptiveDeviation=20). إذا رُفِض الطلب بـ TRADE_RETCODE_INVALID_STOPS أو TRADE_RETCODE_REQUOTE، يعيد المستشار محاولة الإدخال بدون وقف خسارة وجني أرباح ثم يعدّل الصفقة بعد ذلك عبر ModifyPositionSLTP (3 محاولات بفاصل 200 مللي ثانية). صيغة OnTester هي profit × profitFactor / maxDD مع أرضية صلبة trades < 10 → 0، لذلك التحسينات بأقل من 10 صفقات تحصل على درجة صفر.
معالج OnTradeTransaction هو المسار الوحيد للتعرّف على الأرباح والخسائر: يصفّي TRADE_TRANSACTION_DEAL_ADD للصفقات ذات DEAL_ENTRY_OUT ورقم سحر المستشار، ثم يحدّث كلًا من g_realizedToday وg_realizedWeek العامّين، وlossStreakCount وlossStreakAmt لكل رمز. تُؤخذ عينة السبريد مرة واحدة في كل تمرير مؤقت (إيقاع ثانية واحدة من EventSetTimer(1)) وتدفع إلى المخزن الدوّار؛ مع 200 عينة ومضاعف MAD قدره 3.0، يكيّف سقف السبريد نفسه مع أي نظام يمر به الرمز دون أن يحظر على عتبة ثابتة.
الوسيط الموصى به: ECN أو RAW بسبريد منخفض على الأقل للرموز الخمسة الافتراضية. يُعدّ EURJPY في CSV الافتراضي الزوج صاحب النقاط الأعلى في السلة وهو الأكثر حساسية لتوسّع السبريد عند انتقال الجلسة الآسيوية — سيوقفه سقف السبريد الديناميكي من تلقاء نفسه إذا تدهورت الأسعار، لكن حساب السنتات بحد أدنى 3 نقاط على USDJPY سيشعر بآثار قفل الأرباح أقل بكثير من نفس الإعداد على وسيط EURUSD بنقطة 0.1. يجب أن تستخدم اختبارات الـ backtest بيانات تكة مع Model: Every tick لأن قرارات النظام والقفل تستجيب للتكة وليس للشمعة.
تفاصيل الاستراتيجية
يقرأ EX02028 ملف CSV يحتوي على ما يصل إلى 20 رمزًا وينفّذ المسار نفسه على كلٍ منها: حلقة OnTimer بتردد 1 Hz تأخذ عينة السبريد في مخزن مؤقت من 256 خانة لكل رمز، وتصنّف ADX(14) عند الشمعة المغلقة لاختيار ذراع الارتداد أو الاختراق، وتمرّر الذراع المختار عبر ثلاث عدادات تأكيدي (ارتفاع الحجم، ميل KAMA، توفّر VWAP) قبل أن تسمح InpNeedConfirmationsK=2 بمرور الإشارة. في وضع الارتداد يكون لمس نطاق VWAP الخارجي عند 2.0σ مع ارتداد RSI(2) من 10/90 هو المحفّز؛ وفي وضع الاختراق يكون اختراق Donchian(20) مع اتجاه SuperTrend(10, 2.0) هو المحفّز، ويُرفَض إذا ابتعد السعر بأكثر من 1.5σ عن VWAP. وقف الخسارة وجني الأرباح هما ATR(14) × 1.0/2.0 في وضع الاختراق وأرضية 0.8/1.6 في وضع الارتداد؛ يدفع قفل الأرباح الديناميكي عند 120 نقطة/مخزن 18 وقف الخسارة إلى الأمام دون أن يرخيه أبدًا. يستخدم تحديد حجم الصفقة الحد الأدنى للوت لدى الوسيط افتراضيًا (آمن للسنتات)، حتى 2 لكل رمز و6 للسلة كاملةً، وتُحظر الإضافات ما لم تكن جميع الصفقات في نفس الاتجاه رابحة بما لا يقل عن 4 نقاط. تعمل البوابات العالمية — خسارة يومية 5%، نسبة حقوق ملكية أدنى 70%، 5 خسائر متتالية ← تهدئة 4 ساعات، مخزن أخبار ±30 دقيقة، وفلتر جلسة لندن/نيويورك الاختياري — عند كل تكة مؤقت عبر IsSafeToTrade_EX02028.
يُصنَّف كل رمز عبر ADX(14) على الشمعة M1 المغلقة. إذا كان ADX < 18 يُنفّذ المستشار منهجية ارتداد: لمس نطاق VWAP الخارجي (2.0σ) مع ارتداد RSI(2) من 10 (شراء) أو 90 (بيع) مع اتفاق ميل KAMA(10,2,30). إذا كان ADX ≥ 18 تُنفّذ منهجية اختراق Donchian(20) مقيَّدة باتجاه SuperTrend(10, 2.0) وميل KAMA ورقابة VWAP عند |z|>1.5. يتطلب كلا الفرعين تأكيدين من ثلاثة (ارتفاع حجم 1.3× المتوسط لـ 20 شمعة، ميل KAMA، توفّر VWAP) وبوابة نسبة ATR يومية في [30, 85].
ثلاثة مسارات للخروج: (1) جني الأرباح الأصلي المعتمد على ATR عند 1.6–2.0×ATR للارتداد أو 2.0×ATR للاختراق محفوظ في كل صفقة؛ (2) قفل الأرباح الديناميكي يدفع وقف الخسارة إلى الأمام كل 120 نقطة من التحرّك الإيجابي، تاركًا مخزنًا مؤقتًا من 18 نقطة خلف خطوة القفل؛ (3) يُعيد مصنّف النظام ومنطق فرعي MR/BO التقييم عند كل تكة مؤقت — عند ظهور تقاطع للشمعة المغلقة ضد الاتجاه النشط، يغلق المستشار عبر SendOrder_AllFillings بالنوع المعاكس. توجد أيضًا قاطعة دائرية عالمية: 5 خسائر متتالية ← g_cooldownUntil لمدة 4 ساعات يفرضها OnTradeTransaction.
يُحسَب وقف الخسارة من ATR(14) × 1.0 (مع أرضية 0.8 في وضع الارتداد)، مقرّبًا إلى التيك ومزاحًا من سعر الدخول؛ يلجأ إلى 250 نقطة خام عند تعطيل InpUseATRforSLTP. بعد الفتح، يدفع قفل الأرباح الديناميكي وقف الخسارة إلى (الدخول + 120·k − 18) نقطة كل 120 نقطة من التحرّك الإيجابي، ولا يرخيه أبدًا. لا يوجد وقف خسارة ثابت على مستوى الحساب — يُتحكّم في الانخفاض عبر بوابة الخسارة اليومية 5%، و5 خسائر متتالية ← تهدئة 4 ساعات، ومفتاح إيقاف نسبة حقوق الملكية الأدنى 70%.
جني الأرباح هو ATR(14) × 2.0 (مع أرضية 1.6 في وضع الارتداد)، مما يعطي نسبة مخاطرة إلى عائد 1:2 تقريبًا. في وضع الاختراق يُثبَّت مضاعف جني الأرباح عند 2.0؛ وفي وضع الارتداد يمكن أن يمتد إلى 2.0·ATR لأهداف أوسع. عند تعطيل ATR، يلجأ جني الأرباح إلى 500 نقطة خام. يُحدَّد جني الأرباح عند الدخول ولا يُعدَّل أبدًا بواسطة القفل — خطوة قفل الأرباح تحرّك وقف الخسارة فقط، تاركة الهدف الأصلي سليماً.
يُفضَّل نشره على وسيط ECN أو RAW بسبريد منخفض (Exness أو IC Markets أو Pepperstone) يغطي على الأقل EURUSD وUSDJPY وGBPUSD وEURJPY وAUDUSD على الإطار M1، مع رصيد أدنى موصى به قدره 100 دولار. يعني إيقاع M1 والمستوى الثاني من المؤقت لكل رمز أن البيئة المضيفة يجب أن تكون VPS بزمن استجابة أقل من 30 مللي ثانية للخادم — يستجيب كلٌ من سقف السبريد الديناميكي وقفل الأرباح المعتمد على التكة بسرعة التكة. سلة الرموز الخمسة الافتراضية هي أنظف ملف اختبار؛ ولا تُضَف XAUUSD إلا إذا ظل سبريد الذهب لدى الوسيط أقل من 15 نقطة في جميع الساعات. يُوصى بوضع سقف رأس المال (InpCapAmount > 0) للاستخدام الحي لإبقاء المخاطر متناسبة بصرف النظر عن نمو الحساب.
منطق الاستراتيجية
Pipsgrowth EX02028 Breakout — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Breakout
الماجيك: 22202028
الإصدار: 2.00
الوصف:
Multi-symbol VWAP+KAMA Donchian/SuperTrend scalper with ADX regime switching between mean-reversion and breakout modes, session VWAP sigma bands, RSI(2) recapture, dynamic lock profit
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
Trim()SplitCSV()FindSymIndex()SymPoint()SymTickSize()NormalizePriceToTick()SymBid()SymAsk()SymbolMinVolume()SymbolVolumeStep()
// Pipsgrowth EX02028 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Multi-symbol VWAP+KAMA Donchian/SuperTrend scalper with ADX regime switching between mean-reversion and breakout modes, session VWAP sigma bands, RSI(2) recapture, dynamic lock profit
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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم H1 أو H4
- 7حدد فترة رصد النطاق وهامش الاختراق وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicNumber | 22202028 | 2220 + Expert ID (334) |
| SymbolsCSV | "EURUSD,USDJPY,GBPUSD,EURJPY,AUDUSD" | add XAUUSD only if spreads are tight |
| InpTF | 1 | Working timeframe (0=current,1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1,8=W1,9=MN1) |
| InpLockMinusYPointsBuffer | 18 | -------------- INITIAL vs ADDITIONAL (adds gating) ----------------- |
| MinProfitPerTradeToAdd | 4.0 | points |
| PauseLossAmountMinutes | 60 | ---------------------- TRADE / RISK / EXECUTION -------------------- |
| InpUseAutoMinLot | true | cent-safe |
| InpFixedLot | 0.10 | used if auto-min disabled |
| InpATR_SL_Mult | 1.0 | default MR/BO SL multipliers below; these are base |
| InpATR_TP_Mult | 2.0 | base TP multiplier (BO ~2–3; MR ~1.6–2) |
| InpSL_Points | 250 | fallback when ATR disabled |
| InpCooldownSecondsDir | 20 | ---------------------- LOGIC (few knobs) --------------------------- |
| InpADXSwitch | 18 | ADX<switch => MR else BO |
| InpDonchianPeriod | 20 | breakout window |
| InpST_ATR_Period | 10 | SuperTrend ATR |
| InpST_Mult | 2.0 | SuperTrend multiplier |
| InpRSI2_LevelLow | 10 | MR recapture threshold (BUY) |
| InpRSI2_LevelHigh | 90 | MR recapture threshold (SELL) |
| InpVWAP_SigmaInner | 1.5 | inner band |
| InpVWAP_SigmaOuter | 2.0 | outer band (MR touch) |
| InpVWAP_StdLookback | 60 | sigma calc window (bars) |
| InpNeedConfirmationsK | 2 | confirmations needed |
| InpUseDynamicSpreadCap | true | Median+MAD per symbol |
| InpSpreadMADMult | 3.0 | cap = med + k*MAD |
| InpSpreadCapAbsPoints | 0 | 0=off; else absolute cap |
| InpMinTicksPerMin | 18 | activity floor |
| InpMinBodyToRange | 0.18 | avoid dojis |
| InpUseATRPercentileFilter | true | daily ATR percentile gate |
| InpATRPctlLow | 30 | trade only if pctl in [low,high] |
| InpATRPctlHigh | 85 | --- Hardening: GMT Session Filter --- |
| InpNewYorkEndGMT | 21 | --- Hardening: Capital Protection --- |
| InpCapAmount | 0.0 | Capital cap amount (0=disabled) |
| InpDailyLossLimitPct | 5.0 | --- Hardening: Trade Safety --- |
| InpNewsBufferMinutes | 30 | ==================================================================// |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX02028 EX8 Multi-Symbol VWAP+KAMA Donchian — multi-symbol scalper with ADX regime switch, full 12-layer stack."
//==================================================================//
// TIMEFRAME MAPPING //
//==================================================================//
ENUM_TIMEFRAMES MapTimeframe_EX02028(int tf)
{
switch(tf)
{
case 0: return (ENUM_TIMEFRAMES)Period();
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;
case 8: return PERIOD_W1;
case 9: return PERIOD_MN1;
default: return PERIOD_M1;
}
}
ENUM_TIMEFRAMES g_tf = PERIOD_M1;
//==================================================================//
// INPUTS //
//==================================================================//
input group "=== Core ==="
input long MagicNumber = 22202028; // 2220 + Expert ID (334)
input string InpTradeComment = "Psgrowth.com Expert_02028";
input string SymbolsCSV = "EURUSD,USDJPY,GBPUSD,EURJPY,AUDUSD"; // add XAUUSD only if spreads are tight
input int InpTF = 1; // Working timeframe (0=current,1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1,8=W1,9=MN1)
//------------------ DYNAMIC LOCK PROFIT (Ratchet) -------------------
input group "=== Dynamic Lock Profit ==="
input bool InpEnableDynamicLockProfit = true;
input int InpLockProfitEveryXPoints = 120;
input int InpLockMinusYPointsBuffer = 18;
//-------------- INITIAL vs ADDITIONAL (adds gating) -----------------
input group "=== Initial vs Additional ==="
input int MaxOpenTradesPerSymbol = 2;
input int MaxTotalOpenTrades = 6;
input bool AllowOnlyProfitableAdditions = true;
input double MinProfitPerTradeToAdd = 4.0; // points
//--------------------------- PAUSE GUARDS ---------------------------
input group "=== Pause Guards ==="
input bool PauseOnConsecutiveLosses = false;
input int PauseConsecutiveLossesCount = 3;
input int PauseConsecutiveLossesMinutes = 60;
input bool PauseOnLossAmount = false;
input double PauseLossAmount = 100.0;
input int PauseLossAmountMinutes = 60;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية الاختراق
Pipsgrowth EX02026 Breakout — إكسبرت أدفايزر اختراق
Pipsgrowth EX02026 Breakout — Donchian Channel breakout EA for XAUUSD M5 with RSI confirmation, average-speed filter, session filtering, trailing stop. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX02001 Breakout — إكسبرت أدفايزر اختراق
Pipsgrowth EX02001 Breakout — Fractal Donchian high/low breakout on closed bar with RSI extreme filter. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX02027 Breakout — إكسبرت أدفايزر اختراق
Pipsgrowth EX02027 Breakout — Multi-symbol VWAP+KAMA Donchian/SuperTrend scalper with ADX regime switching between mean-reversion and breakout modes, . إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.