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

Pipsgrowth EX16107 Trend — إكسبرت أدفايزر متابعة اتجاه

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

Pipsgrowth EX16107 Trend — Expert Advisor that trades using JMA (Jurik Moving Average) trend indicators with Hull confirmation and advanced exit st. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX16107JMAEA Trend هو خبير آلي (Expert Advisor) للاتجاه يقوده مؤشر JMA (متوسط Jurik المتحرك)، ويُصوّت بأربعة أغلفة زخم مستقلة ولا يتداول إلا حين يتفق عدد كافٍ منها على الاتجاه نفسه. هذه الأغلفة الأربعة هي: مؤشر JMA واحد وثلاثة متوسطات Hull المتحركة (Hull2 وHull3 وHull4)، ولكلٍ منها فترة وقاسم ونمط سعر وإطار زمني مستقل. الإعداد الافتراضي يجمع بين JMA1 سريع (طول 7، طور 100، سعر الإغلاق) وثلاثة متوسطات Hull أبطأ تدريجياً (الفترة 160 مع قاسم 9.8، والفترة 245 مع قاسم 12.2، والفترة 536 مع قاسم 2.0)، مما يمنح الخبير طيفاً واسعاً من تعريفات الاتجاه التي يجب أن تميل جميعها للاتجاه نفسه قبل فتح أي صفقة.

يعمل محرك الدخول وفق اختبار ثبات من خطوتين. أولاً، تقرأ الدالة HullConsensusAtShift() مخزن اللون/الاتجاه لكل مؤشر عند InpSignalBarShift (افتراضياً 1، أي على الشمعة المغلقة للتو) وتحسب كم من الأربعة يشير للشراء مقابل البيع. إذا وصلت أصوات الشراء إلى InpMinIndicatorsAgreeForInitialTrades (افتراضياً 2) وكانت أصوات البيع صفراً، يُسجَّل الخبير مرشحاً للشراء؛ وينطبق المنطق المعاكس على البيع. ثانياً، تستعرض SignalIsStable() عدد InpStableBarsRequired (افتراضياً 2) من الشموع السابقة وتتأكد من أن التوافق نفسه استمر خلالها — وهذا يمنع الخبير من التفاعل مع انعكاس شمعة واحدة. بعد فتح أول صفقة، ينخفض عتبة الإضافات إلى InpMinIndicatorsAgreeForAdditonalTrades، ما يسمح لنفس الإعداد ببناء صفقة مُطبَّقة في اتجاه الاتجاه.

إن معمارية الـ12 طبقة هي ما يجعل هذا الخبير يتصرف باستمرار في الظروف الحقيقية وليس فقط في الاختبارات النظرية. تُصنِّف طبقة REGIME السوق عبر نسبة ATR المئوية إلى أربع حالات. تُشغِّل طبقة SIGNAL تصويت الأغلفة الأربعة الموصوف آنفاً. تطبِّق طبقة ENTRY فحص تحول الشمعة + الثبات. تقبل طبقة CONFIRM أصواتاً ثانوية اختيارية من مرشح Jurik منفصل (طول 50، طور 0) ونطاق RSI(14) — تتطلب دخول الشراء أن يكون RSI بين 0 و70 افتراضياً، ودخول البيع بين 30 و100. تحمل طبقة NO-TRADE بوابات الجلسة والسبريد وATR والحجم والتقطيع والارتباط وتصفية NFP الاختيارية. تقرأ طبقة CAPITAL CAP قيمة ACCOUNT_MARGIN_LEVEL وتمنع الإدخالات الجديدة تحت InpMinMarginLevelPerc (200%) حين يكون InpEnableMarginGuard مُفعَّلاً. تُوجِّه طبقتا RISK وSIZING حجم الصفقات عبر لوت ثابت 1.0 (InpLots) أو 1% مخاطرة للرصيد (InpRiskPerTradePercent)، مع تقريب LOT_ROUND_NEAREST وتطبيع ClampVolumeToSymbol. تتعامل طبقات MANAGE وEXIT وSCALING مع trailing والتعادل وقفل الربح والإغلاقات الجزئية. ترث طبقة OnTester دالة لياقة Pipsgrowth متعددة الأهداف.

