Pipsgrowth EX09020 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX09020 MeanReversion — Multi-symbol MR/BO scalper with auto-regime switching between mean-reversion (VWAP sigma-bands + RSI2 + KAMA slope) and . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX09020 هو العضو الأكثر طموحاً في عائلة EX9: مضارب متعدد الرموز يشغّل في الوقت نفسه مجموعتين مختلفتين تماماً من الإشارات ويترك مصنف نظام داخلي يختار أيّهما يكون نشطاً. لا يتم دمج المجموعتين. في كل دورة يفحص المؤشر ADX(14) ويُسند الرمز إما إلى وضع الانعكاس (عندما يكون ADX دون InpADXSwitch = 18) أو إلى وضع الاختراق (عندما يكون ADX عند 18 أو أعلى). تُنتج مجموعة الانعكاس ومجموعة الاختراق إشارات شراء/بيع خاصة بهما، ويمكن لكاشف فخ السيولة الاختياري أن يضيف إشارة طويلة/قصيرة مستقلة فوق أي من النظامين. قائمة الرموز الافتراضية في OnInit هي EURUSD,USDJPY,GBPUSD,EURJPY,AUDUSD، لكن يمكن تحرير قائمة CSV ويمكن تثبيت المستشار على رمز واحد بقلب EnableMultiSymbol = false.
عندما يختار المصنف وضع الانعكاس، تتطلب إشارة الدخول أن يكون الإغلاق عند أو خارج نطاق سيغما VWAP الخارجي — InpVWAP_SigmaOuter = 2.0 انحرافات معيارية عن VWAP الجلسة — ثم تطلب استعادة RSI(2) عبر المستوى InpRSI2_LevelLow = 10 للشراء أو InpRSI2_LevelHigh = 90 للبيع. يُحسب VWAP نفسه على أساس مرساة الجلسة (الساعة 00:00 بتوقيت الخادم) باستخدام السعر النموذجي مضروباً في الحجم، بنطاق 60 شمعة لحساب سيغما. يعمل مرشح توافق ميل KAMA فوق ذلك: لا تُعتبر إشارة الشراء صحيحة إلا إذا كان متوسط Kaufman Adaptive Moving Average (الطول 10، السريع 2، البطيء 30) يميل صعوداً؛ وتحتاج إشارة البيع إلى ميل هبوطي. يقوم مرشح جودة الشمعة بعد ذلك بإسقاط أي شمعة مرشحة تكون نسبة جسمها إلى نطاقها دون InpMinBodyToRange = 0.18، لذا تُستبعد الدوجي والبين بار بأجسام رفيعة.
عندما يختار المصنف وضع الاختراق، ينتقل المنطق إلى مزيج Donchian + SuperTrend + KAMA. لا تُفعَّل إشارة الشراء إلا إذا كان الإغلاق فوق الحد العلوي لـ Donchian (InpDonchianPeriod = 20 شمعة)، وSuperTrend (فترة ATR 10، مضاعف 2.0) في وضع صاعد، وميل KAMA صاعد، وتجاوزت الشمعة مرشح جودة الجسم. يقوم محدد مسافة VWAP الاختياري (InpLimitBO_VWAPDistance = true) بحجب الاختراقات التي تمددت بعيداً جداً عن VWAP — تحديداً، إذا تجاوزت z-score الإغلاق مقابل VWAP قيمة InpMaxVWAP_Zscore = 1.5، تُحجب إشارة الاختراق لتجنب ملاحقة التحركات المتأخرة. جانب البيع هو المرآة. يمسح كل من وضعي الانعكاس والاختراق نافذة صغيرة من الشموع المغلقة الأخيرة — EntrySignalsMustMatchWithinBars = 2 افتراضياً — ولا يطلق الإشارة إلا إذا ظهرت شمعة مؤهلة واحدة على الأقل ضمن تلك النافذة.
تقع طبقة فخ السيولة بشكل متعامد مع النظام. مع UseLiquidityTrap = true (افتراضي)، يبحث المستشار إلى الوراء InpTrapLookbackBars = 30 شمعة بحثاً عن قمة أو قاع تأرجح تم اختراقه للتو بمقدار InpTrapSweepPts = 12 نقطة. إذا أغلقت الشمعة بعد ذلك عائدة عبر مستوى التأرجح بمقدار InpTrapReentryPts = 8 نقاط وكانت نسبة الفتيل إلى نطاق الشمعة على الأقل InpTrapWickRatio = 0.30، يُطلق الفخ. إشارة الفخ تُجمع مع (OR) الإشارة الأساسية المستمدة من النظام، لذا يمكن إطلاق فخ شراء حتى عندما يكون المصنف قد وضع الرمز في وضع الاختراق.
بعد تثبيت الإشارة الأساسية، يطلب المستشار التأكيدات. يمكن تفعيل أربع وحدات تأكد: ارتفاع الحجم (VolumeSpikeOK، بمقارنة الحجم الحالي بمتوسط 20 شمعة بمضاعف 1.30)، توافق ميل KAMA (مستخدم بالفعل داخل الانعكاس، يتكرر هنا كتأكيد)، توفر إحصائيات VWAP (يحتاج إلى 30 شمعة صالحة على الأقل وسيغما غير صفرية)، وفحص إعادة دخول Bollinger اختياري باستخدام bands(20, 2.0) — هذا الأخير معطل افتراضياً. يحدد المستخدم InpNeedConfirmationsK (افتراضي 2) ولا يطلق المستشار الإشارة إلا عندما يستوفي عدد الوحدات الناجحة هذا الحد، مع تحديد الحد الأعلى بعدد الوحدات المفعّلة فعلياً.
فوق كل ذلك تأتي بوابة الأمان IsSafeToTrade_EX09020 والفحص السابق للتداول لكل رمز CanPlaceNew. تفرض بوابة الأمان سقف رأس المال (InpCapAmount، InpCapFloor)، وأرضية الرصيد الأولي عند InpMinEquityPercent = 95%، وسقف خسارة يومية محققة بنسبة InpDailyLossLimitPct = 3% من رأس المال الفعال، وحد أقصى للصفقات اليومية قدره 50، وفحص فتح السوق (لا السبت، ولا الأحد قبل الساعة 22 بتوقيت غرينتش، ولا الجمعة بعد الساعة 21 بتوقيت غرينتش)، وفحص نشاط الجلسة الذي يسمح فقط بلندن 7-16 بتوقيت غرينتش ونيويورك 12-21 بتوقيت غرينتش (مع احترام حظر آسيا 0-7 بتوقيت غرينتش عند InpAvoidAsia = true)، ومرشح وقت الأخبار الاختياري الذي يحظر الدخول في ±15 دقيقة من ساعة افتتاح لندن أو نيويورك. يضيف CanPlaceNew الحالة الخاصة بكل رمز: بوابة دخول واحد لكل شمعة، و timestamp إيقاف مؤقت لكل رمز يُثبَّت عند ثلاث خسائر متتالية (إيقاف 60 دقيقة) أو مبلغ خسارة تراكمي قدره 100 دولار (إيقاف 60 دقيقة)، وإيقاف مؤقت بسبب السحب اليومي لكل رمز بنسبة 2% يُعاد ضبطه عند بداية اليوم التالي، وسقف سبريد ديناميكي يُحسب كـ median + 3 * MAD على آخر 200 عينة سبريد (مع سقف مطلق اختياري)، وأرضية نشاط علامات قدرها 18 علامة في الدقيقة.
تتمحور إدارة المراكز حول ApplyDynamicLockProfitToPosition — نظام القفل التراكمي. في كل علامة يمشي المستشار عبر المراكز المفتوحة، ويحسب عدد خطوات InpLockProfitEveryXPoints = 120 نقطة التي تحركها السعر لصالح المركز، ويضرب ذلك في الخطوة ويطرح InpLockMinusYPointsBuffer = 18 نقطة، وينقل وقف الخسارة إلى نقطة الدخول بالإضافة إلى تلك المسافة (للمراكز الطويلة) أو ناقص تلك المسافة (للمراكز القصيرة). لا يُنقل وقف الخسارة الجديد إلا إلى الأمام — لا يُرخى أبداً — ويُفحص مقابل SYMBOL_TRADE_FREEZE_LEVEL الخاص بالوسيط قبل إرساله. يعتمد وقف الخسارة وجني الأرباح للإدخالات الجديدة على ATR: يقرأ المستشار ATR(14) بالنقاط ويضربه في InpATR_SL_Mult_MR = 1.0 وInpATR_TP_Mult_MR = 1.8 في وضع الانعكاس، أو InpATR_SL_Mult_BO = 1.0 وInpATR_TP_Mult_BO = 2.4 في وضع الاختراق. أرضيات TP/SL في CalcSLTP هي 0.8 لوقف الانعكاس و1.2 لجني أرباح الانعكاس، أو 1.0 / 2.0 للاختراق، لذا لا يمكن خفض المضاعفات بالخطأ إلى نسبة مخاطرة/عائد أقل من 1:1. البديل الثابت عند InpUseATRforSLTP = false هو 250 نقطة لوقف الخسارة و500 نقطة لجني الأرباح.
يستخدم تحديد الحجم InpFixedLot = 0.10 — لا توجد نسبة مخاطرة لكل صفقة في هذا المستشار. يستدعي تطبيع اللوت NormalizeVol الذي يقيّد ضمن SYMBOL_VOLUME_MIN وSYMBOL_VOLUME_STEP وSYMBOL_VOLUME_MAX الخاصة بالوسيط. يمر توجيه الأوامر عبر SendOrder_AllFillings، الذي يستدعي DetermineAllowedFillings لقراءة قناع البتات SYMBOL_FILLING_MODE الخاص بالوسيط، ثم يتكرر عبر أوضاع التعبئة المفضلة بالترتيب IOC، RETURN، FOK، مع إعادة محاولة تصل إلى 6 محاولات خارجية بانحراف تكيّفي يبدأ من InpSlippagePoints = 5 ويزيد بمقدار 3 نقاط لكل محاولة حتى سقف InpMaxAdaptiveDeviation = 20 نقطة، مع فترات راحة 80 مللي ثانية. يعيد TryOrderSend_EX09020 الداخلي المحاولة 3 مرات عند REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED مع راحة 200 مللي ثانية. إذا رفض الوسيط الصفقة بسبب الوقفات (INVALID_STOPS أو REQUOTE مع SL/TP مرفقين)، يعيد المستشار المحاولة مرة واحدة بدون الوقفات ثم يُعدّل بعد ذلك عبر ModifyPositionSLTP.
سقف الاستخدام هو أمان على مستوى المحفظة: يحسب UtilizationCapAllows قيمة usedPct = (equity - margin_free) / equity ويحظر الصفقة إذا تجاوزت InpUtilizationMaxPct = 50%. افتراضياً يقيد السقف الإضافات فقط (InpGateAddsOnly = true)، لذا يُعفى الإدخال الأول لكل رمز. كما يتم تقييد الإضافات بواسطة AllowOnlyProfitableAdditions = true: لا يمكن فتح مركز ثانٍ إلا في اتجاه يكون فيه كل مركز قائم في ذلك الاتجاه في المنطقة الخضراء بمقدار MinProfitPerTradeToAdd = 4.0 نقاط على الأقل. فترة التهدئة الاتجاهية البالغة InpCooldownSecondsDir = 20 ثانية تمنع إعادة الإطلاق على نفس الجانب. الحد الأقصى للمراكز لكل رمز هو MaxOpenTradesPerSymbol = 2 والسقف الإجمالي هو MaxTotalOpenTrades = 6.
يعمل المحرك نفسه على مؤقت (EventSetTimer(1)، مدفوع بـ OnTimer) بدلاً من كل علامة — OnTick يدفع فقط عداد نشاط العلامات، ويحدّث العدادات اليومية، ويطبق القفل التراكمي على المراكز المفتوحة. صيغة OnTester هي n * pf / (1 + dd) مع حد أدنى 30 صفقة، لذا تحتاج الاستراتيجية إلى 30 صفقة مغلقة على الأقل في نافذة التحسين لتلقي لياقة غير صفرية والنتيجة هي نسبة حادة لصافي الربح مضروباً في عامل الربح مقسوماً على واحد زائد نسبة السحب من رأس المال. التسجيل التشخيصي المفصّل معطل افتراضياً؛ يقلب VerboseLogs = true ماكرو LOGF في جميع أنحاء الكود.
في الاختبار التاريخي، توقع أن يتصرف هذا المستشار مثل استراتيجيتين منفصلتين تشاركان حساباً واحداً. في فترات ADX المنخفضة على أزواج FX الرئيسية، سيُطلق جانب الانعكاس من قمم VWAP عند 2 سيغما مع تصرّف ميل KAMA واستعادة RSI(2) كبوابات اتجاهية، مع وقفات ATR 1.0 وأهداف ATR 1.8. عندما يرفع تحرك اتجاهي قوي ADX فوق 18، تتولى مجموعة الاختراق بمخترقات Donchian 20 المؤكدة بـ SuperTrend وسقف مسافة VWAP، مع وقفات ATR 1.0 وأهداف ATR 2.4. قفل الربح الديناميكي التراكمي هو ما يربط بين الوضعين — يقفل الأرباح المحققة بإيقاع خطوة 120 نقطة مع عازلة 18 نقطة، ويعمل في كل علامة بغض النظر عن النظام النشط حالياً، لذا يمكن لمركز تم فتحه في وضع الانعكاس أن يُرَقَّى وقفه إلى الربح بينما ينتقل السوق إلى وضع الاختراق. ستظهر التشغيلات الواقعية على قائمة FX الافتراضية مزيجاً من الفائزين السريعين عند 100-300 نقطة (إصابات الانعكاس) وعدّائين أطول عند 200-600 نقطة (إصابات الاختراق)، مع تحويل القفل التراكمي للعديد منها إلى صفقات نقطة تعادل أو أفضل حتى عند تفويت TP.
تفاصيل الاستراتيجية
يُطلق OnTimer كل ثانية ويمشي عبر قائمة الرموز المحللة (مدفوعة بـ CSV، 5 أزواج رئيسية افتراضياً)، ويدفع السبريد الحالي في مخزن مؤقت حلقي لكل رمز بسعة 200 عينة ويستدعي TryEntriesSymbol على كل منها. تسحب تلك الدالة ADX(14) على أول شمعة مغلقة من النافذة وتختار الانعكاس أو الاختراق. يقرأ وضع الانعكاس VWAP وسيغما الخاصة به، ويتطلب أن يكون الإغلاق عند أو خارج النطاق الخارجي 2.0 سيغما، ويطلب استعادة RSI(2) عبر 10/90 بالإضافة إلى توافق ميل KAMA وفحص جودة الجسم. يقرأ وضع الاختراق مستويات Donchian 20 و SuperTrend مبني من الصفر (فترة ATR 10، مضاعف 2.0)، ويتطلب إغلاق-فوق-القمة + SuperTrend-صاعد + ميل-KAMA-صاعد، كلها مقيّدة بمرشح الجسم وسقف z-score VWAP اختياري. يمسح كلا الوضعين نافذة شمعتين ويدمج (OR) فخ السيولة الاختياري. بعد الإشارة الأساسية، يتطلب المستشار إطلاق 2 من 4 وحدات تأكد (ارتفاع الحجم، ميل KAMA، توفر VWAP، إعادة دخول Bollinger الاختيارية) ضمن نافذة التأكيد، ويقيد النتيجة بنطاق نسبة ATR اليومية، ويطبق حزمة الأمان: أرضية رأس المال الأولي 95%، سقف خسارة يومية 3%، حد أقصى 50 صفقة/يوم، فحص فتح السوق، مرشح جلسة لندن/نيويورك مع تجنب آسيا، مرشح أخبار قائم على الوقت اختياري، سقف سبريد ديناميكي كـ median+3*MAD، أرضية نشاط 18 علامة/دقيقة، إيقاف مؤقت للسحب اليومي 2%، وإيقاف مؤقت 60 دقيقة للخسائر المتتالية. عند الدخول، يتحقق SendOrder_AllFillings من قناع وضع التعبئة الخاص بالوسيط بترتيب IOC>RETURN>FOK، مع إعادة محاولة 6 محاولات خارجية مع انحراف يتدرج من 5 إلى 20 نقطة، وفي كل علامة يسحب القفل التراكمي في ApplyDynamicLockProfitToPosition وقف الخسارة إلى الأمام بخطوات 120 نقطة مع عازلة 18 نقطة.
تبديل تلقائي للنظام عبر ADX(14) عند عتبة 18: عندما يكون ADX < 18 يكون المستشار في وضع الانعكاس ويبحث عن إغلاق عند أو خارج نطاق VWAP 2.0 سيغما مع استعادة RSI(2) عبر مستوى 10/90 وتوافق ميل KAMA(10,2,30)؛ عندما يكون ADX >= 18 يتحول إلى وضع الاختراق ويُطلق عند إغلاق فوق الحد العلوي لـ Donchian(20) مؤكد بـ SuperTrend(10,2.0) صاعد وميل KAMA صاعد. كاشف فخ السيولة الاختياري (اختراق 12 نقطة فوق/تحت تأرجح 30 شمعة بالإضافة إلى إعادة إغلاق 8 نقاط ونسبة فتيل 30%) يُجمع مع الإشارة المستمدة من النظام. يجب اجتياز 2 تأكيدات على الأقل من مجموعة 4 وحدات (ارتفاع الحجم، ميل KAMA، توفر VWAP، إعادة دخول Bollinger) ضمن نافذة شمعتين قبل إرسال الإدخال.
الخروج الأساسي هو جني أرباح ثابت عند 1.8 ATR في وضع الانعكاس و2.4 ATR في وضع الاختراق (أو 500 نقطة ثابتة عند إيقاف تحديد الحجم القائم على ATR)؛ ووقف الخسارة الثابت عند 1.0 ATR في كلا الوضعين. تأتي المخارج الثانوية من نظام قفل الربح الديناميكي التراكمي (ApplyDynamicLockProfitToPosition)، الذي يعمل في كل علامة وينقل وقف الخسارة إلى نقطة الدخول + (الخطوات * 120 - 18) نقطة بعد كل تحرك إيجابي قدره 120 نقطة، ويشد فقط ولا يرخي أبداً. مع CloseOnOppSignal = true، ستُغلق الإشارة الأساسية المعاكسة على طبقة النظام المركز، لكن هذا العلم معطل افتراضياً لذا يعتمد المستشار على القفل التراكمي + TP/SL لمعظم المخارج.
يُحسب وقف الخسارة في CalcSLTP كـ 1.0 * ATR(14) نقطة من نقطة الدخول عندما يكون InpUseATRforSLTP = true، مع بديل ثابت قدره 250 نقطة عند إيقاف ATR. أرضية وقف الخسارة البالغة 0.8 في وضع الانعكاس و1.0 في وضع الاختراق تمنع خفض المضاعف دون قيمة دون-نقطة. بعد الدخول يمكن لقفل الربح الديناميكي التراكمي في ApplyDynamicLockProfitToPosition نقل وقف الخسارة إلى الأمام لقفل الأرباح غير المحققة، بخطوات 120 نقطة وطرح عازلة 18 نقطة، لكن القفل التراكمي يشد فقط — لا يرخي وقف الخسارة الأصلي القائم على ATR.
يُحدد جني الأرباح في CalcSLTP كـ 1.8 * ATR(14) نقطة في وضع الانعكاس و2.4 * ATR(14) في وضع الاختراق عند تشغيل InpUseATRforSLTP، مع أرضيات 1.2 و2.0 على التوالي لمنع ضغط TP دون SL. مع إيقاف ATR، يكون TP الثابت 500 نقطة (1:2 نسبة مخاطرة/عائد مقابل SL البالغ 250 نقطة). يُحدد TP عند إرسال الأمر الأصلي ويحافظ عليه عبر قفل الربح الديناميكي التراكمي — القفل التراكمي يعدل جانب SL فقط، وليس TP. المراكز التي تصل إلى خطوة القفل الديناميكي البالغة 120 نقطة ربح مع عازلة 18 نقطة ستغلق كثيراً عند مستوى مقفل قبل بكثير من الوصول إلى TP الأصلي.
الأفضل للمتداولين الذين يديرون محفظة متعددة الرموز برصيد 100 دولار+ على أزواج FX الرئيسية M5-H1 (قائمة CSV الافتراضية هي EURUSD, USDJPY, GBPUSD, EURJPY, AUDUSD) ويرغبون في مستشار واحد يتكيف بين أنظمة النطاق والاتجاه دون تبديل يدوي. ملف المخاطر MEDIUM يناسب وسيطاً بسبريد منخفض وسقف 50 صفقة/يوم على حساب سنت أو قياسي — يعني اللوت الثابت 0.10 أن رصيد 1,000 دولار مناسب للنشر الحي. يُقيد التداول بجلستي لندن 7-16 بتوقيت غرينتش ونيويورك 12-21 بتوقيت غرينتش، لذا فإن الجدول مبني لمتداول أوروبي أو أمريكي التوقيت؛ علم InpAvoidAsia يكون true افتراضياً ويحظر جلسة آسيا الميتة. يوفر مرشح الأخبار القائم على الوقت الاختياري وإيقاف السحب اليومي المؤقت لهذا المستشار انضباط التشغيل للنجاة من الأحداث عالية التأثير، ويعني المسح متعدد الرموز أن المتداول يمكنه تركه يعمل دون مراقبة على VPS خلال الجلسات النشطة.
منطق الاستراتيجية
Pipsgrowth EX09020 MeanReversion — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MeanReversion
الماجيك: 22209020
الإصدار: 2.00
الوصف:
Multi-symbol MR/BO scalper with auto-regime switching between mean-reversion (VWAP sigma-bands + RSI2 + KAMA slope) and breakout (Donchian + SuperTrend + KAMA). Includes liquidity trap blend, dynamic lock profit, utilization cap, pause guards, and ECN-safe order routing with adaptive filling modes. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
Trim()SplitCSV()FindSymIndex()SymbolEnsureSelect()SymPoint()SymTickSize()NormalizePriceToTick()SymBid()SymAsk()SymbolMinVolume()
// Pipsgrowth EX09020 MeanReversion — Execution Flow (from source analysis)
// Family: MeanReversion
// Multi-symbol MR/BO scalper with auto-regime switching between mean-reversion (VWAP sigma-bands + RSI2 + KAMA slope) and breakout (Donchian + SuperTrend + KAMA). Includes liquidity trap blend, dynamic lock profit, utilization cap, pause guards, and ECN-safe order routing with adaptive filling modes. 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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم H1 أو H4
- 7حدد فترة Bollinger Bands والانحراف ومستويات RSI وحجم اللوت
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| EA_Prefix | "EX9" | EA name / logging prefix |
| MagicNumber | 22209020 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_09020" | Trade comment prefix |
| SymbolsCSV | "EURUSD,USDJPY,GBPUSD,EURJPY,AUDUSD" | Symbol list (CSV) |
| InpTF | 1 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Operating timeframe |
| EnableMultiSymbol | true | Enable multi-symbol scanning |
| InpEnableDynamicLockProfit | true | Use dynamic (ratchet) lock profit |
| InpLockProfitEveryXPoints | 120 | Lock step size (points) |
| InpLockMinusYPointsBuffer | 18 | Buffer below step (points) |
| MaxOpenTradesPerSymbol | 2 | Max positions per single symbol |
| MaxTotalOpenTrades | 6 | Global max positions |
| AllowOnlyProfitableAdditions | true | Only add if current direction net profitable |
| MinProfitPerTradeToAdd | 4.0 | Min unrealized pts per trade for add |
| PauseOnConsecutiveLosses | true | Enable pause after N losses |
| PauseConsecutiveLossesCount | 3 | Loss streak threshold |
| PauseConsecutiveLossesMinutes | 60 | Pause length (minutes) |
| PauseOnLossAmount | true | Enable pause on loss amount |
| PauseLossAmount | 100.0 | Loss amount threshold (currency) |
| PauseLossAmountMinutes | 60 | Pause length after loss amount |
| PauseOnDailyDrawdown | true | Pause if daily drawdown exceeded |
| DailyDrawdownPct | 2.0 | Daily drawdown percent threshold |
| ResetPauseAtNewDay | true | Reset loss pause at new day |
| InpFixedLot | 0.10 | Fixed lot size |
| InpUseATRforSLTP | true | Use ATR-based SL/TP |
| InpATRPeriod | 14 | ATR period |
| InpATR_SL_Mult_MR | 1.0 | MR mode SL ATR multiplier |
| InpATR_TP_Mult_MR | 1.8 | MR mode TP ATR multiplier |
| InpATR_SL_Mult_BO | 1.0 | BO mode SL ATR multiplier |
| InpATR_TP_Mult_BO | 2.4 | BO mode TP ATR multiplier |
| InpSL_Points | 250 | Static SL points (if ATR off) |
| InpTP_Points | 500 | Static TP points (if ATR off) |
| InpSlippagePoints | 5 | Initial allowed slippage |
| InpMaxAdaptiveDeviation | 20 | Max adaptive deviation points |
| InpOneEntryPerBar | true | Enforce one entry per bar |
| InpCooldownSecondsDir | 20 | Directional cooldown seconds |
| CloseOnOppSignal | false | Close on opposite base signal |
| InpUtilBase | UTIL_EQUITY | Utilization base (equity/balance) |
| InpUtilizationMaxPct | 50.0 | Max margin usage percent |
| InpGateAddsOnly | true | Apply cap only to adds (if true) |
| InpUseDynamicSpreadCap | true | Enable dynamic spread cap |
| InpSpreadLookbackTicks | 200 | Spread sampling window (ticks) |
| InpSpreadMADMult | 3.0 | Spread cap multiplier (med+k*MAD) |
| InpSpreadCapAbsPoints | 0 | Absolute spread cap (0=off) |
| InpMinTicksPerMin | 18 | Min tick activity per minute (0=off) |
| InpUseBarQualityFilter | true | Use bar quality filter |
| InpMinBodyToRange | 0.18 | Min body/range ratio |
| InpUseATRPercentileFilter | true | Daily ATR percentile gating |
| InpATRPctlLow | 30 | ATR percentile lower bound |
| InpATRPctlHigh | 85 | ATR percentile upper bound |
| InpUseSessions | false | Use session time filter |
| InpSession1StartHH | 7 | Session 1 start hour |
| InpSession1EndHH | 17 | Session 1 end hour (exclusive) |
| InpSession2StartHH | 13 | Session 2 start hour |
| InpSession2EndHH | 22 | Session 2 end hour (exclusive) |
| InpADXSwitch | 18 | ADX regime switch threshold |
| InpADXPeriod | 14 | ADX indicator period |
| InpVWAP_SigmaInner | 1.5 | VWAP inner sigma band |
| InpVWAP_SigmaOuter | 2.0 | VWAP outer sigma band |
| InpVWAP_StdLookback | 60 | VWAP sigma lookback (bars) |
| InpKAMA_Fast | 2 | KAMA fast length |
| InpKAMA_Slow | 30 | KAMA slow length |
| InpKAMA_Period | 10 | KAMA efficiency period |
| InpRSI2_LevelLow | 10 | RSI2 low level (BUY recapture) |
| InpRSI2_LevelHigh | 90 | RSI2 high level (SELL recapture) |
| InpDonchianPeriod | 20 | Donchian breakout period |
| InpST_ATR_Period | 10 | SuperTrend ATR period |
| InpST_Mult | 2.0 | SuperTrend ATR multiplier |
| InpLimitBO_VWAPDistance | true | Limit BO by VWAP z-score |
| InpMaxVWAP_Zscore | 1.5 | Max VWAP distance z-score |
| UseLiquidityTrap | true | Enable liquidity trap blend |
| InpTrapLookbackBars | 30 | Trap range lookback (bars) |
| InpTrapSweepPts | 12 | Sweep buffer points |
| InpTrapReentryPts | 8 | Re-entry buffer points |
| InpTrapWickRatio | 0.30 | Min wick ratio for trap candle |
| EntrySignalsMustMatchWithinBars | 2 | Entry signal window width |
| ConfirmationsMustMatchWithinBars | 2 | Confirmation window width |
| InpNeedConfirmationsK | 2 | Required confirmations K |
| UseVolumeSpike | true | Volume spike confirmation |
| InpVolSMAperiod | 20 | Volume SMA period |
| InpVolSpikeMult | 1.30 | Volume spike multiplier |
| UseKAMA_SlopeAgree | true | Require KAMA slope agreement |
| InpKAMA_MinSlopePts | 0.0 | Min slope magnitude (points) |
| UseVWAP_Availability | true | Require VWAP stats availability |
| InpVWAP_MinBars | 30 | Min bars for VWAP validity |
| InpVWAP_MinSigma | 0.0 | Min sigma threshold (0=off) |
| UseBB_Reentry_AsConfirm | false | Bollinger re-entry confirmation |
| InpBB_Period | 20 | Bollinger period |
| InpBB_Dev | 2.0 | Bollinger deviations |
| UseOnTimerEngine | true | Use timer-driven entry loop |
| TimerSeconds | 1 | Timer interval seconds |
| VerboseLogs | false | Verbose diagnostic logging |
| SaveStateOnDeinit | false | Persist state on deinit |
| InpDailyLossLimitPct | 3.0 | InpCapEnabled removed — use InpCapAmount=0 to disable |
| InpCapFloor | 50.0 | ==================================================================// |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX09020 EX9 Multi-Symbol MRBO Scalper — Auto-regime MR/BO scalper, full 12-layer stack."
//==================================================================//
// INPUTS //
//==================================================================//
// ---------------------------- CORE --------------------------------
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_InpTF = PERIOD_H1;
input group "=== CORE ==="
input string EA_Prefix = "EX9"; // EA name / logging prefix
input long MagicNumber = 22209020; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_09020"; // Trade comment prefix
input string SymbolsCSV = "EURUSD,USDJPY,GBPUSD,EURJPY,AUDUSD"; // Symbol list (CSV)
input int InpTF = 1; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Operating timeframe
input bool EnableMultiSymbol = true; // Enable multi-symbol scanning
// ------------------- DYNAMIC LOCK PROFIT (Ratchet) ----------------
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;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية الارتداد للمتوسط
Pipsgrowth EX09013 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
Pipsgrowth EX09013 MeanReversion — Bollinger Bands mean-reversion EA with EMA trend filter. BUY when price touches lower band (trend up); SELL when price t. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX09009 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
Pipsgrowth EX09009 MeanReversion — Hanging Man (bearish) / Hammer (bullish) candlestick on last CLOSED bar + Stochastic confirmation (Stoch<20 Buy / Stoch>. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX09023 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
Pipsgrowth EX09023 MeanReversion — Bollinger Band mean reversion EA that fades outer band touches with fixed SL/TP and single-position control, using the 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.