P
PipsGrowth
سكالبينجمفتوح المصدر - مجاني

Pipsgrowth EX10010 Momentum-Scalper — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX10010 Momentum-Scalper — Detect a quiet compression (N bars inside a small range), then enter on the next impulse bar that breaks that range. Imp. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

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

منطق الإشارة يعيش داخل دالة DetectSignal، وهي دالة بطول خمسين سطراً تقرأ 22 شمعة من الإطار الزمني المختار (افتراضياً M30 عبر InpSignalTF=4، رغم أن رأس الملف يذكر M1M15 كنطاق تشغيلي مقصود والزوج المخزن في قاعدة البيانات هو XAUUSD على M1/M15). تقيس الدالة أولاً أعلى-high وأقل-low للشموع من الإزاحة 2 إلى 21 — أي شموع COMPRESS_LOOKBACK=20 السابقة. إذا كان هذا المدى أوسع من maxQuietRange = ATR(14) × InpQuietRangeATR (0.6 افتراضياً)، فالدالة ترجع صفراً ولا تنطلق أي إشارة. يجب أن تجتاز الشمعة المغلقة عند الإزاحة 1 ثلاثة اختبارات لشكل الجسم: نسبة الجسم إلى المدى ≥ COMPRESS_BODY_STRENGTH=0.6 (يجب أن تغلق الشمعة قرب قمتها أو قاعها، لا أن تنجرف)، وطول الجسم ≥ InpImpulseStrength × ATR (افتراضياً 1.0×ATR — أي أن جسم الشمعة يجب أن يكون أكبر من الشمعة المعتادة)، وحجم التيك على الأقل 1.2× متوسط 20 شمعة (VOLUME_MA_PERIOD=20، VOLUME_MULT=1.2). يُحدد الاتجاه من توافق EMA(8)/EMA(21) على الشمعة المغلقة: الدفعة الصاعدة لا تُحتسب إلا إذا كانت EMA(8) > EMA(21)، والدفعة الهابطة على العكس. تُحسب درجة الثقة كـ bodyRatio×50 + min(strengthATR×20, 50)، محدودة عند 100، ويتدفق هذا الرقم إلى بقية البنية.

تتدفق درجة الثقة إلى ConfirmEntry، التي تضيف أربع بوابات مستقلة. يجب أن تتوافق EMA(50) على H1 (HTF_EMA_PERIOD=50 على PERIOD_H1) مع اتجاه الصفقة — صفقات الشراء تتطلب أن يكون السعر فوق EMA على H1، والعكس للبيع. يجب أن يكون السبريد الحالي ≤ 30 نقطة (InpMaxSpreadPoints) AND ≤ 2.5× متوسط السبريد المتدحرج على 50 شمعة (SPREAD_MULT_MAX، يُحسب عبر PushSpread/AvgSpread عند كل تيكة). يجب أن ترجع InSession() صحيحاً — وقت الخادم من 7 إلى 20، مع استثناء عطلة نهاية الأسبوع والجمعة ≥ 18. ويجب أن يكون CountSymbolExposure() أقل من MAX_SYMBOL_EXPOSURE=2.

فوق كل هذا تجلس ClassifyRegime، وهي مصنفة ذات سبع حالات تعمل قبل أي كشف إشارة. تسحب ADX(14)، ومئين ATR(14) على نافذة 100 شمعة (ATR_PCTILE_LOOKBACK)، وعرض بولنجر (20، 2.0). ترجع آلة الحالات STRONG_TREND (ADX≥35 AND pctile≥0.7)، أو WEAK_TREND (ADX≥25 AND pctile≥0.4)، أو EXPAND (pctile≥0.85)، أو COMPRESS (pctile≤0.15)، أو RANGE (bbWidth<0.5×meanAtr AND ADX<20)، أو CHOPPY (ADX<15)، أو BREAKOUT (الحالة الافتراضية). تحظر NoTrade() الدخول عندما تكون الحالة CHOPPY، وتحظر TryPyramid() الإضافات في نفس الحالة. المصنفة استشارية فعلاً وليست بوابة: DetectSignal لا يهمها في أي حالة هي طالما أن نمط الضغط والدفعة موجود، لكن طبقة عدم التداول ترفض التصرف على شموع CHOPPY.