بوابة الجلسة هي إحدى أبرز الميزات. يكون InpEnableSessionFilters مُفعَّلاً افتراضياً ويقرأ أربع نوافذ: الآسيوية (00:00-09:00)، الأوروبية (08:00-17:00)، الأمريكية (13:00-22:00)، ونافذة مخصصة شاملة (22:00-23:59). كما تشغِّل HandleSessionClose() إغلاقاً قسرياً عند 23:00 لتصفية المراكز قبل التجديد اليومي. يُضاف فوق ذلك كشف التقطيع: InpEnableChoppinessFilter مُفعَّل افتراضياً مع InpChopIndexPeriod عند 14 وInpChopIndexThreshold عند 61.8 وInpChopRequireLayers 2 من 4 طبقات فرعية (ChopIndex + ADX + ATR التكيُّفي + النطاق) مطلوبة لاعتبار السوق متقطعاً. حين يكون السوق متقطعاً، تُحظر الإدخالات ويمكن إغلاق المراكز القائمة قسرياً عبر HandleChoppinessExit().

تبلغ إعدادات إدارة المخاطر الافتراضية وقف خسارة 200 نقطة وهدف 1000 نقطة، بنسبة عائد إلى مخاطرة 1:5 مُصمَّمة لترك الرابحين يركضون مع احتواء الخاسرين. يبدأ الـ trailing (InpEnableTrailingStop = true افتراضياً) حين يصل الربح إلى 40 نقطة ويُحرِّك الوقف كل 210 نقطة من القمة الجديدة، بخطوة واسعة مصمَّمة لعدم التفعيل على ارتدادات XAUUSD M5 الطبيعية. التعادل (معطل افتراضياً، تفعيل عند 30 نقطة، إزاحة 5 نقاط) وقفل الربح (معطل افتراضياً، زيادة 50 نقطة، مسافة 20 نقطة) متاحان كإضافات دفاعية. يرفض بوابة الربح (InpEnableProfitGate = true) زيادة أي مركز ما دامت الصفقات الحالية تخسر بأكثر من 20 نقطة، وهذا يمنع الخبير من المتوسط في صفقة خاسرة خلال انعكاس سريع. يعني InpMaxOpenPositions = 0 عدم وجود سقف للمحفظة، فيمكن للخبير تكديس أي عدد من الإدخالات المُطبَّقة التي ينتجها الاتجاه — بحجم يضمن أن 1:5 R:R مع 1% مخاطرة لكل صفقة يعطي منحنى الأرباح متنفساً حتى في سلسلة من الخاسرات المتتالية.

تُدار جهة الخروج عبر ExitManager.mqh وتُشغِّل اثني عشر فحصاً مستقلاً لكل تيك. يمشي CheckProfitScalingExit عبر InpProfitScalingTargets / InpProfitScalingPercents ويُغلق جزئياً عند كل درجة. يُفعِّل CheckBreakEvenAndLock منطق التعادل وقفل الربح. يقتل CheckTimeBasedExit المراكز التي تجاوزت وقف الوقت. يُغلق CheckMomentumExit — المُهيَّأ عبر InitMomentumHandles على زوج RSI + ADX منفصل — عند انقلاب الزخم. يتفاعل CheckVolatilitySpikeExit مع قمم نسبة ATR المئوية. يقرأ CheckSRExit قمم وقيعان السوينغ عبر GetSwingHigh/GetSwingLow ويُغلق عند كسر البنية. يبحث CheckReversalExit عن توافق عكسي 4 من 4 كامل. يضيف CheckWeekendProtection وCorrelationMonitorHandlePositions الطبقة الدفاعية. تُعد TryClose_EX16107 وTryClosePartial_EX16107 وTryModify_EX16107 سقالة 3 محاولات / 200 ميلي ثانية لكل مسار تعديل أوامر، فلا تُسقط عروض الأسعار العابرة الوقف أو الإغلاق الجزئي.

