P
PipsGrowth
أخرىمفتوح المصدر - مجاني

Pipsgrowth EX01002 Adaptive — إكسبرت أدفايزر تكييفي

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

Pipsgrowth EX01002 Adaptive — An adaptive, robust, and production-ready Expert Advisor using Moving Average crossover with ATR volatility filtering. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يعمل EX01002 Adaptive على تقاطع متوسطات متحركة موزَّع حسب نظام السوق. الفكرة الأساسية هي أن تقاطع المتوسطات نفسه لا يمكن الاعتماد عليه في كل الأسواق، لذلك قبل إطلاق أي إشارة يسأل المستشار أولاً مؤشر ADX(14) عن طبيعة السوق، ثم يسمح لاختبار الإغلاق مقابل المتوسّط المتحرك التكيّفي (AMA) بالتصرف بشكل مختلف بحسب الإجابة. أداة التوزيع هي ClassifyRegime() ومولِّد الإشارة الوحيد هو MasterSignal().

يقرأ مصنّف النظام قيمتين على الإطار الزمني العامل: ADX(14) وATR(14). عندما يكون ADX عند أو أعلى من InpRegime_ADX_Trend (25 افتراضياً) يكون النظام اتجاهاً قوياً، وبين InpRegime_ADX_Range (20) و25 يكون اتجاهاً ضعيفاً، وأقل من 20 يكون نطاقاً. يبحث المصنّف أيضاً في قيمة الـ ATR بالنقاط ويمنع الصفقة بالكامل عندما يكون ATR أقل من InpATRMinPips (نقطة واحدة) — لأن الفارق السعري سيلتهم الحركة — أو أعلى من InpATRMaxPips (0 = معطّل) عندما يكون التذبذب مرتفعاً جداً بالنسبة لمسافة الوقف الثابتة. توجد ثلاث قيم إضافية في تعريف النوع (NEUTRAL وBREAKOUT وCHOPPY) لكن ClassifyRegime() لا ينتجها في البناء الحالي؛ وهي محجوزة لعائلة Adaptive الأوسع.

تُعدّ MasterSignal() المكان الوحيد الذي يُنتج فيه المستشار رأياً اتجاهياً. يقرأ قيمتين سابقتين من مخزن AMA (المتوسّط SMA لمدة 20 فترة على الإغلاق، افتراضياً) وإغلاق آخر شمعتين مغلقتين. في الاتجاه القوي والضعيف، يُطلق الشراء إما عند تقاطع صارم (إغلاق[2] < AMA السابق وإغلاق[1] > AMA الحالي) أو عند نمط استمرار حيث يجلس كلا الإغلاقين فوق المتوسّط المتحرك في اتجاه الصفقة. في النطاق والمُحايد والاختراق، لا يُقبل إلا التقاطع الصارم. يتم قمع نمط الاستمرار عمداً في الأسواق النطاقية لأنه في النطاق يعني إغلاقان فوق المتوسّط المتحرك عادةً اختراقاً كاذباً وليس حركة حقيقية.

البوابة الثالثة هي توافق الإطار الزمني الأعلى. تنسخ HTFTrendAgrees() إغلاق الشمعة 1 على إطار زمني أعلى (افتراضي H4، يُضبط بـ InpHTF_TF=8) وتقارنه بمتوسّط EMA لمدة 50 فترة على نفس الإطار الزمني الأعلى. لا يُسمح بإشارة شراء على الإطار الزمني العامل إلا إذا كان إغلاق الإطار الزمني الأعلى فوق EMA للإطار الزمني الأعلى؛ ولا يُسمح بالبيع إلا إذا كان الإغلاق تحته. يمكن إعادة ضبط الإطار الزمني الأعلى من M1 إلى D1، وفترة EMA من 5 إلى 500.