التحجيم مباشر. تقرأ CalcLots رأس المال الفعال (الذي يكون min(InpCapitalCapAmount, equity) عند تفعيل السقف، أو equity عدا ذلك)، تضربه في 0.5% (InpRiskPercent=0.5)، وتقسمه على مخاطر اللوت الواحد عند وقف ATR. الوقف هو ATR(14)×1.5 (InpATR_SL_Mult)، لذا فإن مسافة الوقف بالسعر تتحدد مرة لكل شمعة وحجم اللوت يتدرج ليخاطر بـ 0.5% من الرصيد. يُقرّب NormVol النتيجة إلى LotsStep ويقصرها بين [LotsMin, LotsMax]. تفرض SendEntry بعد ذلك نسبة مكافأة إلى مخاطرة لا تقل عن InpMinRR=1.2 (TP = 2.0×SL عبر InpRR_Target=2.0) وفحص هامش عبر OrderCalcMargin قبل الإرسال.

لمسار التنفيذ شبكة أمان ملحوظة. trade.SetTypeFillingBySymbol(_Symbol) يختار تلقائياً FOK > IOC > RETURN بناءً على قناع SYMBOL_TRADE_MODE للرمز، وتُطلق إعادة محاولة واحدة عند REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED. مع InpDryRun=true كقيمة المصنع الافتراضية، يُختصر مسار الدخول: تسجل الدالة الخطة الكاملة (الاتجاه، اللوتات، السعر، الوقف، الهدف، الثقة) في السجل وتضبط g_lastEntryBarTime، لكنها لا تستدعي أبداً trade.Buy أو trade.Sell. هذا يعني أن المستشار يُشحن في وضع الإشارة فقط — يجب على المستخدم أن يقلب InpDryRun=false صراحة في المدخلات قبل وضع أي أوامر حقيقية. مدخل InpKillSwitch هو مفتاح قتل رئيسي ثانٍ، مطفأ افتراضياً أيضاً.

ManageOpenPositions هو ما يجعل الاستراتيجية قابلة للتطبيق عملياً. خمسة إجراءات تنطلق عند كل تيكة والمركز مفتوح. خروج بالوقت: مرور 240 شمعة (MAX_BARS_IN_TRADE = 240، أي 20 ساعة على M5 أو 4 ساعات على M1) منذ فتح المركز يُطلق إغلاقاً عبر TryClose_EX10010. خروج بإشارة معاكسة: إذا أعادت DetectSignal الاتجاه المعاكس بثقة ≥ 50، يُغلق المركز. التعادل: عندما rMultiples1.0، يُنقل الوقف إلى openPx + 2 نقطة (BE_OFFSET_PIPS=2.0) للشراء، أو العكس للبيع. لا يُطلق التعديل إلا إذا كان فعلاً يحرك الوقف إلى الأمام — لا رجوع للخلف. جزئي عند TP: عندما rMultiples1.0 وحجم المتبقي > 1.5× الحد الأدنى للوت للرمز، يُغلق 50% من المركز (PARTIAL_TP_RATIO=0.5) عبر TryClosePartial_EX10010. تُفحص السلسلة "_pt" في تعليق المركز لضمان عدم إطلاق الجزئي مرتين على نفس المركز. تريل ATR: يُحسب وقف متحرك ATR(14)×2.0 (TRAIL_ATR_MULT=2.0) عند كل تيكة. لا يُطبق الوقف الجديد إلا إذا كان أمام الوقف الحالي وداخل السعر الحالي — لا حركة للخلف.

