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

Pipsgrowth EX03013 Grid — إكسبرت أدفايزر شبكة

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

Pipsgrowth EX03013 Grid — Multi-strategy EA with price-action entries (EMA crossover, RSI reversal, engulfing, tick momentum), martingale recovery. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX03013 MartingalePulse هو مستشار آلي يجمع بين أربعة محركات إشارات price-action اختيارية وطبقة استرداد مارتينجال قابلة للتبديل. يتحكم في اختيار محرك الإشارة متغير InpPriceActionType الذي يحدد واحدًا من أربعة: تقاطع المتوسط المتحرك الأسي EMA(15) عندما تغلق شمعة مكتملة فوق أو تحت المتوسط على الإطار الزمني المكوَّن، أو انعكاس مؤشر RSI(14) عندما يخرج من مناطق التشبع الشرائي 70 أو التشبع البيعي 30، أو نموذج الابتلاع (Engulfing) الذي يقارن بين شمعتين متجاورتين مغلقتين، أو وضع زخم الـ HFT الذي يتطلب ست تكات متتالية (قابلة للتعديل عبر InpTickMomentumCount = 6) تتحرك في الاتجاه نفسه. يختار المستخدم أيضًا آلية الدخول: أمر سوق فوري، أو أمر معلق بوقف على بعد 500 نقطة (InpPendingOrderDistancePoints)، أو أمر معلق بحد على نفس المسافة تحت السعر، مع كولداون افتراضي قدره 3 ثوان بين الصفقات (InpTradeCooldownSeconds). لا يوجد مصنف نظام سوق (regime classifier) — المستشار ينفذ الإشارة فور صدورها.

خط أنابيب التنفيذ هو الميزة المميزة الحقيقية. تأخذ دالة ExecuteTrade اتجاه الإشارة، تحسب وقف الخسارة كـ InpStopLossPoints * point (1000 نقطة = 100 بيب على وسيط XAUUSD بخمس خانات)، وجني الأرباح كـ SL * InpRiskRewardRatio (افتراضي 1:2)، ثم تحوّل الطلب إلى الدالة المساعدة المناسبة Try*_EX03013. تلتف هذه المساعدات حول أوامر CTrade بحلقة إعادة محاولة من 3 محاولات عند رموز REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED، مع نوم 200 مللي ثانية بين المحاولات. يُعاد استخدام نفس القالب لأوامر الوقف والحد (TryBuyStop_EX03013، TryBuyLimit_EX03013، TrySellStop_EX03013، TrySellLimit_EX03013)، ولتعديل المراكز (TryModify_EX03013)، ولإغلاق المراكز بالكامل (TryClose_EX03013)، ولحذف الأوامر المعلقة (TryOrderDelete_EX03013). بعد تنفيذ أمر السوق، تستمع OnTradeTransaction إلى TRADE_TRANSACTION_DEAL_ADD وتقرأ ربح الصفقة وسوابها والعمولة، ثم تمررها إلى HandleMartingale لتحديد حجم اللوت للصفقة التالية.

سلوك المارتينجال هو الركيزة الثانية. يكون InpEnableMartingale معطلاً افتراضيًا، ما يعني أن المستشار يعيد حجم اللوت إلى الحجم الأولي المحسوب بعد كل خسارة. عند تفعيله، تتاح ثلاثة أنماط تصعيد: CLASSIC_MULTIPLIER (اللوت التالي = اللوت المغلق × InpMartingaleMultiplier = 2.0)، أو MULTIPLIER_WITH_SUM (اللوت المضاعف مضافًا إليه اللوت الأولي)، أو SUM_WITH_INITIAL (اللوت المغلق مضافًا إليه اللوت الأولي). الحد الأقصى للجولة الواحدة هو InpMaxOrdersPerRound = 5 خسائر، وبعدها تُعاد الدورة قسرًا إلى اللوت الأولي. يوجد سقف صلب للحجم عند InpMaxLotSize = 5.0 لوت. تحديد حجم اللوت الأولي قابل للاختيار: PERCENT_OF_BALANCE (افتراضي، 1% من الرصيد) أو FIXED_LOT (0.01). يمر المسار النسبي عبر CalculateLotSizeBasedOnRisk التي تقرأ SYMBOL_TRADE_TICK_VALUE وSYMBOL_TRADE_TICK_SIZE لتحويل InpStopLossPoints إلى خسارة بالدولار لكل لوت، ثم تقسم risk_amount / loss_per_lot للحصول على الحجم. قبل إرسال الأمر، تتحقق CalculateMaxAffordableLot من الهامش الحر عبر OrderCalcMargin وتقص الحجم بصمت إلى 98% من الطاقة الاستيعابية للحساب، وتوقف HasSufficientMargin الصفقة إذا كان الحجم المقصوص أكبر من المتاح.