بوابة عدم التداول هي أطول دالة منفردة في الملف. تُنفّذ NoTradeGate() تسعة فحوصات بالتتابع وتُرجع true (البوابة مغلقة) عند أول فشل. تتحقق من: فتح السوق (يوم الجمعة بعد الساعة 22:00 بتوقيت غرينتش محظور، الأحد قبل الساعة 22:00 محظور)، الجلسة النشطة (لندن 08:00–16:30 بتوقيت غرينتش ونيويورك 13:00–21:00 بتوقيت غرينتش؛ آسيا 22:00–06:00 محظورة افتراضياً عبر InpAvoidAsia)، الفارق السعري مقارنة بـ InpMaxSpread (50 نقطة افتراضياً)، رأس المال الفعّال مقارنة بـ InpCapFloor (50 إذا تم تعيين سقف)، عدد الصفقات اليوم مقارنة بـ InpMaxDailyTrades (5)، المحقّق اليوم مقارنة بـ -5% من رأس المال الفعّال، المحقّق الأسبوعي مقارنة بـ -9% من رأس المال الفعّال، مؤقت التهدئة (30 دقيقة بعد أي صفقة خاسرة)، الخسائر المتتالية (3 كحد أقصى افتراضياً)، الانحدار الإجمالي من بداية الجلسة مقارنة بـ 20% (الذي يفعّل g_ddKillSwitch ويمنع جميع الدخولات الجديدة)، حد المراكز المفتوحة (3 افتراضياً)، وبوابة الهرم. يُعدّ g_ddKillSwitch مزلاجاً صارماً — بمجرد تفعيله يرفض المستشار كل دخول جديد حتى إعادة تشغيل المنصة أو إعادة تهيئة المستشار.

تحجيم اللوت مبني على المخاطرة. تأخذ CalcLotByRisk() 1% من رأس المال الفعّال (الحد الأدنى بين InpCapAmount وحقوق الملكية الحالية) وتقسمها على تكلفة نقطة الوقف، المحسوبة كـ StopLossPips × نقطة × قيمة_تيك / حجم_تيك. يتم تقريب اللوت الناتج إلى درجة لوت الوسيط، ويُقص إلى الحد الأدنى والأقصى للرمز، ويُحدّ بـ InpMaxLot (100 لوت). عندما يتم ضبط RiskPerTradePercent على صفر، يلجأ المستشار إلى FixedLotSize=0.01 — وهو مفيد لحسابات تحديات الشركات التي تُقيّد المخاطرة النسبية.

يمر إرسال الأوامر عبر غلاف بثلاث محاولات. تُستدعى TryBuy_EX01002 أو TrySell_EX01002، وعند رموز requote أو timeout أو price-changed ينام الغلاف 100 مللي ثانية ويُحدّث الرمز ويُعيد المحاولة. يقصّ الغلاف أيضاً وقف الخسارة إلى مسافة الوقف الدنيا للوسيط (SYMBOL_TRADE_STOPS_LEVEL) لمنع الرفض، ويتحقق مسبقاً من الهامش الحر — إذا كان الأمر سيتجاوز الهامش الحر، يُتخطى الدخول دون محاولات. يتم فرض الحد الأدنى لنسبة المخاطرة إلى العائد في خطوة التأكيد: يجب أن يكون TakeProfitPips/StopLossPipsInpMin_RR_Ratio (1.2 افتراضياً)، لذا فإن الافتراضي 1000/500 = 2.0 يمر بسهولة.

تعمل ManageTrades() عند كل تيك. تمشي المراكز المفتوحة لهذا السحر والرمز، وتُطبّق بالترتيب: الخروج المبني على الوقت عند InpMax_Hours_In_Trade (240 ساعة = 10 أيام افتراضياً)، الخروج عند الإشارة المعاكسة (إغلاق إذا انقلبت MasterSignal() ضد الاتجاه المفتوح)، جني الأرباح الجزئي عند 50% من المركز عندما يصل الربح إلى TakeProfitPips × InpPartial_TP_Ratio (أي 500 نقطة مع TP افتراضي 1000)، وقف الخسارة المتحرّك (200 نقطة، يتحرّك فقط في الاتجاه المواتي)، ونقطة التعادل الاختيارية (معطلة افتراضياً؛ عند التفعيل، ينتقل وقف الخسارة إلى سعر الدخول + 2 نقطة بمجرد وصول الربح إلى 100 نقطة) وقفل الربح الاختياري (معطل افتراضياً؛ يقفل وقف الخسارة على بعد 20 نقطة من السعر لكل 50 نقطة ربح مكتسبة). يتم تتبّع الإغلاق الجزئي في مصفوفة من 100 خانة من أعلام التذكرة/الإكتمال الجزئي حتى لا يتم تجزئة نفس المركز مرتين.