ما يمكن توقُّعه في الاختبار التاريخي: ينتج الخبير عدداً أقل من الصفقات مقارنة بنظام تقاطع نموذجي لأن توافق 2 من 4 مع اختبار ثبات شمعتين يُصفِّي معظم الضوضاء. يعني 1:5 R:R أن الرابحين يفوقون الخاسرين مادياً حين يمسك الاتجاه، ويحجم 1% من المخاطرة يبقى الانسحاب محدوداً. ترسم لوحة المعلومات (InpEnableDashboard، مُفعَّلة افتراضياً) ملخصاً مباشراً لقيم التوافق الأربعة والسبريد وATR والفلاتر النشطة على الرسم البياني، مما يسهل رؤية سبب جلوس الخبير أو دخوله في الوقت الفعلي. على الرسم البياني XAUUSD M5 يكون الخبير في أقصى حالاته انتقائية — مخصص لاتساع الأربعة Hulls مصمَّم لتقلبات الذهب داخل اليوم. على زوج أبطأ مثل EURUSD M15 قد ينتج الإعداد نفسه فترات هدوء طويلة تتخللها تحركات ذات ثقة عالية. تتطلب وسطاء ECN بسبريد خام وزمن استجابة منخفض ليُظهر منطق trailing في M5 سلوكه كما صُمِّم؛ أما على وسيط سبريد واسع فسيتم تفعيل خطوة trailing البالغة 210 نقاط متأخرة وسيتم تخطي الإغلاقات الجزئية.

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

في كل تيك يستطلع الخبير أربعة مؤشرات غلاف مبنية من مؤشر JMA المخصص لـ MQ5 (JMA1 بطول 7، طور 100، إغلاق) وثلاث استدعاءات Hull V3 hull-average-5 (Hull2 فترة 160، Hull3 فترة 245، Hull4 فترة 536) — كل واحد يستطلع إطاره الزمني ونمط سعره الخاص، وتُقرأ مخازن الاتجاه الأربعة عند InpSignalBarShift = 1 للحصول على تصويت الشمعة المغلقة. يُجمِع HullConsensusAtShift أصوات الشراء مقابل البيع، ويتطلب اتفاق 2 من 4 إلى جانب شمعتين سابقتين من التوافق الثابت (InpStableBarsRequired) قبل إطلاق إشارة شراء أو بيع. يجب أن تجتاز الإشارة بعدها سلسلة بوابات اختيارية قبل أن تُطلق OpenPosition: نوافذ الجلسة (الآسيوية/الأوروبية/الأمريكية/المخصصة)، سبريد أقل من 20 نقطة، نسبة ATR أعلى من 1.0، حجم أعلى من 0.8× متوسط 20 شمعة، مؤشر Choppiness أقل من 61.8 مع اتفاق 2 من 4 طبقات فرعية، مراقب الارتباط مقابل مجموعة أزواج الرموز المضبوطة، blackout NFP يوم الجمعة الأولى، نطاق RSI(14)، وتصويت مرشح Jurik اختياري. يسقط الحجم مرة أخرى إلى 1.0 لوت ثابت أو 1% مخاطرة رصيد، مع تقريب LOT_ROUND_NEAREST وتطبيع ClampVolumeToSymbol؛ تُوسم المراكز بسحر 22216107 وتعليق Psgrowth.com Expert_16107. بينما تكون المراكز مفتوحة، تُشغِّل ManageTrailingStops وApplyBreakEven وApplyProfitLock وExitManager.mqh اثني عشر فحص خروج متوازٍ لكل تيك. ترسم لوحة المعلومات تصويت الأغلفة الأربعة المباشر وحالات الفلتر الحالية وقراءة مستوى الهامش مباشرة على الرسم البياني؛ يقوم AttachHullIndicator/AttachRsiDisplay/AttachAdxDisplay/AttachAtrDisplay بقمع لوحات الرسم البياني في التشغيل بدون واجهة مع الاحتفاظ بالبيانات لمحرك التوافق.

إشارة الدخول

يتم تفعيل الدخول حين يصوّت 2 على الأقل من أغلفة الاتجاه الأربعة (JMA1 بطول 7 مع Hull2/3/4 بفترات 160/245/536) لنفس الاتجاه عند الشمعة المغلقة (InpSignalBarShift = 1) ويستمر نفس التوافق لـ InpStableBarsRequired = 2 من الشموع السابقة. يتوفر تأكيد ثانوي اختياري من مرشح Jurik منفصل (طول 50) ونطاق RSI(14) — تتطلب الشراءات RSI بين [0، 70] والبيوع بين [30، 100]. بعد أول تنفيذ تنخفض العتبة، ما يسمح للخبير بتطبيق دخول إضافي في اتجاه الاتجاه.

إشارة الخروج