إدارة الصفقات خفيفة الوزن عن قصد. لا توجد نقطة تعادل، ولا إغلاق جزئي، ولا جني أرباح للسلة. التريلنج الاختياري (InpEnableTrailingStop = false افتراضيًا) يعمل فقط عندما يصل الربح إلى InpTrailingStartPoints = 200 نقطة (أو InpTrailingStartMoney = 50 دولارًا عند التبديل إلى TRAILING_IN_MONEY)، وعندها يُسحب وقف الخسارة إلى InpTrailingStopPoints = 100 نقطة (أو InpTrailingStopMoney = 10 دولارات) خلف السعر، ويتقدم فقط عندما يكون الرفع نقطة واحدة على الأقل بعد الوقف السابق. منطق الانعكاس يأتي من فحص position.SelectByMagic داخل OnTick: إذا انعكس اتجاه الإشارة ووجدت مركزًا معاكسًا مفتوحًا، يُطلق TryClose_EX03013، ويُرفع علم g_is_closing_for_reversal، ويعود المستشار دون فتح الصفقة الجديدة حتى تأكيد الإغلاق في حدث OnTradeTransaction التالي. مؤقت الكولداون (InpTradeCooldownSeconds = 3) يؤخر الإدخال التالي بثلاث ثوانٍ، وهو يعمل أيضًا كحارس بعد الانعكاس.

تعمل إدارة المخاطر في طبقتين متوازيتين. الطبقة التقليدية في CheckRiskManagement تعيد التهيئة عند منتصف الليل (أو في وقت UTC مخصص عبر InpDrawdownStartTimeUTC) وتتعقب عتبتين: حد الربح اليومي InpDailyProfitLimitAmount = 1000 من عملة الإيداع (يُغلق كل شيء ويتوقف لليوم عندما يصل الفرق بين Equity والرصيد الافتتاحي إلى 1000)، وحد السحب اليومي InpDrawdownPercentage = 5% من الرصيد الافتتاحي، قابل للحساب كنسبة مئوية أو كمبلغ ثابت (InpDrawdownFixedAmount = 300). عند تحقق أي منهما، تعمل CloseAllOpenPositions وCancelPendingOrders ويُرفع g_risk_limit_reached_today، ما يوقف التداول حتى إعادة التهيئة التالية. الطبقة الثانية في IsSafeToTrade_EX03013 تتحقق من InpEquityFloor، وInpHrdDailyLoss، وInpHrdWeeklyLoss، وInpCapitalCap (يوقف الحسابات التي تساوي أو تتجاوز العتبة)، وInpMaxTradesPerDay = 50، وInpHrdMaxConsecLoss. يُضبط g_cooldownUntil إلى TimeCurrent() + 30 * 60 بعد ثلاث خسائر متتالية، وترفض بوابة الأمان العمل خلال تلك النافذة.