منطق الجرّ هو دولاب باتجاه واحد. للشراء، بمجرد تحرّك السعر 200 نقطة في الربح، يكون وقف الخسارة الجديد هو السعر_الحالي - 200، ولكن فقط إذا كان أعلى من وقف الخسارة الحالي وفوق سعر الدخول. ينطبق المنطق نفسه معكوساً على البيع. لأن الفحص يعمل عند كل تيك، يمكن للدولاب أن يتحرّك عدة مرات داخل شمعة واحدة عندما يتحرّك السعر بسرعة.

تتبّع التهدئة والخسائر المتتالية مدفوع بالأحداث. تستمع OnTradeTransaction() لأحداث DEAL_ADD المطابقة للسحر والرمز. عند صفقات الدخول، يزيد tradesToday. عند صفقات الخروج، يُضاف صافي الربح والخسارة (الربح + المقايضة + العمولة) إلى realizedToday وrealizedWeek. عندما يكون الصافي سالباً، يزيد consecLosses ويُضبط cooldownUntil إلى الآن + 30 دقيقة. عندما يكون الصافي موجباً، يُعاد consecLosses إلى صفر. التهدئة بوابة صارمة — لن يفكّر المستشار في دخول جديد حتى انتهاء المؤقت، بغض النظر عن قوة الإشارة.

تستخدم حدود الخسارة اليومية والأسبوعية رأس المال الفعّال كمقام. مع InpDailyLossPct=5.0 ورأس مال فعّال قدره 1000 دولار، يوقف المستشار الدخولات الجديدة بمجرد انخفاض realizedToday إلى -50 دولار. تُعاد totals المحقّق إلى الصفر في بداية كل يوم تداول وكل يوم اثنين (بالوقت المحلي للوسيط، ثم يُحوّل إلى توقيت غرينتش عبر DetectGMTOffset() الذي يقرأ فجوة عطلة نهاية الأسبوع في تاريخ شموع H1).

ما لا يفعله هذا المستشار لا يقل أهمية عما يفعله. لا توجد استراتيجية مارتينجال، ولا شبكة، ولا تخفيف للمخاطرة. وضع التحجيم الوحيد هو بوابة الهرم، وكل من PyramidGate_ProfitOnly وPyramidGate_ProfitAndSL يشترطان أن تكون كل المراكز السابقة في ربح قبل السماح بأي دخول جديد. لا يوجد مرشح أخبار، ولا تحوط، ولا مراجحة مقايضة. المنطقة المسطّحة بين ADX 20 وADX 25 هي حيث سينخفض معدل نجاح الاستراتيجية، وهذا بالضبط سبب وجود حدود الخسارة اليومية والأسبوعية والانحدار كطبقة أمان ثانية.

خطة اختبار خلفية معقولة: شغّل Strategy Tester في MT5 على XAUUSD M5 مع "كل تيك مبني على تيكات حقيقية" لمدة 12 شهراً على الأقل، واخفض InpMaxDDPct إلى 10% أثناء الاختبار للتأكد من أن مفتاح الإيقاف يُفعّل فعلياً. إذا كان الانحدار المحقّق في الاختبار الخلفي أقل باستمرار من الحد المُعدَّل، فإن طبقة الأمان تعمل بشكل صحيح.

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