تُدار الخروج عبر ExitManager المكوَّن من 12 فحصاً: تدرُّج جزئي عند درجات InpProfitScalingTargets، تعادل عند 30 نقطة (إزاحة 5) عند التفعيل، وقف زمني، انقلاب زخم على RSI+ADX، قمة تذبذب على نسبة ATR المئوية، كسر قمة/قاع سوينغ عبر GetSwingHigh/GetSwingLow، انعكاس توافق عكسي 4 من 4 كامل، وحماية نهاية الأسبوع. يُغلق توافق Hull العكسي عند InpMinIndicatorsAgreeCloseProfit = 1 الصفقات الرابحة افتراضياً (InpCloseOnOpposite = false، InpCloseOnOppositeEvenIfInLose = true) — لذا تُغلق الخاسرة أيضاً حين تنقلب الأغلفة الأربعة بالكامل.

وقف الخسارة

وقف الخسارة لكل صفقة ثابت عند 200 نقطة (InpStopLossPoints) تحت سعر الدخول للشراءات وفوقه للبيوع، بنسبة عائد إلى مخاطرة 1:5 مقابل هدف 1000 نقطة. يبدأ trailing (InpEnableTrailingStop = true) عند 40 نقطة ربح ويُحرِّك الوقف كل 210 نقطة من قمة جديدة. التعادل (معطل افتراضياً) ينقل الوقف إلى سعر الدخول + 5 نقاط بمجرد تراكم 30 نقطة ربح.

جني الأرباح

جني الأرباح الأولي ثابت عند 1000 نقطة (InpTakeProfitPoints) بنسبة 1:5 R:R مقابل وقف 200 نقطة. تتوفر إغلاقات جزئية اختيارية عند نسب InpProfitScalingTargets من حجم الصفقة، ويمشي قفل الربح (معطل افتراضياً) بالوقف بزيادات 50 نقطة مع بقاء 20 نقطة خلف السعر.

الأنسب لـ

يُنشر أفضل على XAUUSD M5 مع ترك InpMaxOpenPositions عند 0 (إدخالات مُطبَّقة غير محدودة) وحد أدنى للرصيد 100$ بفضل الإعداد الافتراضي 1.0 لوت ثابت — لكن ينبغي على المتداولين تقليص الحجم عبر InpRiskPerTradePercent = 1.0 في MM_MODE_PERCENT_RISK لأي حساب حي، لأن الذهب بـ 1.0 لوت لكل طبقة يمكن أن يحرِّك الانسحاب بسرعة. يُشترط وسيط ECN بسبريد منخفض حتى يتصرف فلتر السبريد 20 نقطة وخطوة trailing 210 نقطة كما صُمِّما. تناسب نوافذ الجلسة الافتراضية (الآسيوية 00-09، الأوروبية 08-17، الأمريكية 13-22) أي متداول نشط؛ يتيح إيقاف InpEnableSessionFilters التداول على مدار الساعة لكنه يعطل إغلاق نهاية الجلسة القسري عند 23:00. يعكس مستوى المخاطرة MEDIUM نسبة 1:5 R:R إلى جانب توافق 2 من 4: عدد صفقات أقل من نظام تقاطع نموذجي، رابحون أكبر حين يتحقق الاتجاه.

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

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

العائلة: Trend الماجيك: 22216107 الإصدار: 2.00

الوصف: Expert Advisor that trades using JMA (Jurik Moving Average) trend indicators with Hull confirmation and advanced exit strategies. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • PrepareTradeComment()
  • DashboardFormatJmaPrice()
  • DashboardFormatTimeframe()
  • DashboardDirectionString()
  • DashboardFilterStatusText()
  • DashboardDeleteObjects()
  • DashboardCreateRectangle()
  • DashboardCreateLabel()
  • DashboardSetLabel()
  • DashboardEnsureLayout()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16107 Trend — Execution Flow (from source analysis)
// Family: Trend
// Expert Advisor that trades using JMA (Jurik Moving Average) trend indicators with Hull confirmation and advanced exit strategies. 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اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
  7. 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpLots1.0Fixed lot size (0.01,0.01,50.0)