التحكم في الجلسات هجين. النظام الأساسي IsWithinTradingSession يقرأ سلاسل نصية لكل يوم من أيام الأسبوع (InpMondayTimes إلى InpSundayTimes، كلها افتراضيًا 01:00-23:00 لأيام العمل و00:00-00:00 لنهاية الأسبوع). وعند تفعيل InpCloseAtSessionEnd، يُغلق كل شيء تلقائيًا خارج النافذة. تضيف طبقة الـ Hardening فحصًا ثانيًا معتمدًا على GMT داخل InActiveSession_EX03013: بعد أن يكتشف DetectGMTOffset_EX03013 إزاحة GMT تلقائيًا في النطاق −12 إلى +12، لا تعيد الدالة true إلا عندما تقع ساعة GMT ضمن نافذة لندن 7–16 أو نيويورك 12–21، وترفض يومي السبت والأحد. يعني هذا أن المستشار ليس متداولًا على مدار 24/5 افتراضيًا — تعطيل InpEnableTradingSessions يبقي بوابة لندن/نيويورك GMT حية. معيار تقييم الاستراتيجية في OnTester هو profit × PF / maxDD، بحد أدنى صلب من 10 صفقات وسحب أقصى غير صفري، لذا فإن الجولات التي تنزف الحساب تُعاقب بنفس المقياس الذي يكافئ عامل الربح القوي.

في الممارسة العملية، هذا المستشار هو رمل تجريبي لاختبار أي توليفة من نمط الدخول ومنحنى المارتينجال ستبقى حية على XAUUSD M5. المحركات الأربعة للإشارات تعطيك محفزات متعامدة (ارتداد الترند عبر EMA، انعكاس المتوسط عبر RSI، نموذج كلاسيكي عبر الابتلاع، زخم مجهري عبر عد التكات)، والأنماط الثلاثة للمارتينجال تعطيك ثلاثة أشكال لاسترداد الخسارة. ثمن هذه المرونة هو أن المستشار لا يحمل مصنفًا لنظام السوق، ولا بوابة تأكيد متعددة، ولا فلتر أخبار — سينفذ بجدية إشارة ضعيفة في افتتاح لندن المتقطع إذا نمط الدخول تطلب ذلك. المستخدمون الذين يحتاجون طبقة توجيه أكثر صرامة عليهم اختيار نمط إشارة واحد، وإيقاف المارتينجال في الجولة الأولى من الباك تيست، ثم إعادة تفعيله على أقوى نمط بعد التأكد من المنحنى على إطار M5.

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

في كل تكة، تدور UpdateDailyCounters_EX03013 على g_realizedToday وg_dailyTrades وg_realizedWeek عند تغيير اليوم أو الأسبوع، ثم تعيد CheckRiskManagement تقييم حد الربح اليومي والسحب مقابل رصيد بداية اليوم وتوقف كل شيء عند الاختراق. تشغّل IsSafeToTrade_EX03013 بعدها بوابات الـ Hardening — حد الـ Equity، وحدود الخسارة اليومية والأسبوعية، وسقف رأس المال، والحد الأقصى للصفقات اليومية، ونافذة g_cooldownUntil النشطة بعد ثلاث خسائر متتالية — وتفحص InActiveSession_EX03013 الوقت المعدّل بتوقيت GMT مقابل ساعات لندن 7–16 ونيويورك 12–21. مع وجود السوق في الجلسة وخلو المستشار، يطابق النظام الأساسي IsWithinTradingSession مع السلاسل النصية لكل يوم، ويتحقق OnTick من كولداون الثلاث ثوانٍ، وتشغّل GetTradeSignal المحرك المختار (تقاطع EMA، انعكاس RSI، الابتلاع، أو زخم التكات) على شمعتين مغلقتين. عند صدور إشارة شراء أو بيع وعدم وجود مركز مفتوح، تقص ExecuteTrade اللوت إلى 98% من الهامش الحر عبر CalculateMaxAffordableLot، وتمرر الطلب إلى إحدى دوال Try*_EX03013 بثلاث محاولات عند requote/timeout/price-off، وعند التنفيذ تكتب SetInitialSLTP الـ SL والـ TP إلى الوسيط. بعد إغلاق الصفقة، تقرأ OnTradeTransaction الربح/الخسارة المحققة وتوجهه إلى HandleMartingale التي تعيد اللوت إلى الحجم الأولي أو تصعّده عبر نمط المارتينجال المختار حتى InpMaxOrdersPerRound = 5 قبل إعادة الضبط الصلب للدورة. يعمل التريلنج عند تفعيله في كل تكة عبر HandleTrailingStop ويرفع الـ SL فقط عند تحقق عتبة الربح وسحب نقطة واحدة على الأقل بعد الوقف السابق، بينما تعيد UpdatePendingOrders تسعير الأوامر المعلقة كل 100 ثانية لتثبيتها على سبريد bid/ask المباشر.