في كل شمعة مغلقة يُحدّث المستشار أربع مقابض — SMA لمدة 20 فترة على الإغلاق، وATR(14)، وADX(14)، وEMA(50) على H4 — ويُشغّل ClassifyRegime() لتصنيف الشمعة كاتجاه قوي أو ضعيف أو نطاق. ثم تختبر MasterSignal() الإغلاقين السابقين ضد SMA وتُرجع +1 أو -1 أو 0، مع قبول نمط الاستمرار فقط في أنظمة الاتجاه. تقوم HTFTrendAgrees() بحجب النتيجة ضد اتجاه إغلاق H4 مقابل EMA، وتُضيف NoTradeGate() تسعة اعتراضات (فتح السوق، الجلسة، الفارق، أرضية رأس المال، الخسارة اليومية/الأسبوعية، التهدئة، الخسائر المتتالية، مفتاح إيقاف الانحدار، حد المراكز، بوابة الهرم) قبل أن تحجّم CalcLotByRisk() الصفقة بنسبة 1% من رأس المال الفعّال. تعمل ManageTrades() عند كل تيك لفرض الوقف الزمني عند 240 ساعة، والخروج عند الإشارة المعاكسة، والإغلاق الجزئي 50% عند 500 نقطة، ودولاب الجرّ 200 نقطة.

إشارة الدخول

يُطلَق الشراء عندما يكون الإغلاق[2] تحت SMA لمدة 20 فترة والإغلاق[1] فوقها، مع تأكيد ADX(14) لنظام الاتجاه أو النطاق، وإغلاق الإطار الزمني الأعلى فوق EMA لمدة 50 فترة، وبوابة عدم التداول مفتوحة. البيع يعكس الاختبار. في أنظمة الاتجاه يُقبل أيضاً نمط الاستمرار (إغلاقان على نفس جانب SMA في اتجاه الصفقة)؛ في أنظمة النطاق لا يُسمح إلا بالتقاطع الصارم.

إشارة الخروج

تكون الخروج متعدّدة الطبقات: إغلاق مبني على الوقت عند 240 ساعة، إغلاق عند الإشارة المعاكسة عندما تنقلب MasterSignal()، إغلاق جزئي 50% عندما يصل الربح إلى 500 نقطة (نصف TP البالغ 1000 نقطة)، ثم وقف خسارة متحرّك 200 نقطة يتحرّك فقط في الاتجاه المواتي. وحدات نقطة التعادل وقفل الربح الاختيارية مهيّأة لكنها معطّلة افتراضياً.

وقف الخسارة

وقف خسارة ثابت 500 نقطة من الدخول، يتم تطبيعه إلى مسافة الوقف الدنيا للوسيط. يُحجب مفتاح إيقاف الانحدار الإجمالي عند 20% (يُثبَّت في g_ddKillSwitch) جميع الدخولات الجديدة بمجرد انخفاض حقوق الملكية 20% من رصيد بداية الجلسة.

جني الأرباح

جني أرباح ثابت 1000 نقطة من الدخول، مما يعطي نسبة مخاطرة إلى عائد 2:1 تتجاوز بسهولة بوابة تأكيد الحد الأدنى 1.2 للمخاطرة إلى العائد. يُطلَق إغلاق جزئي 50% عند ربح 500 نقطة، تاركاً البقية للجري نحو TP أو وقف الخسارة المتحرّك.

الأنسب لـ

الحد الأدنى الموصى به للرصيد: 100 دولار. الأنسب هو XAUUSD M5 مع وسيط فارق منخفض (حد الـ 50 نقطة يرفض الفروقات الواسعة على الذهب) خلال لندن 08:00–16:30 بتوقيت غرينتش ونيويورك 13:00–21:00 بتوقيت غرينتش؛ آسيا محظورة افتراضياً. مسافات وقف الخسارة وجني الأرباح الثابتة 500/1000 مُعدّة للقيمة النموذجية لنقطة XAUUSD، لذا على أزواج FX الرئيسية يجب تقليل كلتيهما بشكل متناسب أو سيُحمّل حساب المخاطرة لكل صفقة حجم مركز أكبر من اللازم. مخاطرة 1% متحفّظة، وتهدئة 30 دقيقة بعد الخسارة، وحدود 5%/9% يومية/أسبوعية، ومفتاح إيقاف انحدار 20% تجعل هذا مناسباً للمتداولين الذين يريدون نظاماً واعياً للأنظمة مع حدود أمان صارمة. اترك ستة أشهر على الأقل من الاختبار الأمامي على الرمز المستهدف قبل أي نشر مباشر.

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

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