InpSlippagePoints20Max slippage (points) (0,1,100)
InpMagicNumber22216107Magic number (1,1,99999999)
InpTradeComment"Psgrowth.com Expert_16107"Trade comment for new positions
InpMoneyManagementModeMM_MODE_FIXED_LOTSMoney management mode
InpRiskPerTradePercent1.0Risk per trade (% of balance) (0.1,0.1,10.0)
InpLotRoundingModeLOT_ROUND_NEARESTLot rounding mode
InpStopLossPoints200.0Initial stop loss (points) (10.0,1.0,5000.0)
InpTakeProfitPoints1000.0Initial take profit (points) (10.0,1.0,10000.0)
InpEnableMarginGuardfalseEnforce minimum margin level before new trades
InpMinMarginLevelPerc200.0Minimum margin level (%) (100.0,1.0,1000.0)
InpEnableTrailingStoptrueMaster toggle for trailing stop management
InpTrailingTriggerPts40.0Trailing stop trigger (points) (5.0,1.0,500.0)
InpTrailingStepPts210.0Trailing stop step (points) (10.0,1.0,2000.0)
InpEnableBreakEvenfalseMove SL to break-even
InpBreakEvenTrigger30.0Profit trigger (points) (5.0,1.0,500.0)
InpBreakEvenOffset5.0Offset from entry (points) (0.0,1.0,100.0)
InpEnableProfitLockfalseLock profits
InpProfitLockIncrement50.0Lock every X points (10.0,1.0,500.0)
InpProfitLockStep20.0Distance from current price (1.0,1.0,200.0)
InpEnableProfitGatetrueRequire existing trades be in profit
InpProfitGatePoints20.0Minimum profit (points) per trade (1.0,1.0,500.0)
InpMaxOpenPositions0Maximum open positions (0=unlimited) (0,1,100)
InpSignalBarShift1Signal bar shift (0=current,1=closed)
InpMinIndicatorsAgreeForInitialTrades2Minimum Hulls agreeing for initial entries (1,1,4)
InpMinIndicatorsAgreeForAdditonalTrades2Minimum Hulls agreeing for additional entries (1,1,4)
InpCloseOnOppositefalseClose trades on opposite agreement if in profit
InpMinIndicatorsAgreeCloseProfit1Minimum Hulls to close in profit (1,1,4)
InpCloseProfitPoints10.0Minimum profit (points) to close on opposite (0.0,1.0,200.0)
InpCloseOnOppositeEvenIfInLosetrueClose trades on opposite agreement even if losing
InpMinIndicatorsAgreeCloseLoss2Minimum Hulls to close even if losing (1,1,4)
InpRequireStableSignalfalseRequire consensus to persist
InpStableBarsRequired2Consecutive bars with same consensus (1,1,10)
JMA1_EnabledtrueEnable JMA source #1
JMA1_Length7JMA length (1,1,500)
JMA1_Phase100Phase adjustment (-100..+100)
JMA1_PriceModeJMA_PRICE_CLOSEJMA price mode
JMA1_Timeframe6Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // JMA calculation timeframe
JMA1_Shift0Horizontal bar shift
JMA1_PriceShiftPoints0Vertical shift (points)
Hull2_EnabledtrueEnable Hull 2
Hull2_Period160Hull Period (9,1,600)
Hull2_Divisor9.8Hull Divisor (2.0,0.1,25.0)
Hull2_Price7Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // PRICE_AVERAGE
Hull2_Timeframe7Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
Hull2_FlatSensitivity3.0Flat Sensitivity (1.0,0.5,30.0)
Hull2_FlatBars21Flat Bars (1,1,50)
Hull2_AdxTimeframe6Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
Hull2_AdxPeriod100ADX Period (7,1,150)
Hull2_AdxThreshold60.0ADX Threshold (20.0,0.5,100.0)
Hull2_MomentumLookback50Momentum Lookback (3,1,100)
Hull2_MomentumPoints34.0Momentum Points (5.0,0.5,70.0)
Hull3_EnabledtrueEnable Hull 3
Hull3_Period245Hull Period (9,1,600)
Hull3_Divisor12.2Hull Divisor (2.0,0.1,25.0)
Hull3_Price7Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)
Hull3_Timeframe6Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
Hull3_FlatSensitivity29.7Flat Sensitivity (1.0,0.5,40.0)
Hull3_FlatBars3Flat Bars (1,1,20)
Hull3_AdxTimeframe6Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
Hull3_AdxPeriod55ADX Period (7,1,100)
Hull3_AdxThreshold28.0ADX Threshold (20.0,0.5,80.0)
Hull3_MomentumLookback21Momentum Lookback (3,1,50)
Hull3_MomentumPoints47.0Momentum Points (5.0,0.5,100.0)
Hull4_EnabledfalseEnable Hull 4
Hull4_Period536Hull Period (9,1,1000)
Hull4_Divisor2.0Hull Divisor (1.0,0.1,40.0)
Hull4_Price2Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)
Hull4_Timeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
Hull4_FlatSensitivity3.0Flat Sensitivity (1.0,0.5,40.0)
Hull4_FlatBars3Flat Bars (1,1,20)
Hull4_AdxTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
Hull4_AdxPeriod14ADX Period (7,1,50)
Hull4_AdxThreshold20.0ADX Threshold (10.0,0.5,60.0)
Hull4_MomentumLookback5Momentum Lookback (3,1,50)
Hull4_MomentumPoints5.0Momentum Points (1.0,0.5,40.0)
InpJurik1_EnabledfalseEnable Jurik Filter 1
InpJurik1_UseForInitialTradestrueUse for initial trade entries
InpJurik1_UseForAdditionalTradestrueUse for additional trades (same direction)
InpJurik1_Timeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Jurik Timeframe
InpJurik1_Length50Jurik Length (1,1,200)
InpJurik1_Phase0.0Jurik Phase (-100.0,1.0,100.0)
InpJurik1_VolatilityDivisorBase10.0Volatility Divisor Base (0.1,0.1,50.0)
InpJurik1_VolatilityDivisorMax100.0Volatility Divisor Max (1.0,1.0,200.0)
InpJurik1_VolumeBarLimit10Volume Bar Limit (1,1,50)
InpJurik1_AdaptiveFactor2.0Adaptive Factor (0.1,0.1,10.0)
InpJurik1_AdaptiveMultiplier4.0Adaptive Multiplier (0.1,0.1,20.0)
InpJurik1_AdaptiveMinLength30.0Adaptive Min Length (1.0,1.0,100.0)
InpJurik1_BetaFactor0.45Beta Factor (0.01,0.01,0.99)
InpEnableRsiConfirmationfalseRequire RSI confirmation for entries
InpRsiTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
InpRsiPeriod14RSI Period (5,1,30)
InpRsiPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)
InpRsiBuyMin0.0RSI Buy Min (0.0,1.0,50.0)
InpRsiBuyMax70.0RSI Buy Max (50.0,1.0,80.0)
InpRsiSellMin30.0RSI Sell Min (20.0,1.0,50.0)
InpRsiSellMax100.0RSI Sell Max (70.0,1.0,100.0)
InpEnableCorrelationMonitorfalseEnable correlation monitoring
InpCorrelationBlockEntriestrueBlock new entries on correlation breakdown
InpCorrelationClosePositionsfalseClose positions when correlation breaks down
InpCorrelationTimeframe8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Correlation timeframe
InpCorrelationLookback50Bars to evaluate correlation (10,1,500)
InpCorrelationMinThreshold0.75Minimum absolute correlation allowed (0.1,0.01,0.99)
InpCorrelationDivergenceTrigger0.25Minimum change to flag breakdown (0.05,0.01,1.0)
InpCorrelationConfirmBars2Consecutive bars required to confirm breakdown (1,1,10)
InpCorrelationSymbolSuffix""Broker symbol suffix (auto-appended)
InpCorrWatch_EURUSDtrueMonitor EURUSD correlation
InpCorrWatch_GBPUSDtrueMonitor GBPUSD correlation
InpCorrWatch_AUDUSDfalseMonitor AUDUSD correlation
InpCorrWatch_NZDUSDfalseMonitor NZDUSD correlation
InpCorrWatch_USDJPYfalseMonitor USDJPY correlation
InpCorrWatch_USDCADfalseMonitor USDCAD correlation
InpCorrWatch_USDCHFfalseMonitor USDCHF correlation
InpCorrWatch_XAUUSDfalseMonitor XAUUSD correlation
InpEnableBarRangeFilterfalseRequire minimum average bar range
InpBarRangeLookback5Number of bars to average (2,1,50)
InpMinBarRangePoints50.0Minimum average range (points) (1.0,1.0,1000.0)
InpEnableNFPFilterfalseBlock trading on first Friday (NFP)
InpNFPStartHour8NFP release hour (broker time) (0,1,23)
InpNFPStartMinute30NFP release minute (0,1,59)
InpNFPAvoidMinutesBefore30Stop trading X min before NFP (5,1,120)
InpNFPAvoidMinutesAfter30Resume trading X min after NFP (5,1,120)
InpNFPClosePositionstrueClose positions before NFP
InpNFPCloseMinutesBefore10Close X min before NFP (1,1,60)
InpNFPCloseProfitOnlyfalseOnly close profitable positions
InpEnableAtrFilterfalseRequire minimum ATR
InpAtrTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
InpAtrPeriod14ATR period (5,1,50)
InpAtrAveragePeriod50ATR average period (10,1,200)
InpAtrMultiplierMin1.0ATR must be >= average*multiplier (0.5,0.1,5.0)
InpEnableSpreadFilterfalseBlock trades during wide spreads
InpMaxSpreadPoints20.0Maximum allowed spread (points) (1.0,1.0,200.0)
InpEnableVolumeFilterfalseEnable volume filter for entries
InpVolumeTypeVOLUME_TICKVolume type to analyze
InpVolumeTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Volume data timeframe
InpVolumeThreshold0Minimum volume threshold (0=disabled)
InpUseVolumeAveragetrueCompare to average volume
InpVolumeAvgPeriod20Volume average period (5,1,100)
InpVolumeMultiplier0.8Volume must be >= average*multiplier (0.1,0.1,5.0)
InpEnableProfitScalingfalseEnable partial profit taking
InpScalingLevels3Number of scaling levels (1,1,5)
InpScalingTargets"50,100,200"Profit targets (points), comma-separated
InpScalingPercents"30,30,40"% to close at each level
InpEnableMaxHoldingTimefalseEnable position time limits
InpMaxHoldingHours24Maximum holding time (hours) (1,1,240)
InpCloseProfitableOnlytrueClose only profitable positions
InpMinProfitThreshold0.0Profit threshold (points) (0.0,1.0,500.0)
InpEnableMomentumExitfalseExit on momentum loss
InpMomTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
InpMomRsiPeriod14RSI period for momentum exit (5,1,30)
InpMomRsiOverbought70.0RSI exit for buys (60.0,1.0,100.0)
InpMomRsiOversold30.0RSI exit for sells (0.0,1.0,40.0)
InpMomAdxPeriod14ADX period for exit (7,1,30)
InpMomAdxWeakThreshold20.0Exit when ADX drops below (5.0,1.0,40.0)
InpEnableVolatilityExittrueExit on ATR spike
InpVolExitAtrTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
InpVolExitAtrPeriod14ATR period (5,1,50)
InpVolExitAtrAvgPeriod50ATR average period (10,1,200)
InpVolSpikeMultiplier2.5ATR spike threshold vs avg (1.0,0.1,10.0)
InpVolExitProfitOnlyfalseRequire profit before ATR spike exit
InpEnableSRExitfalseExit at key levels
InpSRLookbackBars50Bars to find swing points (5,1,500)
InpSRDistancePoints20.0Distance to trigger exit (1.0,1.0,1000.0)
InpSRExitProfitOnlytrueOnly if profitable
InpEnableSessionFilterstrueEnable session-based trading
InpUseServerTimetrueUse broker server time (vs local)
InpAsianSessionEnabledtrueEnable trading during Asian session
InpAsianSessionStartHour0Asian session start hour (0,1,23)
InpAsianSessionStartMinute0Asian session start minute (0,1,59)
InpAsianSessionEndHour9Asian session end hour (0,1,23)
InpAsianSessionEndMinute0Asian session end minute (0,1,59)
InpEuropeanSessionEnabledtrueEnable trading during European session
InpEuropeanSessionStartHour8European session start hour (0,1,23)
InpEuropeanSessionStartMinute0European session start minute (0,1,59)
InpEuropeanSessionEndHour17European session end hour (0,1,23)
InpEuropeanSessionEndMinute0European session end minute (0,1,59)
InpUSSessionEnabledtrueEnable trading during US session
InpUSSessionStartHour13US session start hour (0,1,23)
InpUSSessionStartMinute0US session start minute (0,1,59)
InpUSSessionEndHour22US session end hour (0,1,23)
InpUSSessionEndMinute0US session end minute (0,1,59)
InpCustomSessionEnabledfalseEnable trading during custom session
InpCustomSessionStartHour22Custom session start hour (0,1,23)
InpCustomSessionStartMinute0Custom session start minute (0,1,59)
InpCustomSessionEndHour23Custom session end hour (0,1,23)
InpCustomSessionEndMinute59Custom session end minute (0,1,59)
InpEnableEndOfDayClosefalseClose all trades at specific time
InpEndOfDayCloseHour23Close hour (0,1,23)
InpEndOfDayCloseMinute45Close minute (0,1,59)
InpEndOfDayProfitOnlyfalseOnly close profitable positions
InpEndOfDayBlockNewTradestrueBlock new trades after close time
InpShowDashboardtrueDisplay on-chart dashboard
InpDashboardX8Dashboard X position (pixels)
InpDashboardY28Dashboard Y position (pixels)
InpDashboardWidth360Dashboard width (pixels)
InpDashboardBgColorC'4,5,8'Dashboard background color
InpDashboardBgOpacity245Dashboard fill opacity (0 transparent, 255 solid) (0,1,255)
InpDashboardTextColorclrWhiteDashboard text color
InpDashboardAccentColorclrDodgerBlueDashboard header/accent color
InpAttachHullIndicatorstrueShow Hull indicator overlays on chart
InpHullIndicatorSubwindow1Subwindow index for Hull overlays (0=main chart, 1+=subwindows)
InpShowRsiIndicatortrueDisplay RSI indicator visualization
InpRsiIndicatorSubwindow2Subwindow index for RSI visualization (1+=subwindows)
InpShowAdxIndicatortrueDisplay ADX indicator visualization
InpAdxIndicatorSubwindow3Subwindow index for ADX visualization (1+=subwindows)
InpShowAtrIndicatortrueDisplay ATR indicator visualization
InpAtrIndicatorSubwindow4Subwindow index for ATR visualization (1+=subwindows)
InpEnableChoppinessFiltertrueEnable choppiness detection and filtering
InpChopBlockEntriestrueBlock new entries during choppy markets
InpChopClosePositionsfalseClose positions when choppiness detected
InpChopCloseProfitOnlytrueOnly close profitable positions on choppiness
InpChopMinProfitPoints10.0Minimum profit (points) to close on chop (0.0,1.0,500.0)
InpChopRequireLayers2Layers required to confirm choppiness (1,1,4)
InpChopUseChopIndextrueEnable Choppiness Index layer
InpChopIndexTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // CHOP indicator timeframe
InpChopIndexPeriod14CHOP calculation period (10,1,50)
InpChopIndexThreshold61.8Choppy when CHOP > threshold (50.0,1.0,80.0)
InpChopUseAdxtrueEnable ADX trend strength layer
InpChopAdxTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // ADX timeframe
InpChopAdxPeriod14ADX period (7,1,50)
InpChopAdxMinTrend25.0Choppy when ADX < threshold (15.0,1.0,40.0)
InpChopUseRangeCompressiontrueEnable range compression detection
InpChopRangeTimeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Range compression timeframe
InpChopRangeLookback5Bars to compare range compression (3,1,20)
InpChopRangeAtrPeriod14ATR period for range comparison (10,1,50)
InpChopRangeCompressionRatio0.5Choppy when range < ATR*ratio (0.2,0.1,1.0)
InpChopUseAdaptiveThresholdsfalseDynamically adjust thresholds based on volatility
InpChopAdaptiveAtrPeriod50ATR period for adaptive scaling (20,1,100)
InpChopAdaptiveMultiplier1.5Volatility multiplier for adaptive mode (0.5,0.1,3.0)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16107.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16107 JMAEA — JMA trend EA with Hull confirmation and advanced exits, full 12-layer stack."

