Pipsgrowth EX12075 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD، XAGUSD · M5، H1
Pipsgrowth EX12075 MultiIndicatorConfluence — Multi-symbol portfolio EA with pyramiding trend rider system, Hull MA confluence entry, market regime detection, dynamic. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكسبرت Pipsgrowth EX12075 ليس خبيراً يتداول زوجاً واحداً على إطار زمني واحد. في دالة OnInit، يُنشئ خط معايرة ومؤشرات مستقلاً لكل رمز فعّلَه المتداول عبر أزرار منطقية — InpTradeXAUUSDm وInpTradeXAGUSDm وInpTradeUSDJPYm وInpTradeEURUSDm وInpTradeGBPUSDm وInpTradeAUDUSDm وInpTradeEURJPYm وInpTradeGBPJPYm — ويشغّل الاستراتيجية على كامل مجموعة الأسماء المفعّلة. الهدف من التصميم هو التنويع: دخول اتجاهي مع تأكيد تقاطع هول على مجموعة من الأزواج المترابطة، مع مرشح ارتباط على مستوى المحفظة يرفض أخذ مركز ثانٍ عندما يكون سلوك رمز ما مرتبطاً (InpMaxCorrelation = 0.70) بشكل محكم برمز آخر يحتفظ بالفعل بتعرض.
يدور المحرك حول IndicatorDataCache ينفّذ كل CopyBuffer وCopyClose مرة واحدة بالضبط لكل شمعة لكل رمز. دالة UpdateIndicatorData() تملأ مصفوفة prices[] الثابتة المكونة من 100 عنصر، وقيم ADX وATR(period) ومتوسط ATR لـ 50 فترة، وقيم Hull MA الأربعة، وتقرأها GetADX وGetATR وGetATRAverage من الذاكرة المؤقتة. فوق ذلك تستقر g_confCache وg_hullCache، فتصبح GetConfidence() وScoreDirection() عمليات صفرية لكل استدعاء إضافي ضمن الشمعة نفسها. أشار المؤلف صراحةً إلى المكاسب: المسار المخزّن يزيل 32+ استدعاء CopyClose لكل شمعة و56+ قراءة CopyBuffer — الكود الأصلي علّق 'كانت 90% من البطء'. هذا أبرز خيار هندسي في الإكسبرت وهو ما يجعل محفظة الرموز الثمانية ممكنة على مخطط M5 واحد دون انفجار في مقابض المؤشرات.
لا تُطلب متوسطات هول المتحركة من المنصة كمقابض. دالة CalculateHullMA() تطبّق صيغة هول القانونية WMA( 2 * WMA(price, period/2) - WMA(price, period), sqrt(period) ) مباشرةً من أسعار الإغلاق المخزّنة، مع الفترات الأربع (8/13/21/34 افتراضياً) المعيّنة عبر ApplySymbolPreset إلى سلَّم مناسب لكل رمز: 14/21/34/55 للذهب، 21/34/55/89 للفضة وأزواج الين، 34/55/89/144 لأزواج EUR/GBP، 10/16/26/42 مع regimeADX=35 للعملات الرقمية. تُرجع GetHullDirection() القيمة +1 عندما يرتفع هول والسعر فوقه، و-1 عندما ينخفض هول والسعر تحته، و0 فيما عدا ذلك، بعتبة ميل 5 نقاط. تتطلب GetSignalDirection() موافقة minAgreement (افتراضي 2) من الهولات الأربعة على الاتجاه نفسه قبل أن يُسهم الرمز في الفحص المتقاطع.
تعمل المعايرة التلقائية في OnInit بعد اختيار الرموز وقبل أي منطق تيك. لكل رمز مفعّل، تمشي CalibrateSymbol() عبر ست خطوات: ReadSymbolSpecs() تقرأ digits وpoint وtickSize وtickValue وlotMin/Max/Step وstopLevel؛ وCalculatePipMetrics() تستخلص قيمة بيب حقيقية (بالضرب في 10 للرموز 5/3 خانات، بالقسمة على 1 لـ 2/4 خانات)؛ وMeasureSpreadStats() تأخذ عيّنات من السبريد الحي حتى 5 ثوانٍ بفواصل 50 مللي ثانية، مسجلةً min/avg/max بالنقاط؛ وCalculateATRStats() تجري مسح ATR لـ 100 شمعة لتثبيت الحدود الصغرى والعليا؛ ثم تحسب CalculateOptimalParameters() المسافات: slDistancePrice = avgATR * InpStopLossATRMult (افتراضي 2.0×)، وtpDistancePrice = slDistancePrice * InpTakeProfitRR (افتراضي 2.5×)، وbeDistancePrice = max(avgATR * 0.3, sl * 0.3)، وtrailStartPrice = max(avgATR * 0.5, sl * 0.5)، وtrailStepPrice = avgATR * 0.2، وspreadMaxPoints = avgSpread * InpSpreadMaxMultiplier (2.5×). يُرفع وقف الخسارة إلى (stopLevel + avgSpread) * point * 1.5 إذا كان أدنى من الحد الأدنى للوسيط. يُصدَّر كل ذلك عبر ExportCalibrationData() إلى ملفات CSV في MQL5/Files/ عندما يكون InpExportCalibration مفعّلاً: Calibration_SymbolSpecs_*.csv وCalibration_Spreads_*.csv وCalibration_ATR_*.csv وCalibration_Parameters_*.csv، إضافةً إلى سجل Calibration_Validation_*.log مقروء بشرياً. يحصل سجل الصفقات على Trade_Validation_*.csv ملحق تُنشئه ExportTradeValidation عند كل تنفيذ.
تُبنى درجة الثقة على مركّب من ست ركائز بإجمالي 100 نقطة. ScoreDirection (25 نقطة) تزن اتفاق هول (10 لنتيجة 4 من 4، 7 لـ 3 من 4، 4 عند أو أعلى من InpMinHullAgreement)، وتوافق الإطار الزمني الأعلى (7 عبر GetHigherTimeframeTrend)، وADX عند أو أعلى من regimeADX الخاص بكل رمز (5)، و3 ثابتة لـ'لا تباعد'. تقيس ScoreTiming (15 نقطة) عمر الإشارة بحساب عدد الشموع الرجوع حتى ينكسر توافق هول، مانحةً 7 للإشارات تحت 5 شموع، 4 لـ 6-10، 2 لـ 11-20؛ تضيف 5 من CheckMomentumAcceleration و3 من IsOptimalSessionTime. تتحقق ScoreAsset (10 نقاط) من ATR داخل 0.5-1.5× معدله لـ 50 شمعة، والسبريد تحت حد spreadMaxPips، والنظام من DetectMarketRegime. مصنّف النظام — ENUM_MARKET_REGIME بـ TRENDING وRANGING وVOLATILE وQUIET — يستخدم ADX ≥ InpRegimeTrendADX (30.0) للاتجاه، وATR ≥ 1.5× للمتذبذب، وATR ≤ 0.5× للهدوء. تكمل ScoreEntrySetup (15) وScoreExitPlan (15) المركّب. تُرسَل الفرصة الأعلى ثقةً فقط لكل شمعة إلى ExecuteTradeOnSymbol، وأرضية القبول هي InpMinConfidenceScore (افتراضي 55).
التوسع الهرمي هو الركيزة الهيكلية الثانية. مع InpEnablePyramiding مفعّل وInpMaxPyramidLevels = 3، يستطيع الإكسبرت تكديس ما يصل إلى ثلاثة مراكز في الاتجاه نفسه على الرمز نفسه، مع بوابة InpPyramidMinProfitATR (1.0×) — يجب أن يحقق المركز القائم ربحاً لا يقل عن 1× ATR قبل النظر في الإضافة التالية — وبوابة InpPyramidMinConfidence (65). يُحدَّد تعرض كل رمز عند InpMaxSymbolExposure × حجم الأساس (5.0× افتراضي). يُحسَب حجم الهرم من InpPyramidRisk (0.5%) بدلاً من InpStartRisk الأساسية (0.8%)، ويقطع InpLossReduction (0.5×) ذلك الخطر إلى النصف عند بلوغ عتبة InpMaxConsecutiveLosses (5). تعمل CheckPyramidOpportunities قبل فحص الإدخال الجديد، فتتعايش الإضافات والإدخالات الجديدة على الشمعة نفسها. تقلب الإشارة على رمز ذي هرم مفتوح يستدعي CloseAllPyramidsOnReversal التي تفكّك كل المدخلات المكدّسة في الاتجاه الخاطئ دفعةً واحدة.
إدارة المخاطر الديناميكية طبقة منفصلة ومستمرة. تحمّل InitializeRiskManager() أي سلسلة انتصارات محفوظة من متغيرات الطرفية العامة، ثم تضبط هيكل RiskManagement يتتبع currentRisk وconsecutiveWins وconsecutiveLosses وprotectedBalance وpeakBalance وcurrentDrawdown وsafeModeActive ودلو يومي. ترفع UpdateRiskManager() قيمة currentRisk بمقدار InpRiskIncrement (0.1%) عند كل صفقة رابحة مغلقة حتى InpMaxRisk (2.5%)، وتخفضها عبر InpLossReduction بعد عتبة الخسائر المتتالية. عندما يكون InpAutoReduceNearGoal مفعّلاً ويكون الرصيد ضمن InpProtectedProfit (30%) من InpTargetBalance (1000.0)، يتحول المحرك إلى InpSafeModeRisk (0.5%) — حدّ صلب يضغط الحجم عند الاقتراب من الهدف. OnTradeTransaction() هي الموضع الوحيد الذي تُستدعى فيه OnTradeResult، وتستخدم DEAL_ENTRY_OUT لتصفية الأحداث غير الخروج قبل تحديث السلسلة.
طبقة الخروج مبنية على المسافات المعايرة تلقائياً، لا على نقاط ثابتة. تستخدم MoveToBreakeven() beDistancePrice المخزّنة وترفع وقف الخسارة إلى entry + 1 نقطة للشراء (entry - 1 للبيع) بمجرد ابتعاد السعر بهذا القدر في صالح المركز. تغلق PartialClosePosition() 50% من المركز (قابلة للضبط 30-80% عبر InpPartialClosePercent) في أول مرة يصل فيها التداول إلى 1:1 مخاطرة/عائد — يُخزَّن العَلَم في متغير طرفي عام PartialClosed_<ticket> ليمنع التكرار. تتولى TrailStop() بعد ذلك، فتشدّ وقف الخسارة عند كل قمة جديدة بمقدار trailStepPrice (0.2× ATR) بمجرد ابتعاد السعر trailStartPrice (0.5× ATR) عن الدخول. كل إغلاق وتعديل يمر عبر TryClose_EX12075 / TryModify_EX12075 اللتين تعيدان المحاولة حتى ثلاث مرات على REQUOTE وPRICE_CHANGED وPRICE_OFF وTIMEOUT.
الحمايات الصلبة في النهاية. تحجب CheckProtectionLimits() الفحص بالكامل عند اختراق InpMaxDrawdown (20.0%)، أو بلوغ InpMaxDailyLoss (10.0%)، أو تجاوز عداد الخسائر المتتالية. تحرّر OnDeinit() كل مقابض ADX وATR، وتطبع سبب إزالة التهيئة عبر GetDeInitReasonText، وتشغّل DisplayFinalStatistics. OnTick هو المسار الموحّد للبث الحي والمختبر: يتابع تغيير وقت الشمعة، ثم CheckPyramidOpportunities، ثم ScanAllSymbols إذا كانت المراكز المفتوحة دون InpMaxConcurrentTrades (25)، ويستدعي دائماً ProcessAllExits كل تيك. السحر 22212075 يعزل المراكز عن أي إكسبرت آخر يعمل على الحساب.
تفاصيل الاستراتيجية
في كل شمعة جديدة من المخطط، يحدّث الإكسبرت ذاكرة مؤقتة لكل رمز (CopyClose واحد، وCopyBuffer واحد لـ ADX، وCopyBuffer واحد لـ ATR(50)، وأربع قيم Hull MA محسوبة يدوياً) ويُعيد حساب درجة الثقة. تمشي ScoreDirection عبر اتجاهات هول الأربعة المخزّنة وتحسب الاتفاق؛ وتغذّي نفس الذاكرة GetADX وGetATR ومصنّف النظام وفحص الأصل لكل رمز. يُحسب مركّب الركائز الست (الاتجاه 25، التوقيت 15، الأصل 10، المرشحات 20، الدخول 15، الخروج 15) مرةً واحدة لكل شمعة لكل رمز، ولا تُرسَل الفرصة الأعلى ثقةً فوق InpMinConfidenceScore (55) إلى ExecuteTradeOnSymbol. تتراكم الهرومات على الشمعة نفسها عبر CheckPyramidOpportunities عندما تكون الثقة عند أو أعلى من InpPyramidMinConfidence (65) ويكون المركز القائم في الاتجاه نفسه رابحاً بمقدار InpPyramidMinProfitATR (1.0×) على الأقل، محدودةً بـ InpMaxPyramidLevels (3). تعمل الخروج — التعادل، الإغلاق الجزئي، التتبّع — كل تيك. تُحسب جميع مسافات وقف الخسارة وجني الأرباح والتعادل والتتبّع والحد الأقصى للسبريد مسبقاً في OnInit عبر CalibrateSymbol وCalculateOptimalParameters وتُعادَ استخدامها لكل رمز.
يُطلق الصفقة الأساسية عندما يتجاوز مركّب الثقة المكوّن من ست ركائز لأحد الرموز قيمة InpMinConfidenceScore (افتراضي 55) ويكون الفرصة الأعلى ثقة في الفحص المتقاطع. تتطلب ScoreDirection موافقة InpMinHullAgreement (افتراضي 2) من متوسطات هول الأربعة — تعمل الإعدادات الخاصة بكل رمز كـ 14/21/34/55 للذهب و21/34/55/89 للفضة وأزواج الين و34/55/89/144 لـ EUR/GBP — على الاتجاه نفسه؛ ويجب أن يكون ADX عند أو أعلى من regimeADX الخاص بكل رمز. يجب أن يجتاز الرمز المختار أيضاً مرشح الارتباط (InpMaxCorrelation = 0.70)، وحدّ الخسارة اليومية (10%)، وحدّ الانخفاض (20%). تتراكم إضافات الهرم على الرمز نفسه عندما تستمر InpPyramidMinConfidence (65) ويكون المركز القائم رابحاً بما لا يقل عن InpPyramidMinProfitATR (1.0×).
تعمل الخروج كل تيك عبر ProcessAllExits(). ترفع MoveToBreakeven() وقف الخسارة إلى entry + 1 نقطة بمجرد ابتعاد السعر بمقدار beDistancePrice (أقصى 0.3× ATR و30% من وقف الخسارة) في صالح المركز. تغلق PartialClosePosition() 50% من المركز (قابلة للضبط 30-80%) في أول مرة يصل فيها R:R إلى 1:1، مع تخزين العَلَم في متغير طرفي عام لتجنب التكرار. تتولى TrailStop() بعدها، فتشدّ وقف الخسارة بمقدار trailStepPrice (0.2× ATR) عند كل قمة جديدة بمجرد تجاوز السعر trailStartPrice (0.5× ATR). يستدعي تقلب الإشارة على رمز ذي هرم مفتوح دالة CloseAllPyramidsOnReversal التي تفكّك كل المدخلات المكدّسة في الاتجاه الخاطئ دفعةً واحدة.
يُحسب وقف الخسارة في CalculateOptimalParameters عند OnInit لكل رمز كـ avgATR * InpStopLossATRMult (افتراضي 2.0× ATR)، ثم يُرفع إلى (stopLevel + avgSpread) * point * 1.5 إذا كانت القيمة الخام أدنى من الحد الأدنى لمسافة الوقف لدى الوسيط. تُحرَّك أوامر الإيقاف الحية إلى entry + 1 نقطة بمجرد تجاوز السعر beDistancePrice (أقصى 0.3× ATR و30% من وقف الخسارة)، ثم تُتبع عند trailStepPrice (0.2× ATR). حدّ الحساب الصلب هو InpMaxDrawdown = 20% من ذروة الرصيد — عند الاختراق، تحجب CheckProtectionLimits الفحص بالكامل حتى إعادة تشغيل الإكسبرت.
يُحدَّد جني الأرباح عند الدخول كـ slDistancePrice * InpTakeProfitRR (افتراضي 2.5× وقف الخسارة، أي 5.0× ATR على وقف 2.0× ATR). جني الأرباح متعمَّد العرض — تعليق المصدر يصفه بـ'RIDE TRENDS' — والإغلاق الجزئي عند 1:1 R:R هو طبقة جني الأرباح الواقعية لمعظم الصفقات. InpTargetBalance = 1000.0 هو 'جني الأرباح' فوق مستوى الصفقة: عندما يقترب الرصيد ضمن InpProtectedProfit (30%) من الهدف، يُحوِّل InpAutoReduceNearGoal المحرك إلى InpSafeModeRisk (0.5%) للحفاظ على الربح.
الحد الأدنى للرصيد 100 دولار مع مخاطرة البداية الافتراضية 0.8% — يضمن InpSafeModeRisk بنسبة 0.5% وحدّ الانخفاض 20% قابلية البقاء على حساب فرعي بـ 100 دولار، لكن محفظة الرموز الثمانية مع 3 مستويات هرم لكل رمز تحتاج هامشاً، لذا 500 دولار+ على وسيط ECN-RAW هو الحد الأدنى الواقعي. استخدم Exness أو IC Markets أو أي وسيط بزمن استجابة دون 25 مللي ثانية وسبريد ذهب ضيق؛ يفترض مرشح الارتباط 0.7 أن الوسيط يغذي السعر العالمي نفسه للرموز الثمانية كلها. شغّله على مخطط M5 لأي رمز مفعّل؛ الإكسبرت يصغي فقط إلى مؤقت شموعه الخاص، فالرمز على المخطط غير مهم. الأنسب للمتداولين الذين يريدون ربطاً واحداً يمسح مجموعة متنوعة من الأسماء ويقبل مخاطر ديناميكية قائمة على ATR.
منطق الاستراتيجية
Pipsgrowth EX12075 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212075
الإصدار: 2.00
الوصف:
Multi-symbol portfolio EA with pyramiding trend rider system, Hull MA confluence entry, market regime detection, dynamic risk scaling and auto-calibration across 8 symbols. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTimer()OnTradeTransaction()InitializeRiskManager()InitializeAllSymbols()InitializeSymbol()ApplySymbolPreset()InitializeSymbolIndicators()CalibrateSymbol()ReadSymbolSpecs()CalculatePipMetrics()
// Pipsgrowth EX12075 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Multi-symbol portfolio EA with pyramiding trend rider system, Hull MA confluence entry, market regime detection, dynamic risk scaling and auto-calibration across 8 symbols. 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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
- 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpTradeXAUUSDm | true | Trade XAUUSDm (Gold) |
| InpTradeXAGUSDm | true | Trade XAGUSDm (Silver) |
| InpTradeUSDJPYm | true | Trade USDJPYm |
| InpTradeEURUSDm | true | Trade EURUSDm |
| InpTradeGBPUSDm | true | Trade GBPUSDm |
| InpTradeAUDUSDm | true | Trade AUDUSDm |
| InpTradeEURJPYm | true | Trade EURJPYm |
| InpTradeGBPJPYm | true | Trade GBPJPYm |
| InpMaxConcurrentTrades | 25 | Max Concurrent Trades - PYRAMID ENABLED |
| InpAvoidCorrelation | true | Avoid Correlated Pairs |
| InpMaxCorrelation | 0.70 | Max Correlation Threshold |
| InpEnablePyramiding | true | Enable Pyramiding |
| InpMaxPyramidLevels | 3 | Max Pyramid Levels per Symbol (1,1,5) |
| InpPyramidSpacingATR | 0.8 | Pyramid Spacing (× ATR) (0.5,0.1,2.0) |
| InpPyramidLotMultiplier | 1.0 | Pyramid Lot Multiplier (0.5,0.1,2.0) |
| InpPyramidMinProfitATR | 1.0 | Min Profit to Add Pyramid (× ATR) (0.5,0.1,3.0) |
| InpMaxSymbolExposure | 5.0 | Max Exposure per Symbol (× base lot) (3.0,1.0,10.0) |
| InpPyramidMinConfidence | 65.0 | Min Confidence for Pyramid Add (50,5,100) |
| InpStartRisk | 0.8 | Starting Risk % - PYRAMID OPTIMIZED (0.5,0.1,2.0) |
| InpMaxRisk | 2.5 | Maximum Risk % - SAFE (1.5,0.5,5.0) |
| InpRiskIncrement | 0.1 | Risk Increase per Win (0.05,0.05,0.5) |
| InpPyramidRisk | 0.5 | Pyramid Position Risk % (0.3,0.1,1.0) |
| InpProtectedProfit | 30.0 | Keep % Profit Protected (10.0,5.0,50.0) |
| InpTargetBalance | 1000.0 | Target Balance to Reach |
| InpAutoReduceNearGoal | true | Reduce Risk Near Target |
| InpSafeModeRisk | 0.5 | Safe Mode Risk % (after target) |
| InpMinConfidenceScore | 55 | Min Confidence Score - MORE TRADES (50,5,100) |
| InpRequireAllPillars | false | All 7 Pillars Must Pass |
| InpMinHullAgreement | 2 | Min Hull Agreement (2,1,4) - FAST ENTRIES |
| InpHull1Period | 8 | Hull 1 Period - FAST TRENDS (auto-adjusted) |
| InpHull2Period | 13 | Hull 2 Period - FAST TRENDS (auto-adjusted) |
| InpHull3Period | 21 | Hull 3 Period - FAST TRENDS (auto-adjusted) |
| InpHull4Period | 34 | Hull 4 Period - FAST TRENDS (auto-adjusted) |
| InpHullDivisor | 1.6 | Hull Divisor |
| InpHullPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) |
| InpSignalShift | 0 | Signal Bar Shift |
| InpRequireSRBreakout | false | Require S/R Breakout - DISABLED FOR MORE TRADES |
| InpSRBreakoutATR | 0.5 | Min Breakout ATR Mult (0.2,0.1,2.0) |
| InpSRHigherTFConfirm | false | Higher TF Confirmation - DISABLED |
| InpSRHigherTF | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher Timeframe |
| InpSRLookbackBars | 50 | S/R Lookback Bars (20,5,200) |
| InpSRSwingBars | 5 | Swing Point Bars (3,1,20) |
| InpRegimeDetection | true | Enable Regime Detection |
| InpRegimeTrendADX | 30.0 | Trending Min ADX (20.0,5.0,50.0) |
| InpRegimeRangeATR | 0.5 | Ranging Max ATR Mult |
| InpRegimeVolatileATR | 1.5 | Volatile Min ATR Mult |
| InpRegimeADXPeriod | 14 | Regime ADX Period (7,1,30) |
| InpRegimeATRPeriod | 14 | Regime ATR Period (7,1,30) |
| InpRegimeATRAvgPeriod | 50 | ATR Average Period (20,1,100) |
| InpOnlyTrendingRegime | false | Only Trade in Trending |
| InpAutoCalibrate | true | Auto-Calibrate Parameters |
| InpExportCalibration | true | Export Calibration to Files |
| InpRecalibrateDaily | false | Recalibrate Every 24 Hours |
| InpStopLossATRMult | 2.0 | SL = ATR × this (1.5,0.5,5.0) |
| InpTakeProfitRR | 2.5 | TP = SL × this - RIDE TRENDS (1.0,0.5,5.0) |
| InpBreakevenATRMult | 0.3 | BE = ATR × this - QUICK PROTECT (0.1,0.1,1.0) |
| InpTrailStartATRMult | 0.5 | Trail Start = ATR × this - EARLY (0.3,0.1,2.0) |
| InpTrailStepATRMult | 0.2 | Trail Step = ATR × this - TIGHT (0.1,0.1,1.0) |
| InpSpreadMaxMultiplier | 2.5 | Max Spread = Avg × this (1.5,0.5,5.0) |
| InpPartialClose | true | Partial Close at 1:1 |
| InpPartialClosePercent | 50.0 | Partial Close % (30.0,10.0,80.0) |
| InpTrailingStop | true | Enable Trailing Stop |
| InpMaxDailyLoss | 10.0 | Max Daily Loss % - CIRCUIT BREAKER (5.0,1.0,20.0) |
| InpMaxDrawdown | 20.0 | Max Drawdown % - STOP TRADING (10.0,5.0,30.0) |
| InpMaxConsecutiveLosses | 5 | Max Consecutive Losses (3,2,10) |
| InpLossReduction | 0.5 | Lot Reduction After Losses (0.3,0.1,0.8) |
| InpMagicNumber | 22212075 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_12075" | Trade Comment |
| InpEnableDashboard | true | Enable Dashboard |
| InpDebugMode | false | Debug Mode (verbose logging) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12075 MultiSymbolPortfolioEA — Multi-symbol pyramiding trend rider with Hull MA, full 12-layer stack."
//--- Includes
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\SymbolInfo.mqh>
//+------------------------------------------------------------------+
//| INPUT PARAMETERS |
//+------------------------------------------------------------------+
//--- Multi-Symbol Portfolio
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)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_TIMEFRAMES g_InpSRHigherTF = PERIOD_H1;
ENUM_APPLIED_PRICE g_InpHullPrice = PRICE_CLOSE;
input group "=== Symbol Selection ==="
input bool InpTradeXAUUSDm = true; // Trade XAUUSDm (Gold)
input bool InpTradeXAGUSDm = true; // Trade XAGUSDm (Silver)
input bool InpTradeUSDJPYm = true; // Trade USDJPYm
input bool InpTradeEURUSDm = true; // Trade EURUSDm
input bool InpTradeGBPUSDm = true; // Trade GBPUSDm
input bool InpTradeAUDUSDm = true; // Trade AUDUSDm
input bool InpTradeEURJPYm = true; // Trade EURJPYm
input bool InpTradeGBPJPYm = true; // Trade GBPJPYm
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية أخرى
Pipsgrowth EX01007 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01007 Adaptive — Adaptive signal scorer EA combining EMA crossover, RSI, Heiken Ashi, Bollinger Bands, ATR and volume spike detection int. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX01019 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01019 Adaptive — Self-adaptive market regime EA that auto-detects trending, ranging, volatile, quiet and breakout conditions. Switches be. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX15029 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX15029 SMC-OrderBlock — Smart Money Concepts breakout EA — detects order blocks, CHOCH and liquidity sweeps using EMA cross + structure break, A. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.