منطق التهدئة يُعالج منفصلاً عبر OnTradeTransaction، التي تقرأ DEAL_PROFIT وDEAL_SWAP وDEAL_COMMISSION من تيار الصفقات. بعد MAX_CONSEC_LOSSES_COOL=3 خسائر متتالية، تُضبط فترة تهدئة لـ COOLDOWN_BARS=30 شمعة من الإطار الزمني للإشارة، ويُعاد العداد إلى صفر. OnTradeTransaction هي المكان الوحيد الذي يزداد فيه عداد الخسائر المتتالية — لا محاسبة داخلية في المستشار، ما يعني لا خطأ إزاحة بين رؤية المستشار للصفقة ورؤية الوسيط. يُفرض سقفان للمحظة. السقف لكل magic هو InpMaxConcurrent (افتراضياً 1) AND MAX_OPEN_POSITIONS=3 — أيهما أشد. السقف لكل رمز هو MAX_SYMBOL_EXPOSURE=2. خيار سقف رأس المال هو InpCapitalCapAmount (0 = معطل)؛ عندما يكون غير صفر، يصبح رأس المال الفعال min(السقف, الرصيد)، وتُحظر الدخول عندما ينخفض رأس المال الفعال تحت InpCapitalCapFloor=50. كود الهرم موجود في TryPyramid مع PYRAMID_MAX_LEVELS=5 وPYRAMID_ATR_SPACING=1.5 وPYRAMID_MIN_PROFIT_R=1.0، لكنه لا ينطلق إلا عندما InpMaxConcurrent > 1 — لذا فإن توسيع الهرم مطفأ افتراضياً ويبقى مطفأً حتى يرفع المستخدم ذلك المدخل.

معيار OnTester المخصص هو (net × PF) / (1 + |maxDD|) مع عتبة 30 صفقة — مفيد عند مقارنة مجموعات المعاملات في Strategy Tester، حتى لو شغّل المستخدم المستشار لايف. النتيجة النهائية هي استراتيجية كسر بعد هدوء مع فلتر حالة محافظة، ونسبة مخاطرة إلى مكافأة صادقة 1:2 عند الدخول، وبنية إدارة ثلاثية الشلال، وقيمة افتراضية للتشغيل الجاف تحمي المستخدم من نشر لايف بنقرة واحدة طائشة. سقف السبريد المطلق 30 نقطة وسقف 2.5× المتوسط المتدحرج كلاهما يفترض وسيط ECN/RAW بسبريد تحت البيب، وهي بيئة التشغيل الواقعية. على حسابات التجزئة أو القياسية بسبريد 2-3 بيب، ستُصفى أغلب الإشارات عبر ConfirmEntry قبل أن تصل إلى SendEntry، وهذا هو السلوك الصحيح — الاستراتيجية مُعايَرة لتكون انتقائية لا ثرثارة.

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

عند كل شمعة جديدة من الإطار الزمني للإشارة المختار (افتراضياً M30 عبر InpSignalTF=4، مع ذكر M1M15 في رأس الملف كنطاق تشغيلي مقصود)، يستدعي المستشار أولاً ClassifyRegime — آلة ذات 7 حالات تقرأ ADX(14) ومئين ATR(14) على 100 شمعة وعرض بولنجر (20، 2.0) وترجع STRONG_TREND أو WEAK_TREND أو EXPAND أو COMPRESS أو RANGE أو CHOPPY أو BREAKOUT. تحظر NoTrade() الدخول على CHOPPY. تتطلب DetectSignal بعد ذلك أن تكون شموع 20 السابقة داخل غلاف 0.6×ATR وأن تكسر الشمعة المغلقة بنسبة جسم إلى مدى ≥ 0.6 (COMPRESS_BODY_STRENGTH) وطول جسم ≥ 1.0×ATR على حجم تيك ≥ 1.2× المتوسط، مع توافق EMA(8)/EMA(21) على الاتجاه. تضيف ConfirmEntry فلتر اتجاه EMA(50) على H1، وسقف سبريد مطلق 30 نقطة (InpMaxSpreadPoints)، وسقف 2.5× المتوسط المتدحرج على 50 شمعة (SPREAD_MULT_MAX)، ونافذة جلسة 7–20 بتوقيت الخادم، وسقف تعرض لكل رمز قدره 2. تحجم CalcLots الصفقة إلى 0.5% من رأس المال الفعال (محدود بـ InpCapitalCapAmount، وقاع عند InpCapitalCapFloor) مقسوماً على مخاطر اللوت الواحد عند وقف ATR، وتُعاد محاولة الأمر مرة واحدة عند REQUOTE/PRICE_OFF/TIMEOUT. مع InpDryRun=true كقيمة المصنع الافتراضية، تسجل SendEntry خطة الصفقة الكاملة في السجل لكن لا ترسل الأمر فعلاً — اقلبها في المدخلات للانتقال إلى اللايف. ثلاث خسائر متتالية ترصدها OnTradeTransaction بقراءة DEAL_PROFIT من تيار الصفقات تُطلق تهدئة 30 شمعة (COOLDOWN_BARS=30)، وManageOpenPositions يمشي شلال 1R الثلاثي (تعادل → 50% جزئي → تريل ATR(14)×2.0 يتقدم إلى الأمام فقط) عند كل تيكة لاحقة.