#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Hull2EA/ExitManager.mqh>


enum ENUM_MM_MODE
{
	MM_MODE_FIXED_LOTS = 0,
	MM_MODE_PERCENT_RISK = 1
};

enum ENUM_LOT_ROUNDING
{
	LOT_ROUND_DOWN = 0,
	LOT_ROUND_NEAREST = 1,
	LOT_ROUND_UP = 2
};

enum ENUM_JMA_PRICE_MODE
{
	JMA_PRICE_CLOSE = 1,        // Close price
	JMA_PRICE_OPEN,             // Open price
	JMA_PRICE_HIGH,             // High price
	JMA_PRICE_LOW,              // Low price
	JMA_PRICE_MEDIAN,           // (High+Low)/2
	JMA_PRICE_TYPICAL,          // (High+Low+Close)/3
	JMA_PRICE_WEIGHTED,         // (2*Close+High+Low)/4
	JMA_PRICE_SIMPLE,           // (Open+Close)/2
	JMA_PRICE_QUARTER,          // (Open+Close+High+Low)/4
	JMA_PRICE_TRENDFOLLOW0,     // Trend-following (0)
	JMA_PRICE_TRENDFOLLOW1      // Trend-following (0.5)
};


//----------------------
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)
   {

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

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

الوسوم:ex16107trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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