Pipsgrowth EX12070 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX12070 MultiIndicatorConfluence — Production-ready multi-indicator EA using Ichimoku, MACD, RSI across timeframes with confluence entry logic, ATR SL/TP, . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 12070 هو الإصدار الإنتاجي الكامل من عائلة MultiIndicatorConfluence — محرك تلاقي يضم 131 مُدخلاً ويجمع ثلاث غيوم إيشيموكو مستقلة وثلاث موجات MACD وثلاث موجات RSI عبر أُطر زمنية قابلة للضبط، ولا يسمح بفتح أي صفقة حتى تتفق كلها على قرار موحَّد. صُمِّم للمتداول الذي يريد رسمًا بيانيًا واحدًا وقرارًا واحدًا، لكنه يريد في الوقت نفسه مرونة المحلّل في وضع إيشيموكو سريع أمام MACD بطيء أمام RSI متوسط والسماح للنظام بالتسوية بينهم. الإعداد الافتراضي هو XAUUSD على الإطار M5 برصيد يبدأ من 100 دولار، لكن الرمز والأطر الزمنية لكل مؤشر وطريقة تحديد حجم اللوت وقاعدة التصويت على الدخول وقاعدة التصويت على التأكيد ووقف التعادل والقفل الديناميكي للربح وسقف الانخفاض وحماية الخسائر المتتالية جميعها مُدخلات يمكنك تجاوزها بلا استثناء.
منطق الدخول مبنيّ على طبقتين من التصويت. الطبقة الأولى، الإشارات، تنتج عن منطق التقاطع لكل مؤشر مُفعَّل: يُسجِّل إيشيموكو إشارة شراء عندما تتقاطع Tenkan-sen فوق Kijun-sen على الشمعة 1 (تقاطع طازج)، ويُسجِّل MACD إشارة شراء عندما يتقاطع خطه الرئيسي فوق خط الإشارة على الشمعة 1، ويُسجِّل RSI إشارة شراء عندما يخرج من منطقة التشبع البيعي إلى الأعلى على الشمعة 1. الطبقة الثانية، التأكيدات، تنتج عن قراءة نفس المؤشرات في صيغة حالة: يؤكِّد إيشيموكو الشراء عندما يكون إغلاق الشمعة 1 فوق السحابة (أعلى Senkou Span A وB)، ويؤكِّد MACD الشراء عندما يكون خطه الرئيسي فوق الصفر على الشمعة 1، ويؤكِّد RSI الشراء عندما يكون فوق 50 على الشمعة 1. تُجمَع الطبقتان لكل مؤشر ثم تُمرَّران عبر مفتاحين مستقلين: EntryMethod (افتراضي ENTRY_ALL_ENABLED، يطلب موافقة كل المؤشرات المُفعَّلة على الإشارة) وConfirmationMethod (افتراضي CONFIRM_ALL_ENABLED، يطلب تأييد كل المؤشرات المُفعَّلة). هذا المزيج هو ما تختبره ShouldOpenBuy() وShouldOpenSell() قبل إرسال أي أمر، لذا في الإعداد الافتراضي لا يُفتح أي مركز حتى يكون كل إيشيموكو وكل MACD وكل RSI في الوقت نفسه يتقاطع ويؤكِّد في الاتجاه ذاته.
عدد المؤشرات ليس ثابتًا. كل سحابة من سحب إيشيموكو الثلاثة وكل MACD وكل RSI له علم Enable خاص به ومُدخل إطار زمني مستقل (1=M1، 2=M5، 3=M15، 4=M30، 5=H1، 6=H4، 7=D1)، فيمكنك تشغيل إيشيموكو بطيء 26-52 على H4 أمام MACD سريع 12-26-9 على H1 وأمام RSI 14 فترة على M30 من داخل EA واحد. الافتراضات هي: إيشيموكو 9-26-52 على H1 (TF=8 يطابق H1)، MACD 12-26-9 على H4 (TF=6)، RSI 14 فترة على H4 (TF=6)، وATR(14) على إطار الرمز (TF=0). دالة GetEnabledIndicatorCount() ترجع عدد أعلام EnableX الفعّال، وهذا العدد هو المقام الذي تقارن به ENTRY_ALL_ENABLED وCONFIRM_ALL_ENABLED — فشدّة النظام تتناسب طرديًا مع عدد المؤشرات التي تُفعِّلها. المتداول الذي يُفعِّل مؤشرين فقط ويستعمل ENTRY_MIN_REQUIRED = 1 وCONFIRM_ANY_CONFIRMATION سيرى نظامًا أكثر تساهلًا بكثير من الإعداد الأصلي.
وقف الخسارة وجني الأرباح كلاهما مرتبط بالتذبذب ولكلٍّ منهما مسار احتياطي. المسار الأساسي هو وقف ATR: تقرأ CalculateStopLoss() وCalculateTakeProfit() قيمة ATR(14) وتضربها في ATR_MultiplierSL (افتراضي 1.2) للوقف وفي ATR_MultiplierTP (افتراضي 1.5) للجني، فيكون R:R الافتراضي عند استخدام ATR هو 1:1.25. المسار الاحتياطي هو HardSL_Points = 120 وHardTP_Points = 180 ويُستخدم فقط عندما يتعذَّر قراءة ATR، وهو يعطي نسبة 1:1.5. هناك طبقة ثالثة: عندما يكون كل من وقف ATR والقفل الديناميكي للربح نشطين، فإن تعداد SLResolve (SL_SYSTEM_DECIDE، SL_USE_ATR، SL_USE_DYNAMIC_LOCK) يقرر أيهما يُطبَّق على كل تذكرة. تحديد حجم اللوت ثلاثي أيضًا: LOT_FIXED (افتراضي 0.10 لوت)، أو LOT_PER_BALANCE (اللوت = الرصيد / 2000)، أو LOT_RISK_PERCENTAGE (1.0% من الإكويتي مقسومة على مسافة الوقف المحسوبة من ATR في نموذج وسيط من خمس خانات).
بعد فتح الصفقة، تستدعي ManagePositions() على كل تيك. أول ما تستدعيه CheckBreakeven(): عندما يتحرك السعر 30 نقطة في الربح، يُرفع وقف الخسارة إلى سعر الدخول مضافًا إليه 5 نقاط (أو إلى سعر الدخول بالضبط إذا كان BreakevenLockPoints = 0). ثم تستدعي CheckDynamicProfitLock(): عندما يتجاوز الربح العائم LockProfitEvery_X_Dollars (2 دولار افتراضيًا)، يُنقل وقف الخسارة ليقفل كل الربح ماعدا LockMinusBuffer (1 دولار افتراضيًا) من المسافة الحالية بين السعر وسعر الدخول. النتيجة أن الصفقة بعد تعويم بسيط تصبح مستحيلة الإغلاق بخسارة. CheckOppositeSignalClosure() هي طبقة الإدارة الثالثة: إذا أنتج تحليل جديد للمؤشرات إشارة معاكسة تستوفي شروط ShouldOpenBuy/ShouldOpenSell، يُغلق المركز عبر TryClose_EX12070. كل مسارات التعديل والإغلاق تمر عبر غلاف إعادة المحاولة ثلاث مرات الذي يلتقط TRADE_RETCODE_REQUOTE و_TIMEOUT و_PRICE_OFF و_PRICE_CHANGED بسكون 100–200 مللي ثانية بين المحاولات — حل وسط متعمَّد بين السرعة والموثوقية في تيارات الذهب السريعة.
طبقة إدارة المخاطر تتضمن ثلاثة حراس مستقلين. تقارن CheckDrawdownProtection() بين الإكويتي الحالي والإكويتي المسجَّل في OnInit؛ عندما يتجاوز الانخفاض MaxDrawdownPercent (10% افتراضيًا) وكان DrawdownStopTrading مفعَّلًا، يتوقف الـ EA عن فتح صفقات جديدة، وإذا كان DrawdownCloseAll مفعَّلًا، يُصفِّي أيضًا كل المراكز عبر CloseAllPositions(). إذا تجاوز الانخفاض 50% من السقف وكان DrawdownReduceLots مفعَّلًا، تضرب CalculateLotSize() حجم اللوت التالي في DrawdownLotReduction (0.5 افتراضيًا) فتُنصَف المخاطرة قبل بلوغ السقف. تراقب CheckConsecutiveLossProtection() رد نداء OnTradeTransaction: بعد MaxConsecutiveLosses صفقات خاسرة (3 افتراضيًا)، يضبط الـ EA pauseUntil على الآن + LossProtection_PauseMinutes * 60 ويرفض الدخول طوال تلك المدة. يوجد أيضًا مسار تعافٍ قابل للضبط — LossProtection_ReduceLotSize يُنصِف حجم اللوت التالي لكل خسارة بعد LotReduction_AfterLosses (2)، وLossProtection_IncreaseSL يوسِّع الوقف التالي بمعامل SL_Increase_Factor (1.5x) لكل خسارة، بسقف SL_Increase_MaxMultiplier (2.0x). كلاهما مُعطَّل افتراضيًا لأن الـ EA يفترض أن السوق في وضع اتجاه على الإعداد الأصلي؛ تشغيلهما هو المسار المحافظ.
ثلاث نوافذ جلسات تضع بوابة على طريق الدخول، تتحكم فيها مجموعة === Trading Sessions ===. الإعداد الافتراضي يُعطِّل فلتر الجلسات (EnableSessionFilter = false)، فيتداول الـ EA على مدار الساعة، لكن التوصيل جاهز لما يصل إلى ثلاث نوافذ مستقلة. الجلسة 1 مضبوطة مسبقًا على 08:00–17:00 (جلسة لندن + نيويورك النقدية على وسيط بتوقيت GMT+0/+2)، والجلسة 2 على 18:00–23:59 (بعد ظهر نيويورك)، والجلسة 3 على 00:00–07:59 (آسيا). تتحقق IsWithinTradingSession() من كل جلسة بالترتيب، والجلسة التي تتجاوز منتصف الليل تُعامَل كنافذة ليلية — ولذلك تعمل نافذة 22:00–06:00 أيضًا دون تعديل في الكود. يُضيف MinBarsBetweenTrades = 1 وOneTradePerSignal = true خانقًا ثانيًا: دخول واحد لكل شمعة، وفاصل شمعة واحدة على الأقل بين الدخولين، ما يمنع نفس الإشارة من إعادة الإطلاق على كل تيك من شمعة الخمس دقائق.
البصمة على الرسم البياني صغيرة بقصد التصميم: ShowIndicatorsOnChart = true يرسم كل سحب إيشيموكو وموجات MACD ولوحات RSI المُفعَّلة، وShowOrderExecutionLines = true يضع خطًا عموديًا منقَّطًا عند كل دخول شراء (أزرق) ودخول بيع (أحمر). يُبنى تعليق الصفقة من InpTradeComment + PresetNumber + الاتجاه، فيمكن البحث في سجل الباك تيست باسم الـ EA. طبقة العرض هي الشيء الوحيد الذي يستهلك وحدة المعالجة المركزية — VerboseLogging وDebugSignalDetails كلاهما معطَّل افتراضيًا ويُفضَّل إبقاؤهما معطَّلين في التشغيل الحقيقي لأنهما يطبعان على كل شمعة مؤكدة. EvaluateOnNewBar = true هو مفتاح الأداء الآخر: يقصر طريق OnTick() على ما لم تنتهِ الشمعة الحالية بعد، ما يعني على M5 أن التحليل يعمل 12 مرة في الساعة بدل آلاف المرات في الدقيقة. مع تفعيل المؤشرات الثلاثة لكل فئة، يحتفظ الـ EA بعشر مقابض مؤشر أصلية (من ichimoku1_handle إلى ichimoku3_handle، ومن macd1_handle إلى macd3_handle، ومن rsi1_handle إلى rsi3_handle، إضافة إلى atr_handle)؛ وتعطيل الفئات التي لا تحتاجها هو أكبر توفير يمكنك تحقيقه في وحدة المعالجة المركزية على هذا الإصدار.
عمليًا، يكافئ هذا الـ EA المستخدم الذي يُدخل مُدخلاته ببطء أكثر من المستخدم السريع. الإعداد الافتراضي — عشرة مؤشرات كلها مفعَّلة، دخول الكل، تأكيد الكل، تعادل عند +30، قفل عند +2 دولار، سقف 10% — نظام عالي الاقتناع وقليل الصفقات. تقليص المُدخلات إلى إيشيموكوين وMACD واحد على H1، والتحويل إلى ENTRY_MIN_REQUIRED = 2 وCONFIRM_MIN_REQUIRED = 1، وتشغيل LossProtection_RestrictTrading = true ينتج EA مختلفًا تمامًا: صفقات أكثر، وقف أضيق، وتوقف بعد كل سلسلة خسائر. الوضعان صحيحان؛ ما ليس صحيحًا هو تغيير مقابض المؤشرات وعدم تغيير MinRequiredEntries ليتناسب معها.
تفاصيل الاستراتيجية
على كل شمعة جديدة من الإطار الزمني للرمز، تمر OnTick() على خمس بوابات بالترتيب: IsNewBar() وIsWithinTradingSession() وCheckDrawdownProtection() وCheckConsecutiveLossProtection() وManagePositions() — وبعدها فقط تستدعي AnalyzeSignals() التي تستطلع مقابض المؤشرات العشرة وتجمِّع التصويت لكل اتجاه. يُساهم كل إيشيموكو مُفعَّل بإشارة شراء/بيع واحدة من تقاطع Tenkan/Kijun وبتأكيد واحد من حالة السعر مقابل السحابة؛ ويُساهم كل MACD بإشارة من تقاطع الرئيسي/الإشارة وبتأكيد من إشارة خطه الرئيسي؛ ويُساهم كل RSI بإشارة من تقاطع التشبع البيعي/الشرائي وبتأكيد من كونه فوق/تحت 50. يُطبَّق مفتاحا ENUM_ENTRY_METHOD وENUM_CONFIRMATION_METHOD على الأعداد المجمَّعة داخل ShouldOpenBuy() وShouldOpenSell()، ولا تُستدعى CalculateLotSize() (التي تُدمج أي تخفيض لوط ناتج عن الانخفاض أو الخسائر المتتالية) وOpenBuyTrade/OpenSellTrade إلا بعد أن يجتاز الاختبارَين معًا.
يُفعَّل الدخول عندما تتفق طبقتا التصويت. طبقة الإشارات تحصي التقاطعات (تقاطع Tenkan فوق Kijun، تقاطع خط MACD الرئيسي فوق خط الإشارة، خروج RSI من منطقة التشبع البيعي إلى الأعلى)، وطبقة التأكيدات تحصي قراءات الحالة (السعر فوق سحابة إيشيموكو، خط MACD الرئيسي فوق الصفر، RSI فوق 50). مع EntryMethod = ENTRY_ALL_ENABLED وConfirmationMethod = CONFIRM_ALL_ENABLED (الافتراضات)، يجب على كل مؤشر مُفعَّل أن يُنتج تقاطعًا طازجًا وتأكيد حالة في الاتجاه ذاته على الشمعة 1 قبل إرسال تذكرة شراء أو بيع.
تعمل المخارج على ثلاث مسارات. تغلق CheckOppositeSignalClosure() المركز عندما يُنتج تحليل جديد للمؤشرات إشارة معاكسة تستوفي شروط ShouldOpenBuy/ShouldOpenSell. تُحرِّك CheckBreakeven() وقف الخسارة إلى سعر الدخول +5 نقاط بعد 30 نقطة ربح، وتُحرِّك CheckDynamicProfitLock() وقف الخسارة ليقفل كل الربح ماعدا 1 دولار من المسافة الحالية بين السعر والدخول بمجرد أن يتجاوز الربح العائم 2 دولار. جني الأرباح الثابت عند 180 نقطة أو جني الأرباح المعتمد على ATR بمعامل 1.5x يعمل كهدف على جانب الخادم.
وقف الخسارة هو ATR(14) × 1.2 من سعر الدخول (افتراضي)، مع مسار احتياطي ثابت عند 120 نقطة. مسار ATR نشط افتراضيًا ويُعاد تقييمه لكل صفقة. عندما يبلغ الربح العائم 30 نقطة، يُنقل وقف الخسارة إلى سعر الدخول +5 نقاط عبر CheckBreakeven()؛ وعندما يتجاوز الربح العائم 2 دولار، يُنقل وقف الخسارة ليقفل كل المسافة بين السعر والدخول ماعدا 1 دولار عبر CheckDynamicProfitLock().
جني الأرباح هو ATR(14) × 1.5 من سعر الدخول (افتراضي)، مع مسار احتياطي ثابت عند 180 نقطة (نسبة 1:1.5 مقابل الوقف الثابت 120 نقطة). يمكن تحويل النظام إلى مسار ATR فقط، أو مسار نقطي فقط، أو مسار يقرره النظام عبر enableATR_TP وHardTP_Points. بمجرد فتح الصفقة، يكون جني الأرباح الفعلي هو الهدف على جانب الخادم، ويقوم ترقيت وقف الخسارة وقفل الربح بحماية الأرباح غير المحققة.
الحد الأدنى للرصيد 100 دولار على وسيط ECN بفارق سعر منخفض، XAUUSD على M5، مع التصويت الافتراضي للمؤشرات العشرة كلها لأنظمة السوينج قليلة الصفقات. تتيح لك مُدخلات الإطار الزمني لكل مؤشر إعادة توجيه نفس الكود إلى تداول السوينج على H1/H4 على الأزواج الرئيسية (EURUSD وGBPUSD وUSDJPY) دون إعادة ترجمة — لكن عطِّل سحابتَي إيشيموكو وموجتَي MACD أولًا، لأن عبء المؤشرات العشر على M5 هو السبب الأرجح لبطء المعالج. للاستخدام على مدار الساعة، اترك EnableSessionFilter = false؛ للتركيز على جلستَي لندن + نيويورك النقديتين، اضبط Session1_Enable = true (08:00–17:00) وعطِّل الجلستين الأخريين.
منطق الاستراتيجية
Pipsgrowth EX12070 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212070
الإصدار: 2.00
الوصف:
Production-ready multi-indicator EA using Ichimoku, MACD, RSI across timeframes with confluence entry logic, ATR SL/TP, dynamic profit lock, breakeven and consecutive loss protection. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
InitializeIndicators()ReleaseIndicators()IsNewBar()IsWithinTradingSession()CheckDrawdownProtection()CheckConsecutiveLossProtection()AnalyzeIchimokuSignals()AnalyzeMACDSignals()AnalyzeRSISignals()ShouldOpenBuy()
// Pipsgrowth EX12070 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Production-ready multi-indicator EA using Ichimoku, MACD, RSI across timeframes with confluence entry logic, ATR SL/TP, dynamic profit lock, breakeven and consecutive loss protection. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| LotSizingMethod | LOT_FIXED | Lot sizing method |
| Lots | 0.1 | Fixed lot size (used when method = Fixed) |
| BalancePerLot | 2000.0 | Balance required per lot (used when method = Per Balance) |
| RiskPercent | 1.0 | Risk percentage (used when method = Risk Percentage) |
| MinLotSize | 0.01 | Minimum lot size (for Balance/Risk methods) |
| MaxLotSize | 10.0 | Maximum lot size (for Balance/Risk methods) |
| OneTradeOnly | true | Allow only one trade per symbol |
| MaxOpenTrades | 5 | Maximum allowed open trades |
| AllowOnlyProfitableAdditions | true | Only add positions when existing are profitable |
| MinProfitPerTradeToAdd | 5.0 | Minimum profit required per trade to add new position |
| MinBarsBetweenTrades | 1 | Minimum bars between new trades (0=no limit) |
| OneTradePerSignal | true | Only one trade per signal bar |
| AllowBuy | true | Allow BUY |
| AllowSell | true | Allow SELL |
| MagicNumber | 22212070 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_12070" | Trade Comment |
| AdditionalTradeCommentPrefix | "Add" | Additional trades prefix |
| PresetNumber | "1" | Preset number to add to trade comments |
| ShowOrderExecutionLines | true | Show vertical lines on order execution |
| ShowIndicatorsOnChart | true | Show indicators on chart |
| HardSL_Points | 120 | Hard stop loss in points |
| HardTP_Points | 180 | Hard take profit in points |
| enableATR_SL | true | Enable ATR-based stop loss |
| ATR_MultiplierSL | 1.2 | ATR multiplier for stop loss |
| enableATR_TP | true | Enable ATR-based take profit |
| ATR_MultiplierTP | 1.5 | ATR multiplier for take profit |
| SLResolve | SL_SYSTEM_DECIDE | Resolution when both ATR SL & Dynamic Lock Profit are active |
| EnableDynamicLockProfit | true | Enable dynamic profit locking |
| LockProfitEvery_X_Dollars | 2.0 | Lock profit at every X dollars |
| LockMinusBuffer | 1.0 | Buffer amount subtracted from locked profit |
| EnableBreakeven | true | Enable automatic breakeven |
| BreakevenActivatePoints | 30.0 | Points profit to activate breakeven |
| BreakevenLockPoints | 5.0 | Points above entry to set SL (0 = exact entry) |
| BreakevenOncePerTrade | true | Only move to breakeven once per trade |
| MaxDrawdownPercent | 10.0 | Maximum allowed drawdown percentage |
| EnableDrawdownProtection | true | Enable drawdown protection system |
| DrawdownStopTrading | true | Stop new trades when max drawdown reached |
| DrawdownCloseAll | false | Close all positions when max drawdown reached |
| DrawdownReduceLots | true | Reduce lot sizes as drawdown increases |
| DrawdownLotReduction | 0.5 | Lot reduction factor at 50% of max drawdown |
| DrawdownWarningPercent | 7.5 | Warning threshold (% of equity) |
| DrawdownAlertEnabled | true | Send alerts when drawdown limits reached |
| DrawdownUseBalance | false | Use balance instead of equity for drawdown calculation |
| MaxSlippage | 10 | Maximum allowed slippage in points |
| CloseOnOppositeSignal | true | Close positions on opposite signal |
| EnableConsecutiveLossProtection | false | Enable consecutive loss protection system |
| MaxConsecutiveLosses | 3 | Maximum consecutive losses allowed |
| LossProtection_PauseMinutes | 60 | Trading pause duration (minutes) after max losses |
| LossProtection_ReduceLotSize | true | Reduce lot size after consecutive losses |
| LotReduction_Factor | 0.5 | Lot reduction factor (0.1-1.0, e.g., 0.5 = 50% reduction) |
| LotReduction_AfterLosses | 2 | Start reducing lot size after X consecutive losses |
| LotReduction_MinSize | 0.01 | Minimum lot size when reducing |
| LossProtection_IncreaseSL | false | Increase stop loss after consecutive losses |
| SL_Increase_Factor | 1.5 | SL increase factor (e.g., 1.5 = 50% larger SL) |
| SL_Increase_AfterLosses | 2 | Start increasing SL after X consecutive losses |
| SL_Increase_MaxMultiplier | 2.0 | Maximum SL multiplier |
| LossProtection_RestrictTrading | true | Restrict trading to higher probability setups |
| LossProtection_OnlyTrendSignals | false | Only take trend-following signals after losses |
| LossProtection_RequireConfirmation | true | Require signal confirmation after consecutive losses |
| LossProtection_ResetAfterWin | 1 | Reset consecutive loss count after X wins |
| LossProtection_ShowWarnings | true | Display consecutive loss warnings on chart |
| EnableSessionFilter | false | Enable trading session filtering |
| Session1_Enable | true | Enable Session 1 |
| Session1_StartHour | 8 | Session 1: Start Hour (0-23) |
| Session1_StartMinute | 0 | Session 1: Start Minute (0-59) |
| Session1_EndHour | 17 | Session 1: End Hour (0-23) |
| Session1_EndMinute | 0 | Session 1: End Minute (0-59) |
| Session2_Enable | false | Enable Session 2 |
| Session2_StartHour | 18 | Session 2: Start Hour (0-23) |
| Session2_StartMinute | 0 | Session 2: Start Minute (0-59) |
| Session2_EndHour | 23 | Session 2: End Hour (0-23) |
| Session2_EndMinute | 59 | Session 2: End Minute (0-59) |
| Session3_Enable | false | Enable Session 3 |
| Session3_StartHour | 0 | Session 3: Start Hour (0-23) |
| Session3_StartMinute | 0 | Session 3: Start Minute (0-59) |
| Session3_EndHour | 7 | Session 3: End Hour (0-23) |
| Session3_EndMinute | 59 | Session 3: End Minute (0-59) |
| EntryMethod | ENTRY_ALL_ENABLED | Entry signal requirement method |
| MinRequiredEntries | 2 | Minimum entries required (when using ENTRY_MIN_REQUIRED) |
| ConfirmationMethod | CONFIRM_ALL_ENABLED | Confirmation filter requirement method |
| MinRequiredConfirmations | 1 | Minimum confirmations required (when using CONFIRM_MIN_REQUIRED) |
| EvaluateOnNewBar | true | Only evaluate new entries on new bar (FASTER for backtesting) |
| VerboseLogging | false | Detailed print logs (DISABLE for faster backtesting) |
| DebugSignalDetails | false | Extra debug verbosity (DISABLE for faster backtesting) |
| EnableIchimoku1 | true | Enable Ichimoku 1 |
| Ichimoku1_TF | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Ichimoku 1 Timeframe |
| Ichimoku1_Tenkan | 9 | Ichimoku 1 Tenkan-sen |
| Ichimoku1_Kijun | 26 | Ichimoku 1 Kijun-sen |
| Ichimoku1_Senkou | 52 | Ichimoku 1 Senkou Span B |
| EnableIchimoku2 | true | Enable Ichimoku 2 |
| Ichimoku2_TF | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Ichimoku 2 Timeframe |
| Ichimoku2_Tenkan | 9 | Ichimoku 2 Tenkan-sen |
| Ichimoku2_Kijun | 26 | Ichimoku 2 Kijun-sen |
| Ichimoku2_Senkou | 52 | Ichimoku 2 Senkou Span B |
| EnableIchimoku3 | true | Enable Ichimoku 3 |
| Ichimoku3_TF | 10 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Ichimoku 3 Timeframe |
| Ichimoku3_Tenkan | 9 | Ichimoku 3 Tenkan-sen |
| Ichimoku3_Kijun | 26 | Ichimoku 3 Kijun-sen |
| Ichimoku3_Senkou | 52 | Ichimoku 3 Senkou Span B |
| EnableMACD1 | true | Enable MACD 1 |
| MACD1_TF | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // MACD 1 Timeframe |
| MACD1_FastEMA | 12 | MACD 1 Fast EMA |
| MACD1_SlowEMA | 26 | MACD 1 Slow EMA |
| MACD1_SignalSMA | 9 | MACD 1 Signal SMA |
| EnableMACD2 | true | Enable MACD 2 |
| MACD2_TF | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // MACD 2 Timeframe |
| MACD2_FastEMA | 12 | MACD 2 Fast EMA |
| MACD2_SlowEMA | 26 | MACD 2 Slow EMA |
| MACD2_SignalSMA | 9 | MACD 2 Signal SMA |
| EnableMACD3 | true | Enable MACD 3 |
| MACD3_TF | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // MACD 3 Timeframe |
| MACD3_FastEMA | 12 | MACD 3 Fast EMA |
| MACD3_SlowEMA | 26 | MACD 3 Slow EMA |
| MACD3_SignalSMA | 9 | MACD 3 Signal SMA |
| EnableRSI1 | true | Enable RSI 1 |
| RSI1_TF | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // RSI 1 Timeframe |
| RSI1_Period | 14 | RSI 1 Period |
| RSI1_Overbought | 70.0 | RSI 1 Overbought level |
| RSI1_Oversold | 30.0 | RSI 1 Oversold level |
| EnableRSI2 | true | Enable RSI 2 |
| RSI2_TF | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // RSI 2 Timeframe |
| RSI2_Period | 14 | RSI 2 Period |
| RSI2_Overbought | 70.0 | RSI 2 Overbought level |
| RSI2_Oversold | 30.0 | RSI 2 Oversold level |
| EnableRSI3 | true | Enable RSI 3 |
| RSI3_TF | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // RSI 3 Timeframe |
| RSI3_Period | 14 | RSI 3 Period |
| RSI3_Overbought | 70.0 | RSI 3 Overbought level |
| RSI3_Oversold | 30.0 | RSI 3 Oversold level |
| ATR_TF | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // ATR Timeframe |
| ATR_Period | 14 | ATR Period |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12070 Multi_Indicator_EA — Multi-indicator confluence (Ichimoku+MACD+RSI), full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Indicators\Indicators.mqh>
CTrade trade;
// Custom enumerations
enum ENUM_LOT_SIZING_METHOD
{
LOT_FIXED, // Fixed lot size
LOT_PER_BALANCE, // Lot size based on balance
LOT_RISK_PERCENTAGE // Risk percentage based
};
enum ENUM_SL_RESOLVE
{
SL_SYSTEM_DECIDE, // System decides between ATR SL and Dynamic Lock
SL_USE_ATR, // Always use ATR SL
SL_USE_DYNAMIC_LOCK // Always use Dynamic Lock Profit
};
enum ENUM_ENTRY_METHOD
{
ENTRY_ALL_ENABLED, // All indicators must signal
ENTRY_MIN_REQUIRED, // Minimum required signals
ENTRY_ANY_SIGNAL // Any single signal triggers
};
enum ENUM_CONFIRMATION_METHOD
{
CONFIRM_ALL_ENABLED, // All confirmations required
CONFIRM_MIN_REQUIRED, // Minimum confirmations required
CONFIRM_ANY_CONFIRMATION // Any confirmation triggers
};
// ================= User Inputs ===============================
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_TIMEFRAMES g_Ichimoku1_TF = PERIOD_H1;
ENUM_TIMEFRAMES g_Ichimoku2_TF = PERIOD_H1;
ENUM_TIMEFRAMES g_Ichimoku3_TF = PERIOD_H1;
ENUM_TIMEFRAMES g_MACD1_TF = PERIOD_H1;
ENUM_TIMEFRAMES g_MACD2_TF = PERIOD_H1;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.