إشارة الدخول

تنطلق على دفعة شمعة مغلقة تنبثق من ضغط سابق: يجب أن يكون مدى أعلى-high إلى أقل-low على مدى 20 شمعة سابقة (نافذة COMPRESS_LOOKBACK) ≤ 0.6 × ATR (InpQuietRangeATR)، ويجب أن تطبع الشمعة المغلقة للتو نسبة جسم إلى مدى ≥ 0.6 (COMPRESS_BODY_STRENGTH) مع طول جسم ≥ 1.0 × ATR (InpImpulseStrength) على حجم تيك لا يقل عن 1.2× متوسط 20 شمعة لها. يتبع الاتجاه توافق EMA(8)/EMA(21) على الشمعة المغلقة — شراء فقط إذا كانت EMA(8) > EMA(21)، بيع فقط على العكس. تتطلب ConfirmEntry بعد ذلك توافق السعر مع EMA(50) على H1 (HTF_EMA_PERIOD=50 على PERIOD_H1)، وسبريد مطلق ≤ 30 نقطة (InpMaxSpreadPoints)، وسبريد ≤ 2.5× المتوسط المتدحرج على 50 شمعة (SPREAD_MULT_MAX)، ووقت خادم من 7 إلى 20، وتعرض للرمز < 2.

إشارة الخروج

ثلاثة مسارات خروج تُدار تيكة بتكة في ManageOpenPositions: وقف زمني 240 شمعة (MAX_BARS_IN_TRADE = 240 — 20 ساعة على M5 أو 4 ساعات على M1)، وإغلاق قاسٍ عند دفعة إشارة معاكسة مؤكدة من DetectSignal (الثقة ≥ 50)، وشلال 1R الثلاثي المعتاد — تعادل عند سعر الدخول + 2 نقطة (BE_OFFSET_PIPS=2.0) بمجرد أن يصل السعر إلى 1R، وإغلاق جزئي لـ 0.5 من اللوت المتبقي (PARTIAL_TP_RATIO=0.5، موسوم بـ '_pt' لمنع جزئي ثانٍ على نفس المركز)، وتريل ATR(14)×2.0 (TRAIL_ATR_MULT=2.0) يتقدم إلى الأمام فقط.

وقف الخسارة

الوقف هو ATR(14) × 1.5 (InpATR_SL_Mult) تحت سعر الدخول للشراء / فوقه للبيع، محمي بقاع عند 1.2× SYMBOL_TRADE_STOPS_LEVEL للوسيط (يُوسَّع تلقائياً في SendEntry إذا كان الوقف أقرب من مستوى الإيقاف)، ويتقدم إلى سعر الدخول + 2 نقطة بمجرد أن يصل السعر إلى 1R. بعد الإغلاق الجزئي، يُجرى تريل للمركز المتبقي بوقف ATR(14) × 2.0 (TRAIL_ATR_MULT=2.0) يتقدم إلى الأمام فقط. يفرض InpMinRR=1.2 قاع نسبة مكافأة إلى مخاطرة لا تقل عن 1.2:1 عند كل دخول.