إشارة الدخول

تمر الإدخالات عبر GetTradeSignal() التي تختار المحرك المحدد في InpPriceActionType (الافتراضي EMA_CROSSOVER على الإطار المكوَّن عبر InpChartTimeframe). يقرأ كل محرك شمعتين مغلقتين: إما يراقب شمعة مغلقة حديثًا تعبر المتوسط الأسي EMA(15) (وضع EMA)، أو يراقب RSI(14) يخرج من عتبتي 70/30 (RSI_REVERSAL)، أو يفحص نموذج ابتلاع صاعد أو هابط للشمعة المغلقة السابقة (CANDLESTICK_ENGULFING)، أو يتطلب ست تكات متجانسة في الاتجاه نفسه (HFT_TICK_MOMENTUM، قابل للتعديل عبر InpTickMomentumCount). ثم تفتح OnTick الصفقة عبر الاستراتيجية المختارة في InpEntryStrategy — أمر سوق، أو أمر معلق بوقف على بعد 500 نقطة، أو أمر معلق بحد — بشرط أن يكون TotalPositionsAndOrders() صفريًا للسحر المخصص وأن يكون الكولداون قد انتهى.

إشارة الخروج

تأتي الخروج من ثلاثة مصادر: انعكاس إشارة price-action يُغلق المركز المفتوح عبر TryClose_EX03013 ويرفع g_is_closing_for_reversal، ثم يمسح حدث OnTradeTransaction التالي العلم ويجهّز المستشار الاتجاه الجديد في التكة التالية. تستدعي طبقة المخاطر اليومية في CheckRiskManagement كلًا من CloseAllOpenPositions وCancelPendingOrders عندما يصل الربح اليومي إلى InpDailyProfitLimitAmount (1000 من عملة الإيداع) أو السحب اليومي إلى InpDrawdownPercentage (5%) من الرصيد الافتتاحي، وبعدها يوقف g_risk_limit_reached_today كل التداول. إشارة المحرك بحد ذاتها لا تلغي المعلقات — مسار UpdatePendingOrders الذي يعمل كل InpPendingUpdateInterval = 100 ثانية يعيد تسعير أوامر الوقف/الحد المعلقة بالـ SL/TP الجديد ويلغي المعلق المعاكس بعد التنفيذ.

وقف الخسارة

كل أمر سوق يتلقى وقف خسارة أولي تحدده SetInitialSLTP بقيمة InpStopLossPoints * point (1000 نقطة = 100 بيب على وسيط XAUUSD بخمس خانات)، مع فحص أمان للحد الأدنى للوقف عند الوسيط يسحب الوقف للداخل فقط عندما تكون القيمة المحسوبة أقرب من SYMBOL_TRADE_STOPS_LEVEL المسموح. تعمل HandleTrailingStop الاختيارية على رفع الوقف للأمام فقط بعد أن يصل الربح إلى InpTrailingStartPoints (200) وبعدها بمقدار InpTrailingStopPoints (100) فقط — المستشار لا يوسّع وقف الخسارة أبدًا، بل يضيقه فقط.

جني الأرباح

يُحدَّد جني الأرباح في SetInitialSLTP بـ InpStopLossPoints * InpRiskRewardRatio * point، وهو ما يعطي بالقيم الافتراضية 1000 نقطة و RR = 2.0 هدف ربح قدره 2000 نقطة (200 بيب) لكل صفقة. لا يوجد جني أرباح للسلة، ولا إغلاق جزئي، ولا قفل لنقطة التعادل — جني الأرباح مستوى ثابت واحد يُضبط عند فتح الصفقة (أو عند وضع الأمر المعلق) ولا يتحرك بعد ذلك.

الأنسب لـ

