Pipsgrowth EX10008 Momentum-Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، M1، M15
Pipsgrowth EX10008 Momentum-Scalper — Multi-state XAUUSD scalper. Classifies bar (FastEMA/ SlowEMA separation vs ATR, ATR-vs-mid %) into TREND_UP/DOWN, RANGE,. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX10008 Momentum-Scalper هو خبير آلي (EA) لتداول السكالبينغ على الذهب (XAUUSD) يقوم بتصنيف كل شمعة مغلقة إلى إحدى خمس حالات سوقية — TREND_UP أو TREND_DOWN أو RANGE أو VOLATILE أو QUIET — ثم يوجّه الإشارة إلى منطق دخول مختلف بحسب الحالة المكتشفة. يُحسب التصنيف داخل الدالة ClassifyMarketState() بالاعتماد على المتوسط المتحرك السريع EMA(9) والمتوسط البطيء EMA(21) وقيمة ATR(14) الحالية وخط منتصف بولنجر: عندما تكون نسبة ATR إلى خط المنتصف أقل من 0.1 تُعتبر الشمعة QUIET (بدون أي تداول)، وعندما تتجاوز 0.5 تُعتبر VOLATILE (حالة صارمة تتطلب تأكيداً ثلاثياً)، وعندما يتجاوز الفرق المطلق بين المتوسطين السريع والبطيء نصف قيمة ATR تُصنَّف الحالة كإحدى حالتي الترند. كل ما عدا ذلك يُصنَّف RANGE. هذا التوجيه هو المركز المعماري للخبير: بدلاً من تطبيق صيغة إشارة واحدة على كل شمعة، يبدّل الكود على g_marketState ويستخدم شرط دخول مخصصاً لكل فرع.
في فرع TREND_UP يبحث الخبير عن تقاطع المتوسط السريع فوق المتوسط البطيء على الشمعة المغلقة، أو بدلاً من ذلك قراءة RSI(7) في منطقة التشبع البيعي (أقل من 25) مع إغلاق فوق المتوسط البطيء. الشرط المعاكس يفعّل في TREND_DOWN: تقاطع المتوسط السريع تحت البطيء، أو RSI(7) أعلى من 75 مع إغلاق تحت المتوسط البطيء. فرع RANGE هو قراءة ارتداد: لمس الحد السفلي لبولنجر (مع تسامح 0.1%) مع RSI تشبع بيعي أو تباعد صعودي RSI يفعّل شراء، ولمس الحد الأعلى يفعّل بيع. فرع VOLATILE هو الأكثر صرامة — يتطلب توافر ثلاثة عوامل معاً (AND): التقاطع المناسب لمتوسطات EMA، والتطرف المناسب لـ RSI، ولمس بولنجر المناسب. أما QUIET فهو صامت؛ فرع default لا يطلق أي إشارة. درجة الثقة المرفقة بكل إشارة خاصة بالحالة أيضاً: إشارات الترند تستخدم min(100, |EMA-fast − EMA-slow| / ATR × 50 + 25)، إشارات النطاق تستخدم (25 − RSI) × 3 + 40، وفرع VOLATILE يضع قيمة ثابتة 90.
قبل أن تصل أي إشارة موجَّهة بالحالة إلى مسار الدخول، يجب أن تجتاز فلترين عالميين. IsVolumeSpike() يطلب أن يتجاوز حجم تكات الشمعة السابقة 1.5× متوسط آخر خمس شموع. HasSufficientMomentum() يطلب أن يكون الفرق المطلق لمتوسط EMA السريع بين آخر شمعتين مغلقتين لا يقل عن 50 نقطة. يمكن إيقاف كلا الفلترين عبر مدخلات InpUseVolumeFilter وInpUseMomentumFilter، لكنهما مفعّلان افتراضياً لأنهما الحماية الأساسية ضد الاختراقات الكاذبة في تحركات الذهب السريعة.
تأكيد ثانٍ متكرر يجلس بين الإشارة والأمر: RegimeOK() يقرأ ADX(14) ويرفض الدخول عندما يكون الخط الرئيسي لـ ADX تحت 18. يقرأ أيضاً آخر 52 قيمة لـ ATR لحساب النسبة المئوية لـ ATR مقابل متوسطه المتحرك، ويرفض التداول عندما تكون النسبة تحت 15 (سكون ميت) أو فوق 95 (ارتفاع أخبار). فحص فرعي ثالث يقرأ آخر 10 قراءات لعرض بولنجر ويرفض عندما يدخل النطاق في انضغاط ضيق تحت 10% من متوسطه المتحرك. مدخل InpHTFConfirm الاختياري يضيف فوق ذلك فحص توافق EMA(50) / EMA(200) على إطار M15 — عندما يكون المتوسط السريع M15 تحت البطيء لا يُسمح بأمر شراء، والعكس صحيح. هذه الطبقة على الإطار الأعلى هي المدخل الأكثر حسماً في الخبير: لا تغيّر ما يُحسب، بل تقتصر على السماح أو المنع لإرسال الأمر.
حجم الصفقة مبني على نسبة المخاطرة من InpRiskPercent (افتراضي 0.7% من رأس المال الفعّال) مع fallback ثابت InpFixedLot عند 0.01 لوت إذا فشل حساب المخاطرة. CalcLotForATRStop() يستخدم lossPerLot = (ATR × 1.5 / tickSize) × tickValue ويقسم مبلغ المخاطرة على ذلك. يُوضع وقف الخسارة عند entry − ATR × 1.5 (أو المرآة للبيع) وجني الأرباح عند entry + ATR × 2.0 — أي نسبة 1.5:2.0، أي R-multiple قدره 1.33 مقابل الوقف. كما يُقَلَّم مسافة الوقف عند SYMBOL_TRADE_STOPS_LEVEL الخاص بالرمز حتى لا يرفض الوسيط الأمر بسبب مسافة الوقف. عندما يكون InpCapitalCapAmount > 0 يتعامل الخبير مع هذا الرقم كسقف لرأس المال الفعّال مضافاً إليه ربح اليوم المحقق، أي أن اليوم الرابح يوسّع أساس التحجيم في كل صفقة لاحقة حتى تُعاد معايرة الجلسة.
تدير ManageTrades() الصفقات على كل تكة. عندما يصل الربح إلى 1R يُنقل الوقف إلى entry + 15 نقطة (أو المرآة) — قفل نقطة التعادل مع إزاحة صغيرة لابتلاع السبريد. عند نفس عتبة 1R يُغلق نصف الصفقة إذا كان الحجم المتبقي 1.5× الحد الأدنى للوت على الأقل، وتُوسم التعليمة بـ [P] لمنع تكرار الجزئي. من نفس 1R، يتبع trailing بمقدار ATR(14) السعر بمسافة قدرها ATR واحد؛ يُشدّ الوقف إلى الأمام فقط، وليس إلى الخلف. لا يوجد تدريج عند مستويات R جزئية — السلوكيات الثلاثة (نقطة التعادل، الجزئي، التتبع) كلها تنشط عند 1.0R بالضبط، وهو التبسيط المتعمد الذي يجعل حالة الإدارة سهلة الفحص في الباك تيست. إغلاق زمني منفصل يغلق أي صفقة استمرت 240 شمعة (20 ساعة M5)، وفشل RegimeOK في جزء ADX يسبّب إغلاقاً فورياً عند تغيير الحالة.
بوابة عدم التداول تجمع الربح/الخسارة المحقق اليومي والأسبوعي مقابل InpDailyLossLimitPercent (5%) وInpWeeklyLossLimitPercent (10%) من رأس المال الفعّال، محسوبة من صفقة دفتر التداول. فحص أرضية رأس المال يمنع الدخول عندما يهبط رأس المال الفعّال تحت InpCapitalCapFloor (50 دولار افتراضياً). يُفعَّل تهدئة بعد ثلاث خسائر متتالية — UpdateConsecutiveAfterClose() يقرأ الساعة الأخيرة من سجل الصفقات، يزيد العداد عند كل إغلاق سلبي، ويمنع دخولاً جديداً لثلاث شموع مغلقة تالية (15 دقيقة على M5). فلتر السبريد يرفض الدخول عندما يتجاوز سبريد الرمز 50 نقطة، أو إذا كان SYMBOL_TRADE_STOPS_LEVEL أوسع، أربعة أضعاف ذلك المستوى. فلتر ثانوي يطلب أن يكون ATR بالنقاط 3.5× السبريد على الأقل، مما يقتل حالات التذبذب المنخفض/السبريد المرتفع التي تبدو قابلة للدخول لكنها لا تربح شيئاً بعد التكاليف. نافذة الجلسة مبرمجة بساعات الخادم من 8 إلى 20، وحماية نهاية الأسبوع تغلق الكتاب يوم الجمعة بعد 22:00 وترفض الفتح السبت أو الأحد. IsNewsTime() يضيف تعتيم NFP يوم الجمعة فقط بين الساعات 12 و16 لأول سبعة أيام من الشهر، يمنع الدخول دون إغلاق أي صفقة مفتوحة.
InpDryRun افتراضياً true — يطبع الخبير السياق الكامل للإشارة وحالة الحالة ومعاملات الأمر في السجل دون إرسال أي شيء. يجب على المستخدم ضبطها صراحة على false لتشغيل الخبير لايف، وتاج [DRY-RUN] يجعل الحالة واضحة في سجل Experts. InpKillSwitch مدخل منفصل، عند true يستدعي CloseAllOurPositions() على التكة التالية ويتوقف عن الفتح. كود البيراميد موجود وقابل للتشغيل لكنه معطّل افتراضياً: InpEnablePyramid = false. عند التفعيل، يضيف إلى الصفقة الأكثر ربحاً فقط، وفقط إذا تحركت 1.5× ATR في الربح، وحتى حد أقصى صارم قدره 3 مستويات؛ إدخال بيراميد جديد يجب أن يجتاز RegimeOK وفحص هامش الأمر قبل الإرسال. وضع التعبئة يُختار تلقائياً من قناع SYMBOL_FILLING_MODE للرمز بالترتيب FOK > IOC > RETURN. تستخدم إعادة محاولة الإرسال 40 نقطة انحراف، مع إعادة محاولة واحدة بعد تحديث الأسعار عند REQUOTE أو PRICE_OFF أو TIMEOUT؛ إغلاق الصفقة والإغلاق الجزئي يستخدمان backoff قدره 200 مللي ثانية لما يصل إلى ثلاث محاولات على نفس الرموز المرجعية زائد PRICE_CHANGED؛ التعديلات تستخدم 100 مللي ثانية backoff للمجموعة نفسها. دالة لياقة OnTester هي (net × profitFactor) / (1 + balance-DD-%)، مقيّدة بحد أدنى 30 صفقة — أي شيء تحت 30 صفقة يُرجع 0 كي يستطيع Strategy Tester استبعاد النتائج غير ذات الدلالة الإحصائية.
كيف سيظهر هذا الخبير في الباك تيست: شارت XAUUSD M5 مع كومة EMA 9/21، نطاقات بولنجر عند 20/2.0، طبقة تأكيد ترند M15، وتردد تداول منخفض نسبياً لأن مصنّف الحالة وقواعد التأكيد الثلاثي يصفّيان معظم الشموع. عدد الصفقات أسبوعياً صغير، نسبة الربح معتدلة، ومعظم منحنى الأسهم يأتي من عدم تماثل إغلاق TP الجزئي عند 1R مع trailing الـ ATR. أكثر أنماط الفشل شيوعاً هي أن يظل الخبير عالقاً في حالة QUIET أو RANGE أثناء انتقال إلى ترند، ولهذا السبب فإن مفتاح تأكيد HTF هو نقطة البداية الصحيحة للضبط: إيقافه يرفع عدد الصفقات على حساب جودة الإشارات، وتشغيله بعتبة أشد صرامة (مثل M30 بدلاً من M15) يبدّل العدد بالاستقرار.
تفاصيل الاستراتيجية
تمر كل شمعة مغلقة عبر ClassifyMarketState() الذي يستخدم فصل EMA(9)/EMA(21) مقابل ATR ونسبة ATR إلى خط منتصف بولنجر لإسناد إحدى خمس حالات (TREND_UP، TREND_DOWN، RANGE، VOLATILE، QUIET). يوجّه EvaluateSignal() بعد ذلك صيغة دخول خاصة بالحالة: فروع الترند تبحث عن تقاطعات EMA أو تطرفات RSI(7) مع تأكيد إغلاق مقابل EMA البطيء؛ RANGE يبحث عن لمسات بولنجر مقترنة بتطرفات RSI أو تباعدات؛ VOLATILE يتطلب AND ثلاثي بين تقاطع وتطرف ولمس. فلتران مسبقان يعملان قبل إطلاق أي إشارة — IsVolumeSpike() عند 1.5× متوسط حجم آخر خمس شموع، وHasSufficientMomentum() يطلب فارق 50 نقطة على FastEMA — ثم RegimeOK() يقيّد بـ ADX(14) ≥ 18 ونطاق نسبة مئوية ATR من 15 إلى 95 وعرض بولنجر فوق 10% من متوسطه المتحرك. يضيف InpHTFConfirm الاختياري فحص توافق EMA(50) مقابل EMA(200) على M15، لا يغيّر الإشارة بل يقتصر على السماح بالإرسال. حجم الصفقة مبني على نسبة المخاطرة عبر CalcLotForATRStop()، مع أرضية وقف عند SYMBOL_TRADE_STOPS_LEVEL للرمز و TP عند 1.5:2.0 من مسافة الوقف. تعمل ManageTrades() على كل تكة وتكدّس ثلاث سلوكيات عند مستوى 1.0R — إغلاق جزئي 50%، وقف نقطة تعادل عند entry + 15 نقطة، و trailing بمقدار ATR(14) — إضافة إلى إغلاق بإشارة معاكسة وإغلاق بتغيير حالة ADX وخروج زمني عند 240 شمعة. تكدّس بوابة عدم التداول: أرضية رأس المال، خسارة يومية (5%)، خسارة أسبوعية (10%)، تهدئة بعد ثلاث خسائر (3 شموع)، حد سبريد (50 نقطة أو 4× مستوى الوقف)، نسبة ATR/سبريد ≥ 3.5، جلسة 8-20 بتوقيت الخادم، حماية نهاية الأسبوع، وتعطيل NFP الجمعة فقط. يُرجع OnTester القيمة (net × PF) / (1 + DD%)، مقيّداً بحد أدنى 30 صفقة.
يتم توجيه الدخول بواسطة مصنّف حالة من خمس حالات (ClassifyMarketState()) يقرأ فصل EMA(9)/EMA(21) مقابل ATR ونسبة ATR إلى خط منتصف بولنجر. في TREND_UP يشتري الخبير عند تقاطع EMA السريع فوق البطيء أو عند RSI(7) أقل من 25 مع إغلاق فوق EMA البطيء؛ في TREND_DOWN يُفعَّل الشرط المعاكس عند تقاطع السريع تحت البطيء أو RSI(7) فوق 75 مع إغلاق تحت البطيء. دخول RANGE يتطلب لمس نطاق بولنجر مع RSI تشبع بيعي/شرائي أو تباعد RSI؛ دخول VOLATILE يتطلب AND ثلاثي بين تقاطع EMA وتطرف RSI ولمس النطاق؛ QUIET لا يطلق أي إشارات. فلتران عالميان مسبَقان — IsVolumeSpike() عند 1.5× متوسط آخر 5 شموع وHasSufficientMomentum() يطلب فارق 50 نقطة على FastEMA — يجب أن يجتازا قبل أن تصل أي إشارة حالة إلى مسار الأمر، ثم RegimeOK() يقيّد بـ ADX ≥ 18 ونطاق نسبة مئوية ATR من 15 إلى 95 وعرض بولنجر غير منضغط.
تعمل الخروج على كل تكة داخل ManageTrades(). إشارة معاكسة الاتجاه من موجّه الحالة تغلق الصفقة فوراً (وسم "opp-signal")؛ فشل الحالة على جزء ADX يغلق بوسم "regime-change-ADX"؛ إغلاق زمني صارم ينطلق عند 240 شمعة (20 ساعة على M5) بوسم "max-bars-reached". من عتبة 1.0R ينطلق إغلاق جزئي بنسبة 50% من الصفقة (موسوم بـ [P] لمنع تكرار الجزئي) ويُضبط وقف نقطة التعادل عند entry + 15 نقطة مع قاعدة معكوسة للبيع؛ من نفس العتبة يبدأ trailing بمقدار ATR(14) يتبع السعر بمسافة ATR واحدة ويُشدّ إلى الأمام فقط.
يُوضع وقف الخسارة لكل صفقة عند entry − ATR(14) × 1.5 (أو المرآة للبيع) داخل CalcLotForATRStop()، مع حد أدنى عند SYMBOL_TRADE_STOPS_LEVEL للرمز حتى لا يرفض الوسيط الأمر بسبب مسافة الوقف. حجم الصفقة مبني على نسبة المخاطرة: 0.7% من رأس المال الفعّال هي أقصى خسارة لكل صفقة، مع InpFixedLot = 0.01 كـ fallback عند فشل حساب المخاطرة. بعد 1.0R من الربح، تشدّ ManageTrades() الوقف إلى entry + 15 نقطة ثم تتبع بمقدار ATR(14) واحد.
يُضبط جني الأرباح لكل صفقة عند entry + ATR(14) × 2.0 (أو المرآة للبيع)، مما يعطي نسبة وقف:هدف 1.5:2.0 وR-multiple قدره 1.33 مقابل مسافة الوقف. عند عتبة 1.0R تغلق ManageTrades() 50% من الصفقة (فقط عندما يكون الحجم المتبقي 1.5× الحد الأدنى للوت على الأقل) وتترك الباقي يتبع trailing الـ ATR بدلاً من هدف ثاني ثابت. لا يوجد مستوى TP ثانٍ — تنتهي الصفقة عبر trailing أو إشارة معاكسة أو الخروج الزمني عند 240 شمعة أو تغيير الحالة.
الأفضل على شارت XAUUSD واحد على M5 (يعمل أيضاً على M1 وM15 وفقاً لرأس الملف) مع حساب ECN أو RAW سبريد — حد السبريد 50 نقطة ونسبة ATR/سبريد 3.5× في الخبير تعاقب حسابات السبريد الواسع. الحد الأدنى للرصيد الموصى به: 100 دولار (أرضية مدخل رأس المال في الخبير نفسه)، لكن حساب 500 دولار+ يوفّر للحدود 5% يومي / 10% أسبوعي مساحة كافية لتحمّل سلسلة خسائر طبيعية. التداول ضمن نافذة ساعات الخادم من 8 إلى 20، التي تطابق لندن وصباح نيويورك لمعظم وسطاء MT5 — يجب احترام قطع الجمعة 22:00 وحظر السبت/الأحد وتعتيم NFP في اليوم ≤ 7 بين 12:00-16:00. تجنّب حالة QUIET (تظهر كـ ATR/bbMid < 0.1%) بتجاوز ساعات الجلسة الآسيوية الرقيقة. مدخل InpDryRun افتراضياً true ويجب ضبطه صراحة على false قبل أن يُسمح بإرسال أي أمر لايف.
منطق الاستراتيجية
Pipsgrowth EX10008 Momentum-Scalper — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Momentum-Scalper
الماجيك: 22210008
الإصدار: 2.00
الوصف:
Multi-state XAUUSD scalper. Classifies bar (FastEMA/ SlowEMA separation vs ATR, ATR-vs-mid %) into TREND_UP/DOWN, RANGE, VOLATILE, QUIET, then dispatches: Trending = EMA cross OR RSI extreme + close>SlowEMA; Ranging = BB touch + RSI extreme/divergence; Volatile = 3-factor AND. Volume-spike + EMA-momentum filters on every signal. Closed-bar only. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
ComputeEffectiveCapital()UpdateRealizedPnL()IsNewsTime()RegimeOK()EvaluateSignal()IsVolumeSpike()HasSufficientMomentum()CheckDivergence()ConfirmOK()CountOurPositions()
// Pipsgrowth EX10008 Momentum-Scalper — Execution Flow (from source analysis)
// Family: Momentum-Scalper
// Multi-state XAUUSD scalper. Classifies bar (FastEMA/ SlowEMA separation vs ATR, ATR-vs-mid %) into TREND_UP/DOWN, RANGE, VOLATILE, QUIET, then dispatches: Trending = EMA cross OR RSI extreme + close>SlowEMA; Ranging = BB touch + RSI extreme/divergence; Volatile = 3-factor AND. Volume-spike + EMA-momentum filters on every signal. Closed-bar only. 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اسحب الإكسبرت من Navigator وأفلته على أي رسم بياني (يُنصح بـ M1 أو M5)
- 7في نافذة الإعدادات، فعّل Allow Algo Trading وحدد حجم اللوت
- 8اضغط OK — سيبدأ الإكسبرت بالتداول تلقائياً
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagic | 22210008 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_10008" | Trade comment |
| InpDryRun | true | Dry-run (no live sends) |
| InpKillSwitch | false | Kill switch (closes-all on tick) |
| InpRiskPercent | 0.7 | Risk per trade (% of effective capital) |
| InpFixedLot | 0.01 | Fixed lot fallback (used when Risk%<=0) |
| InpDailyLossLimitPercent | 5.0 | Daily loss limit (% of effective capital) |
| InpWeeklyLossLimitPercent | 10.0 | Weekly loss limit (% of effective capital) |
| InpMaxConcurrent | 2 | Max concurrent positions (this EA+symbol) |
| InpCapitalCapAmount | 0.0 | Capital cap amount ($ REAL MONEY equity) |
| InpCapitalCapFloor | 50.0 | Floor below which new entries are blocked ($) |
| InpUseVolumeFilter | true | Volume-spike filter (source thesis) |
| InpUseMomentumFilter | true | EMA momentum filter (source thesis) |
| InpMinADX | 18.0 | Minimum ADX main (state-dispatch threshold) |
| InpHTFConfirm | true | Confirm with HTF EMA(50>200) trend agreement |
| InpATRMultiplier | 1.5 | ATR SL multiplier (rDist scaling) |
| InpEnablePyramid | false | Enable pyramiding (default OFF) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX10008 XAUUSD Scalper — multi-state regime-dispatched momentum scalper, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
//--- Non-operator tunables (kept as #define to keep input count <= 22) ---//
#define DEF_FAST_EMA_PERIOD 9 // Fast EMA period (source thesis)
#define DEF_SLOW_EMA_PERIOD 21 // Slow EMA period (source thesis)
#define DEF_RSI_PERIOD 7 // RSI period (source thesis, fast)
#define DEF_RSI_OVERSOLD 25.0 // RSI oversold (source thesis)
#define DEF_RSI_OVERBOUGHT 75.0 // RSI overbought (source thesis)
#define DEF_BB_PERIOD 20 // BB period (source thesis)
#define DEF_BB_DEVIATION 2.0 // BB deviation (source thesis)
#define DEF_ATR_PERIOD 14 // ATR period (source thesis)
#define DEF_ATR_SL_MULT 1.5 // ATR SL multiplier (source thesis)
#define DEF_ATR_TP_MULT 2.0 // ATR TP multiplier (source thesis)
#define DEF_VOL_SPIKE_MULT 1.5 // Volume spike multiplier (source thesis)
#define DEF_VOL_LOOKBACK 5 // Volume average lookback bars (source thesis)
#define DEF_MOMENTUM_BARS 2 // Momentum lookback bars (FastEMA delta)
#define DEF_MIN_MOMENTUM_POINTS 50 // Min momentum (FastEMA delta in points)
#define DEF_DIVERGENCE_LOOKBACK 5 // RSI divergence swing lookback
#define DEF_BBW_PCT_LO 10 // BB-width percentile min
#define DEF_ATR_PCT_LOOKBACK 50 // ATR-percentile lookback
#define DEF_ATR_PCT_LO 15 // ATR percentile min
#define DEF_ATR_PCT_HI 95 // ATR percentile max
#define DEF_HTF_TF PERIOD_M15 // HTF trend timeframe
#define DEF_HTF_FAST_PERIOD 50 // HTF fast EMA
#define DEF_HTF_SLOW_PERIOD 200 // HTF slow EMA
#define DEF_SESSION_START 8 // London/NY session start (server hour)
#define DEF_SESSION_END 20 // Session end hour (source thesis)
#define DEF_NEWS_NFP_DAY_MAX 7 // NFP Friday day-of-month max
#define DEF_NEWS_NFP_HOUR_START 12 // NFP Friday blackout start
#define DEF_NEWS_NFP_HOUR_END 16 // NFP Friday blackout end
#define DEF_MAX_BARS_IN_TRADE 240 // Max bars in trade (time exit)
#define DEF_BE_TRIGGER_R 1.0 // Break-even trigger (R multiples)
#define DEF_BE_OFFSET_POINTS 15 // BE lock offset (points)
#define DEF_PARTIAL_FRAC 0.5 // Partial TP fraction
#define DEF_PARTIAL_R 1.0 // Partial TP trigger (R multiples)
#define DEF_TRAIL_START_R 1.0 // Trail activation (R multiples)
#define DEF_TRAIL_ATR_MULT 1.0 // ATR trail multiplier
#define DEF_COOLDOWN_BARS 3 // Bars cooldown after losses
#define DEF_COOLDOWN_LOSSES 3 // Consecutive losses to trigger cooldown
#define DEF_MAX_PYRAMID 3 // Max pyramid levels (hard cap)
#define DEF_PYRAMID_SPACING_ATR 1.5 // Pyramid spacing (ATR multiples)
#define DEF_MAX_SPREAD_POINTS 50 // Max spread (points, source thesis)
#define DEF_MIN_ATR_SPREAD_RATIO 3.5 // ATR(points)/Spread >= k
#define DEF_DEVIATION_POINTS 40 // Order send deviation (points)
#define DEF_MAX_SYMBOL_EXPOSURE 2 // Max positions per symbol (this EA, source max=2)
//--- Market state classification -----------------------------------//
enum ENUM_REGIME_STATE
{
STATE_TREND_UP = 1,
STATE_TREND_DOWN = -1,الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية سكالبينج
Pipsgrowth EX14020 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX14020 Scalper — AI-assisted XAUUSD scalper using a multi-filter signal scoring system combining RSI, MACD, EMA50/200 and ATR. Entry trig. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX10006 Momentum-Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX10006 Momentum-Scalper — USDJPY M1 pullback scalp — fast EMA above slow EMA (uptrend), then a micro dip toward the pullback EMA, with bar-1 close. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX14021 Scalper — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX14021 Scalper — EURUSD scalper using Bollinger Bands + MACD divergence. Entry triggers on BB band touch confirmed by MACD crossover. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.