جني الأرباح

يقع TP1 عند 2.0 × مسافة الوقف (InpRR_Target=2.0، نسبة 1:2 نظيفة)، ويفرض المستشار حداً أدنى صلباً لنسبة المكافأة إلى المخاطرة قدره 1.2 (InpMinRR) قبل إرسال أي أمر. يعني PARTIAL_TP_RATIO=0.5 أن نصف اللوت يُحقق عند مستوى TP1 (الذي يقع عند 1R نظراً لنسبة 1:2)؛ والبقية تركب تحت تريل ATR(14) × 2.0. إذا لم يُغطِّ الإغلاق الجزئي بالكامل، فإن إشارة معاكسة أو وقف زمني 240 شمعة يُغلق المتبقي.

الأنسب لـ

مصمم لعمليات تشغيل XAUUSD على M1/M15 (M30 هو الإطار الزمني الافتراضي للإشارة عبر InpSignalTF=4، ويذكر رأس الملف M1M15 كنطاق تشغيلي مقصود)؛ وحد الإيداع الأدنى 100 دولار واقعي على حساب ECN/RAW بسبريد منخفض لأن سقف السبريد المطلق 30 نقطة (InpMaxSpreadPoints) وسقف 2.5× المتوسط المتدحرج (SPREAD_MULT_MAX) كلاهما يفترض ظروف ECN تحت البيب. يُشغَّل أفضل شيء خلال نافذة الجلسة 7–20 بتوقيت الخادم (افتتاح لندن إلى إغلاق نيويورك) مع فلتر EMA(50) على H1 يرفض بنشاط دخولات عكس الاتجاه. تعني قيمة المصنع الافتراضية InpDryRun=true أن هذا المستشار يُشحن في وضع الإشارة فقط — اقلبها في Strategy Tester أو الشارت اللايف وتحقق من سطور سجل [EXEC-OK] قبل الوثوق به برأس مال حقيقي.

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

Pipsgrowth EX10010 Momentum-Scalper — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: Momentum-Scalper الماجيك: 22210010 الإصدار: 2.00

الوصف: Detect a quiet compression (N bars inside a small range), then enter on the next impulse bar that breaks that range. Impulse-out-of-compression on closed bar (range tightness + body-strength threshold). Entries gated by ADX/ATR-pct/BB-width regime, HTF-EMA, volume, spread, session, R/R. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • NormPrice()
  • NormVol()
  • StopsLevelPrice()
  • FreezeLevelPrice()
  • ClampedSLTP()
  • CurrentSpreadPoints()
  • PushSpread()
  • AvgSpread()
  • CountOpenForMagic()
  • CountSymbolExposure()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX10010 Momentum-Scalper — Execution Flow (from source analysis)
// Family: Momentum-Scalper
// Detect a quiet compression (N bars inside a small range), then enter on the next impulse bar that breaks that range. Impulse-out-of-compression on closed bar (range tightness + body-strength threshold). Entries gated by ADX/ATR-pct/BB-width regime, HTF-EMA, volume, spread, session, R/R. 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
الأطر الزمنية المُحسّنة:
M1M15

كيفية تثبيت الإكسبرت على 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اسحب الإكسبرت من Navigator وأفلته على أي رسم بياني (يُنصح بـ M1 أو M5)
  7. 7في نافذة الإعدادات، فعّل Allow Algo Trading وحدد حجم اللوت
  8. 8اضغط OK — سيبدأ الإكسبرت بالتداول تلقائياً

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