هذا المستشار مناسب للمتداولين الذين لديهم هامش لا يقل عن 100 دولار ويريدون صراحة طبقة مارتينجال قابلة للتبديل، والذين اختاروا بالفعل XAUUSD على إطار M5H1 كأدوات عمل. لأن InpEnableMartingale يكون معطلاً افتراضيًا، فإن الإعداد الافتراضي هو شبكة باتجاه واحد بمخاطرة 1% لكل صفقة ونسبة R:R قدرها 1:2، وهو مناسب للحسابات التي تستوعب سقف السحب اليومي 5% والكولداون 30 دقيقة بعد ثلاث خسائر؛ أما المستخدمون الذين يفعّلون المارتينجال فعليهم توقع قفزة ذات معنى في الحد الأقصى للوت وطلب الهامش الحر، لأن المضاعف وInpMaxOrdersPerRound يتضاعفان بسرعة في تسلسل الخاسر. تغطية الجلسات هي تقاطع GMT لندن (7–16) ونيويورك (12–21) مع جدول منفصل لكل يوم من أيام الأسبوع، لذا يُفضل تشغيل المستشار على وسيط ECN أو RAW بفارق سعر ضيق على XAUUSD خلال النوافذ النشطة — وتذكر أن محركات الدخول الأربعة مختارة بالنمط، لا مفلترة بنظام السوق، فنفس المستشار الذي يلتقط تقاطع EMA نظيف في افتتاح لندن قد يطلق أيضًا إشارة RSI ضعيفة في فترة نيويورك المسائية المسطحة.

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

Pipsgrowth EX03013 Grid — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: Grid الماجيك: 22203013 الإصدار: 2.00

الوصف: Multi-strategy EA with price-action entries (EMA crossover, RSI reversal, engulfing, tick momentum), martingale recovery grid, dynamic lot sizing, trailing profit, session filters and daily profit/drawdown limits. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • IsWithinTradingSession()
  • CloseAllOpenPositions()
  • CancelPendingOrders()
  • CheckRiskManagement()
  • NormalizeLotSize()
  • CalculateLotSizeBasedOnRisk()
  • TimeToMinutes()
  • HandleMartingale()
  • HandleTrailingStop()
  • SetInitialSLTP()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX03013 Grid — Execution Flow (from source analysis)
// Family: Grid
// Multi-strategy EA with price-action entries (EMA crossover, RSI reversal, engulfing, tick momentum), martingale recovery grid, dynamic lot sizing, trailing profit, session filters and daily profit/drawdown limits. 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
الأطر الزمنية المُحسّنة:
M5H1

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

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