العائلة: Adaptive الماجيك: 22201002 الإصدار: 4.00

الوصف: An adaptive, robust, and production-ready Expert Advisor using Moving Average crossover with ATR volatility filtering. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • andle_ama
  • andle_atr
  • andle_adx
  • andle_htf_ema

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

  • RegimeName()
  • IsPartialDone()
  • SetPartialDone()
  • CleanupPartialStates()
  • LogDebug()
  • DetectGMTOffset()
  • DayStart()
  • WeekStart()
  • EffectiveCapital()
  • NormalizePrice()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX01002 Adaptive — Execution Flow (from source analysis)
// Family: Adaptive
// An adaptive, robust, and production-ready Expert Advisor using Moving Average crossover with ATR volatility filtering. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: andle_ama, andle_atr, andle_adx, andle_htf_ema
    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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
EA_Name"AdaptiveEA"EA Name
MagicNumber22201002Magic Number [10000000-99999999, step 1]
InpTradeComment"Psgrowth.com Expert_01002"Trade Comment
InpTimeframe3Timeframe: 1=M1,2=M3,3=M5,4=M10,5=M15,6=M30,7=H1,8=H4,9=D1 [1-9, step 1]
InpEnableLoggingtrueEnable logging to journal
RiskPerTradePercent1.0Risk per trade, % of effective capital [0.1-5.0, step 0.1]
FixedLotSize0.01Fixed lot size (if RiskPerTradePercent=0) [0.01-100.0, step 0.01]
InpSignalOnBarClosetrueEvaluate signals only on bar close
InpMaxSpread50Max allowed spread in points (0=disable) [0-200, step 1]
InpCapAmount0.0Real-money capital cap, account currency [10-100000, step 10]
InpCapFloor50.0Floor below which new entries blocked [1-10000, step 1]
InpDailyLossPct5.0Max daily loss, % of effective capital [0.5-20.0, step 0.5]
InpWeeklyLossPct9.0Max weekly loss, % of effective capital [1.0-50.0, step 0.5]
InpMaxDailyTrades5Max new entries per day [1-50, step 1]
InpCooldownMin30Cooldown minutes after a loss [0-1440, step 1]
InpMaxConsecLosses3Max consecutive losses before halt (0=disable) [0-20, step 1]
AdaptiveMAPeriod20Adaptive Moving Average Period [2-500, step 1]
AdaptiveMAMethodMODE_SMAAdaptive Moving Average Method
AdaptiveMAPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Adaptive Moving Average Price
InpADX_Period14ADX period [2-100, step 1]
InpRegime_ADX_Trend25.0ADX threshold for trend regime [10-60, step 0.5]
InpRegime_ADX_Range20.0ADX threshold for range regime [5-50, step 0.5]
InpATR_Period14ATR period [2-100, step 1]
InpATRMinPips1.0Absolute minimum ATR in pips (0 disables) [0-100, step 0.1]
InpATRMaxPips0.0Absolute maximum ATR in pips (0 disables) [0-200, step 0.1]
InpHTF_TF8HTF timeframe: 1=M1,2=M3,3=M5,4=M10,5=M15,6=M30,7=H1,8=H4,9=D1 [1-9, step 1]
InpHTF_EMA_Period50HTF EMA period [5-500, step 1]
InpMin_RR_Ratio1.2Minimum R:R ratio (TP/SL) [0.5-10.0, step 0.1]
InpEnableTrailingStoptrueEnable trailing stop
StopLossPips500Stop Loss in points [10-10000, step 10]
TakeProfitPips1000Take Profit in points [10-20000, step 10]
TrailingStopPips200Trailing Stop in points [10-5000, step 10]
InpEnableBreakEvenfalseEnable break-even
BreakEvenTriggerPips100Profit trigger to activate BE (in points) [10-5000, step 10]
BreakEvenOffsetPips2Offset from entry to lock (in points) [0-500, step 1]
InpEnableProfitLockfalseLock profits in incremental steps
ProfitLockIncrement50Lock every X points of profit [10-2000, step 10]
ProfitLockStep20Distance behind current price (in points) [1-500, step 1]
InpPartial_TP_Ratio0.5Partial TP close ratio at TP1 [0.1-0.9, step 0.05]
InpMax_Hours_In_Trade240Max hours in trade (time-based exit) [1-2000, step 1]
InpPyramidGateModePyramidGate_OffPyramid gate mode
InpProfitGatePoints10.0Minimum profit (points) per trade for pyramid [1-1000, step 1]
InpMaxOpenPositions3Max concurrent positions (this symbol+magic) [1-20, step 1]
InpUseSessionFiltertrueEnable session time filter
InpServerGMTOffset0Broker server GMT offset (hours). 0=auto-detect [-12-14, step 1]
InpLondonStartH8London start hour (GMT) [0-23, step 1]
InpLondonStartM0London start minute [0-59, step 1]
InpLondonEndH16London end hour (GMT) [0-23, step 1]
InpLondonEndM30London end minute [0-59, step 1]
InpNYStartH13New York start hour (GMT) [0-23, step 1]
InpNYStartM0New York start minute [0-59, step 1]
InpNYEndH21New York end hour (GMT) [0-23, step 1]
InpNYEndM0New York end minute [0-59, step 1]
InpAvoidAsiatrueAvoid Asian session
InpAsiaStartH22Asia start hour (GMT) [0-23, step 1]
InpAsiaStartM0Asia start minute [0-59, step 1]
InpAsiaEndH6Asia end hour (GMT) [0-23, step 1]
InpAsiaEndM0Asia end minute [0-59, step 1]
InpMaxDDPct20.0Max total drawdown % before kill switch (0=disable) [0-90, step 1]
InpKillSwitchfalseManual kill switch — stops all new entries
InpDryRunfalseDry-run mode: log signals without trading
InpMaxLot100.0Maximum lot size cap [0.01-10000, step 0.01]
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX01002.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "4.00"
#property strict
#property description "Pipsgrowth.com EX01002 AdaptiveEA — adaptive MA crossover with ATR volatility filtering, regime dispatch, GMT session filter, HTF confirmation, capital cap, trailing/BE/profit-lock, pyramid gate, spread filter, new-bar gate."
#include <Trade\Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Trade/SymbolInfo.mqh>