المعاملالافتراضيالوصف
InpMagic22210010Magic number
InpTradeComment"Psgrowth.com Expert_10010"Trade comment
InpSlippagePoints20Max slippage (points)
InpSignalTF4Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Signal timeframe
InpRiskPercent0.5Risk per trade (% of effective capital)
InpATR_SL_Mult1.5SL distance = ATR * mult
InpRR_Target2.0Reward:Risk target (TP1)
InpMaxConcurrent1Max concurrent trades (this symbol)
InpMaxDailyLosses3Max consecutive losses before cooldown
InpCapitalCapAmount0.0Capital cap amount (account currency)
InpCapitalCapFloor50.0Floor below which new entries blocked
InpImpulseStrength1.0Impulse bar strength (x range, ATR units)
InpQuietRangeATR0.6Compression range max (x ATR)
InpMinADX18.0Min ADX for trend-confirmed entries
InpMaxSpreadPoints30Max absolute spread (points)
InpMinRR1.2Min reward:risk for entry
InpUseBreakEventrueMove to break-even at 1R
InpUseATRTrailtrueATR trailing stop
InpUsePartialTPtrueTake partial profit at TP1
InpDryRuntrueDry-run mode (signal-only, no orders)
InpKillSwitchfalseMaster kill switch
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX10010.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX10010 HFT Scalper — impulse-out-of-compression momentum scalper, 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>

//================== TUNABLE CONSTANTS (NOT inputs, kept under cap) ============
#define ATR_PERIOD              14      // ATR period for SL/trail
#define ATR_PCTILE_LOOKBACK     100     // bars for ATR-percentile regime
#define ADX_PERIOD              14      // ADX period for trend regime
#define BB_PERIOD               20      // Bollinger period (width regime)
#define BB_DEVIATION            2.0     // Bollinger deviations
#define EMA_FAST                8       // fast EMA (signal)
#define EMA_SLOW                21      // slow EMA (signal)
#define HTF_EMA_PERIOD          50      // HTF trend filter
#define HTF_TIMEFRAME           PERIOD_H1
#define SIGNAL_TIMEFRAME        PERIOD_M5
#define COMPRESS_LOOKBACK       20      // bars for compression range
#define COMPRESS_BODY_STRENGTH  0.6     // min body/range ratio for impulse
#define VOLUME_MA_PERIOD        20      // tick volume MA period
#define VOLUME_MULT             1.2     // impulse volume multiplier
#define TRAIL_ATR_MULT          2.0     // ATR trail distance mult
#define BE_TRIGGER_R            1.0     // move to BE at N R-multiple
#define BE_OFFSET_PIPS          2.0     // BE offset in pips
#define PARTIAL_RATIO           0.5     // partial close ratio
#define MAX_BARS_IN_TRADE       240     // time-based exit (bars)
#define MAX_CONSEC_LOSSES_COOL  3       // cooldown after N consecutive losses
#define COOLDOWN_BARS           30      // cooldown duration in bars
#define SESSION_START_HOUR      7       // London open (server time)
#define SESSION_END_HOUR        20      // NY close (server time)
#define ROLLING_SPREAD_BARS     50      // rolling avg spread window
#define SPREAD_MULT_MAX         2.5     // max spread vs rolling avg
#define PYRAMID_MAX_LEVELS      5       // pyramid cap
#define PYRAMID_ATR_SPACING     1.5     // spacing between pyramid entries
#define PYRAMID_MIN_PROFIT_R    1.0     // min R before next pyramid level
#define MAX_DAILY_LOSS_PERCENT  3.0     // daily loss limit %
#define WEEKLY_LOSS_LIMIT_PERCENT 6.0   // weekly loss limit %
#define MAX_OPEN_POSITIONS      3       // portfolio cap
#define MAX_SYMBOL_EXPOSURE     2       // per-symbol cap
#define SLIPPAGE_POINTS         20      // max slippage
#define PARTIAL_TP_RATIO        0.5     // fraction closed at TP1

//=============================================================================
// INPUTS — 18 total (within 12-22 cap)
//=============================================================================
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;

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

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

الوسوم:ex10010momentum-scalperpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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