المعاملالافتراضيالوصف
InpPriceActionTypeEMA_CROSSOVERPrice Action Strategy
InpEntryStrategyMARKET_ORDEREntry Strategy
InpPendingOrderDistancePoints500Distance for pending orders from current price
InpPendingUpdateInterval100Seconds to wait before updating pending orders
InpTradeCooldownSeconds3Cooldown in seconds between trades (0 = disabled)
InpChartTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for Indicators
InpTickMomentumCount6Ticks for HFT Momentum
InpEmaPeriod15EMA Period for Crossover
InpRsiPeriod14RSI Period
InpRsiOverbought70RSI Overbought Level
InpRsiOversold30RSI Oversold Level
InpLotSizeModePERCENT_OF_BALANCELot Sizing Mode
InpFixedInitialLot0.01Initial Lot Size (for Fixed Lot mode)
InpRiskPercentage1.0Risk Percentage of Balance (for Percent mode)
InpEnableMartingalefalseEnable Martingale Recovery Grid
InpMartingaleTypeCLASSIC_MULTIPLIERMartingale Type
InpMartingaleMultiplier2.0Martingale Multiplier on Loss
InpMaxOrdersPerRound5Maximum orders per Martingale round
InpMaxLotSize5.0Maximum Lot Size
InpStopLossPoints1000Stop Loss in Points
InpRiskRewardRatio2Risk:Reward Ratio (e.g., 1.5 means TP is 1.5 * SL)
InpEnableTrailingStopfalseEnable Trailing Stop
InpTrailingStopTypeTRAILING_IN_POINTSTrailing Stop Type
InpTrailingStartPoints200Start trailing when profit is >= this amount in Points
InpTrailingStopPoints100Trail distance from current price in Points
InpTrailingStartMoney50Start trailing when profit is >= this amount in Money
InpTrailingStopMoney10Trail distance from current price in Money
InpEnableTradingSessionstrueEnable Trading Sessions (false = trade 24/7)
InpCloseAtSessionEndtrueClose all trades at the end of a session
InpMondayTimes"01:00-23:00"Monday Trading Times
InpTuesdayTimes"01:00-23:00"Tuesday Trading Times
InpWednesdayTimes"01:00-23:00"Wednesday Trading Times
InpThursdayTimes"01:00-23:00"Thursday Trading Times
InpFridayTimes"01:00-23:00"Friday Trading Times
InpSaturdayTimes"00:00-00:00"Saturday Trading Times
InpSundayTimes"00:00-00:00"Sunday Trading Times (HH:MM-HH:MM;...)
InpEnableDailyProfitLimittrueEnable Daily Profit Limit
InpDailyProfitLimitAmount1000.0Daily Profit Limit Amount (in deposit currency)
InpEnableDrawdowntrueEnable Drawdown Protection
InpDrawdownTypePERCENTAGEDrawdown Calculation Type
InpDrawdownFixedAmount300.0Max Drawdown (Fixed Amount)
InpDrawdownPercentage5.0Max Drawdown (Percentage)
InpDrawdownTimeModeSERVER_TIMEDrawdown Calculation Time
InpDrawdownStartTimeUTC"00:01"Custom Start Time (UTC)
InpDrawdownEndTimeUTC"23:59"Custom End Time (UTC)
InpMagicNumber22203013Magic Number for this EA
InpTradeComment"Psgrowth.com Expert_03013"Trade comment
InpHrdMaxConsecLoss0--- Global variables
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX03013.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX03013 MartingalePulse — multi-strategy grid with martingale recovery, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>

//--- MP by SPLpulse

//--- CTrade and CPositionInfo instances
CTrade trade;
CPositionInfo position;

//--- Enumeration for Entry Strategy
enum ENUM_ENTRY_STRATEGY
{
    MARKET_ORDER, // Entry via Market Order
    STOP_ORDER,   // Entry via Stop Order
    LIMIT_ORDER   // Entry via Limit Order
};

//--- Enumeration for Price Action Strategy
enum ENUM_PRICE_ACTION_TYPE
{
    HFT_TICK_MOMENTUM,     // HFT Momentum
    CANDLESTICK_ENGULFING, // Strategy based on engulfing candlestick pattern
    RSI_REVERSAL,          // RSI crosses back from overbought/oversold
    EMA_CROSSOVER          // Candle closes across the EMA
};

//--- Enumeration for Martingale Strategy
enum ENUM_MARTINGALE_TYPE
{
    CLASSIC_MULTIPLIER,   // lot = previous_lot * multiplier
    MULTIPLIER_WITH_SUM,  // lot = (previous_lot * multiplier) + initial_lot
    SUM_WITH_INITIAL      // lot = previous_lot + initial_lot
};

//--- Enumeration for Drawdown Type
enum ENUM_DRAWDOWN_TYPE
{
    FIXED_AMOUNT, // Drawdown as a fixed of daily starting balance
    PERCENTAGE    // Drawdown as a percentage of daily starting balance
};

//--- Enumeration for Lot Sizing Mode
enum ENUM_LOT_SIZE_MODE
{
    FIXED_LOT,          // Use a fixed initial lot size
    PERCENT_OF_BALANCE // Calculate initial lot based on risk percentage of balance
};

//--- Enumeration for Drawdown Time Calculation
enum ENUM_DRAWDOWN_TIME_MODE
{
    SERVER_TIME, // Based on Broker's Server Time (resets at 00:00)
    CUSTOM_TIME  // Based on a custom UTC time range
};

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

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

الوسوم:ex03013gridpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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