//--- pyramid gate mode enum
enum PyramidGateMode
{
   PyramidGate_Off=0,        // No pyramid gate
   PyramidGate_ProfitOnly,   // Require existing trades be in profit
   PyramidGate_ProfitAndSL   // Require profit + SL secured in profit
};

//--- regime enum
enum ENUM_REGIME
{
   REGIME_NEUTRAL=0,
   REGIME_STRONG_TREND,
   REGIME_WEAK_TREND,
   REGIME_RANGE,
   REGIME_BREAKOUT,
   REGIME_CHOPPY
};

//--- timeframe mapping: 1=M1, 2=M3, 3=M5, 4=M10, 5=M15, 6=M30, 7=H1, 8=H4, 9=D1
ENUM_TIMEFRAMES MapTimeframe(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M3;
      case 3: return PERIOD_M5;
      case 4: return PERIOD_M10;
      case 5: return PERIOD_M15;
      case 6: return PERIOD_M30;
      case 7: return PERIOD_H1;
      case 8: return PERIOD_H4;
      case 9: return PERIOD_D1;
      default: return PERIOD_M5;
   }
}

string RegimeName(ENUM_REGIME r)
{
   switch(r)
   {
      case REGIME_STRONG_TREND: return "STRONG_TREND";
      case REGIME_WEAK_TREND:   return "WEAK_TREND";
      case REGIME_RANGE:        return "RANGE";
      case REGIME_BREAKOUT:     return "BREAKOUT";
      case REGIME_CHOPPY:       return "CHOPPY";
      default:                  return "NEUTRAL";
   }
}

//--- Input Parameters ---

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

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

الوسوم:ex01002adaptivepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

اسم الملفPipsgrowth_com_EX01002.mq5
حجم الملف58.0 KB
الإصدارv4.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةأخرى
المخاطرةمخاطرة متوسطة
الأطر الزمنية
M5H1
أزواج العملات
XAUUSD
الحد الأدنى للإيداع$100