Pipsgrowth EX12013 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX12013 MultiIndicatorConfluence — AI-enhanced multi-indicator confluence framework EA with signal generation, multi-g_Timeframe confirmation, session mana. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX12013 يُسلَّم كإطار تهيئة لنظام توافق متعدد المؤشرات معزز بالذكاء الاصطناعي، وليس كروبوت تداول جاهز. قراءة ملف .mq5 المكون من 3,045 سطرًا من البداية إلى النهاية تكشف عن إكسبرت يُهيِّئ مقابض المؤشرات في OnInit() ويعرض 196 معامل إدخال موزعة على 41 مجموعة مُسماة، لكنه يُسلِّم OnTick() وOnTrade() وOnTradeTransaction() وOnTester() وOnChartEvent() وOnBookEvent() وخطافات دورة حياة OnTester* الثلاثة كجسم دالة فارغ. ما يحتويه الكود فعلًا هو دفتر عمل المتداول: منطق إنشاء مقابض المؤشرات، ومدير منطقة الزمن متعدد الجلسات، ولوحات معاملات لكل طريقة، وبوابة أمان قبل الصفقة، وثلاث مغلفات إعادة محاولة CTrade مُسماة — لكن توليفة الإشارة وإرسال الدخول وحلقة إدارة المركز ومنطق الخروج متروكة عمدًا للمشغِّل ليُكمل توصيلها. الطريقة الصريحة لتوصيف هذا الإكسبرت هي أنه سقالة بحثية لمطوِّر يريد قشرة معاملات مرسومة بالفعل، لا نظام جاهز للتشغيل يفتح صفقات على الشارت.
دالة OnInit() هي أكثر مسارات الكود نشاطًا في المصدر. تستدعي جدولا تعيين — MapTimeframeInt() لتحويل مدخلات الأعداد الصحيحة من 1 إلى 7 إلى ثوابت إطار MQL (M1 وM5 وM15 وM30 وH1 وH4 وD1) وMapAppliedPriceInt() لتحويل 1–7 إلى ثوابت السعر المطبَّق (إغلاق، افتتاح، أعلى، أدنى، متوسط، نموذجي، مرجح) — وتخزن النتائج في مجموعة متغيرات عالمية من نوع ENUM_TIMEFRAMES / ENUM_APPLIED_PRICE: g_SignalTimeframe وg_ConfirmationTimeframe وg_MTF_TimeFrame وg_Timeframe وg_HTF_Volatility وسبعة خانات للسعر المطبَّق. تفرض بعد ذلك قيد ترتيب: g_ConfirmationTimeframe يجب ألا يقل عن g_SignalTimeframe، وإن لم يكن كذلك تُعيد OnInit() القيمة INIT_PARAMETERS_INCORRECT. تُشغِّل ValidateAllSessions() نوافذ الجلسات الأربع عبر سلسلة التحقق، وترفض الدالة البدء إذا لم تكن أي جلسة مُفعَّلة عند تشغيل UseSessionFilter. تحسب الدالة بعد ذلك طرق الدخول المُفعَّلة وطرق التأكيد المُفعَّلة، وترفض البدء عند عدم تفعيل أي طريقة دخول، وترفض عند تجاوز RequiredConfirmations للعدد المُفعَّل، وترفض عند خروج GB_MinDistance عن النطاق [0.05, 1.0]. فقط بعد اجتياز كل بوابة تحقق تُنشئ مقابض المؤشرات للميزات التي فعَّلها المشغِّل.
سطح الدخول خمس طرق، لكل منها مجموعة معاملات خاصة. Use_EmaAtrBands (الوحيدة الافتراضية بـ true) تحسب حزمة حول EMA بمظروف ATR: EmaAtr_EmaPeriod افتراضي 21، وEmaAtr_AtrMultiplier افتراضي 2.0، وEmaAtr_EmaPrice افتراضي الإغلاق. Use_BollingerBands وUse_KeltnerChannel وUse_GaussianBands وUse_AdaptiveRsi مُعطَّلة افتراضيًا ولكل منها مدخلات الفترة والانحراف ومصدر السعر الخاصة بها. يستخدم العنصر النائب لقناة كنلتنر مقبض iMA لأن مؤشر KC المخصص غير مُضمَّم، ويستخدم العنصر النائب لحزم غاوس مقبض iBands للسبب نفسه — مقايضة بين قابلية بناء الكود وأصالة سلوك الإشارة. إذا فعَّل المشغِّل لا شيء من طرق الدخول، تطبع OnInit() "ERROR: No entry methods are enabled" وترفض البدء. الكتلة في OnInit() التي تُنشئ مقابض طرق الدخول هي جزء الكود الذي سيُغذي أي جسم OnTick() مستقبلي — بدون ذلك الجسم لا تُقرأ هذه المقابض.
سطح التأكيد ست طرق، كلها افتراضية false. Use_MtfConfluence تقرأ EMA إطار زمني أعلى عند MTF_TimeFrame (افتراضي المدخل 9 الذي يسقطه التعيين إلى H1) مع MTF_EmaPeriod 50. Use_MarketStructure تراقب نقاط القمة والقاع، وUse_MomentumDivergence تمسح RSI بـ MD_Period 14 على MD_LookbackBars 20 شمعة لاكتشاف أنماط التباعد، وUse_VolumeProfile تقرأ ملف حجم VP_Period 50 على VOLUME_TICK، وUse_HeikenAshi تستخدم عنصر MA نائب مع HA_SmoothingPeriod 5 وHA_SmoothingMethod MODE_SMA، وUse_AdaptiveAdx تستخدم مقبض iADX(14) مع ADX_ThresholdStrong 25 وADX_ThresholdWeak 20. RequiredConfirmations افتراضي 1 وترفض OnInit() أي قيمة أعلى من عدد طرق التأكيد المُفعَّلة. سياستا تصويت تحكمان توليفة الإشارة النهائية: EnableAllMethodsAgreePercentage ينقل من «أي طريقة توافق» إلى نموذج «نسبة من الطرق يجب أن توافق»، مع MethodsAgreePercentage افتراضي 100. نظام تخزين مؤقت عبر SignalPersistenceBars وConfirmationPersistenceBars (كلاهما افتراضي 5) يُبقي الإشارة أو التأكيد نشطًا لذلك العدد من الشموع قبل انتهاء صلاحيته، وInvalidateOnOpposite وConfirmationInvalidateOnOpposite (كلاهما true) يفرغان المخزن فور صدور الاتجاه المعاكس.
تكامل الذكاء الاصطناعي/التعلم الآلي هو أكثر الكتل طموحًا في المدخلات وأقلها تنفيذًا. ستة مفاتيح موجودة في الكود: EnableAI (بوابة AI عامة، MinAIConfidence 0.7)، وEnableChartPatternAI مع ChartPatternModelPath يشير إلى Models`chart_pattern_model.onnx، وEnableNewsAIمعNewsSentimentModelPath يشير إلى Models\news_sentiment_model.onnx، وEnableMarketRegimeAIمعMarketRegimeModelPath يشير إلى Models\market_regime_model.onnx، وEnablePythonBridgeمعPythonExecutablePath ومهلة 5000ms، وEnableCloudAIمعCloudAPIKeyومحدد معدل. الستة افتراضيةfalse، وقسم AI بالكامل في الكود ملفوف في تعليق كتلي (افتتاح /على السطر 2067 وإغلاق/على السطر 2402)، ولا يُنشأ مُحمِّل نموذج فيOnInit(). مجموعة تكامل AI ثانية تغطي AI_PriceSource وAI_IncludeVolume وAI_MinDataPoints وAI_CacheTimeMinutes موجودة أيضًا داخل الكتلة المُعلَّقة. الإطار يحجز أسماء المدخلات وأعراف مسار الملف ودلالات المعاملات، لكن التوصيل مُتروك لبناء مستقبلي يُحمِّل نماذج ONNX` أو يُشغِّل عملية Python فرعية.
المخاطرة وإدارة الصفقات تُضبط عبر مكدس مفاتيح. وقف الخسارة يعمل بطبقتين: وقف قائم على ATR عند 1.2× قيمة ATR لـ 14 فترة (EnableATRStopLoss = true، EnableATRTakeProfit = false) ووقف أمان صارم عند 120 SL / 300 TP بصرف النظر عن حركة السعر (EnableHardStopLoss = true، EnableHardTakeProfit = true). التتبع مُفعَّل افتراضيًا مع تفعيل عند 20 نقطة وخطوة 10 نقطة ومسافة 15 نقطة. التعادل مُفعَّل مع عتبة 25 نقطة وحاجز 2 نقطة. حماية السحب تُحدد سحب الحساب عند 50% (EnableMaxDrawdownProtection = true) والخسارة اليومية عند $300 (EnableMaxDailyLoseProtection = true). قفل الربح الديناميكي يتدرج بخطوات $2 مع حاجز $1 (ProfitLockMode = PROFIT_LOCK_DOLLARS) ويُحرِّك الوقف لقفل الربح الجاري. إيقاف الخسائر المتتالية ينشط بعد 3 خسائر ويُجمِّد الإدخالات الجديدة لـ 300 ثانية، مع مضاعف تكيُّفي اختياري (1.5× لكل خسارة) وسقف صارم 1800 ثانية. EnableMarginSafety عند 50% يحظر الأوامر الجديدة عند سقوط الهامش دون نصف الحر.
إدارة الجلسات أكثر الأنظمة الفرعية اكتمالًا خارج الدوال الفارغة. ValidateSessionTime() وValidateAllSessions() تحلِّل نوافذ الجلسات الأربع مقابل الوضع الزمني المُختار (Broker / Local / UTC / GMT)، وIsWithinSession() وIsAnySessionActive() تُجيبان استعلامات وقت التشغيل. TimeStringToMinutes() يرفض أي شيء ليس بصيغة HH:MM ويحذِّر من الجلسات الليلية ما لم تكن آسيوية أو مخصصة. التهيئة الافتراضية تُفعِّل الجلسة 1 (الأوروبية، 08:00 إلى 16:00 بتوقيت الوسيط) وتترك الجلسات 2 و3 و4 مُعطَّلة — لذا يكون الإطار في حالته المُسلَّمة قشرة مقصورة على لندن. مقابض اختيارية مثل RequireSessionOverlap وBlockSessionOverlap وPreferHighVolumeSession وSessionBufferMinutes وTransitionBufferMinutes كلها على false / 0 ولا تصبح تشغيلية إلا إذا اختار المشغِّل الدخول.
بوابة الأمان قبل الصفقة تجمع سقف سبريد 30 نقطة (MaxSpread_Points) مع وضع نسبي اختياري قائم على ATR (UseSpreadMultiplier) ووضع يقارن الحالي بمتوسط تاريخي (MaxSpreadRatio = 2.0) على مدى SpreadHistoryPeriod 100. UseSlippageFilter يحد انزلاق التنفيذ بـ 10 نقاط. UseVolatilityFilter يشترط بقاء ATR في النطاق [0.03, 1.0] ويضيف مقابض التذبذب النسبي واتجاه ATR والمقارنة متعددة الأطر الزمنية HTF. MaxOpenTrades = 5 يحد التعرض المتزامن، وOneTradeOnly = false يسمح بالهرمنة، وRequireEachPositionToBeInProfit = true مع MinProfitPerTradeToAdd = 5 يعني أن الإدخالات الجديدة لا تتراكم إلا على مراكز خضراء. UseTradeConfirmation = true يجلس فوقها كثالث تحقق قبل الإطلاق. invalidateWithOppositeSignal = true يُجبر على تفريغ المخزن عند إشارة معاكسة.
تنفيذ الأوامر يمر عبر ثلاث مغلفات مُسماة يمكن لطبقة الإدارة استدعاؤها: TryClose_EX12013 وTryClosePartial_EX12013 وTryModify_EX12013. كل واحدة تُشغِّل حلقة ثلاث محاولات مع سكون 200ms بين المحاولات على REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED لمسارات الإغلاق؛ مسار التعديل يُعيد المحاولة على REQUOTE / TIMEOUT فقط بسكون 100ms ولا يُعيد المحاولة عند تغير السعر. المغلفات موجودة في الكود لكنها لا تُستدعى من OnTick() في البناء الحالي — موجودة لكي يُمكن لطبقة إرسال مستقبلية إسقاطها دون إعادة تنفيذ عقد إعادة المحاولة. ملء الأمر والانزلاق لا يُتفاوض عليهما عبر SetTypeFillingBySymbol أو SetDeviationInPoints، وكلاهما غائب.
المستخدم المتوقع هو مطوِّر MetaTrader يريد قشرة معاملات مُنظَّمة جيدًا ومحرك جلسات وإطار مخاطر وبنية تصويت متعددة الطرق مرسومة بالفعل، ومستعد لكتابة جسم OnTick() الذي يستدعي طرق الدخول ويستطلع أصوات التأكيد ويُطبِّق قاعدة اتفاق الطرق ويُرسل الصفقات عبر مغلفات CTrade. لهذا المستخدم، يُوفِّر EX12013 وقت تركيب لوحات المعاملات وبوابة الأمان من الصفر. أما المتداول التجزئة الذي يتوقع نظامًا يعمل فورًا من الصندوق، فهذا الإكسبرت لن يفتح صفقات — الإطار سطح تهيئة لا عقل تداول، وقسم AI/ML محجوز لكن غير مُحمَّل.
تفاصيل الاستراتيجية
EX12013 قشرة تهيئة من 3,045 سطرًا و196 معامل إدخال موزعة على 41 مجموعة مُسماة، وجسم دالة OnTick() فيها فارغ في بناء الكود. تُشغِّل OnInit() مخططي MapTimeframeInt وMapAppliedPriceInt لتحويل مدخلات الأعداد الصحيحة 1–7 إلى ثوابت إطار MQL وثوابت السعر المطبَّق، وتفرض أن g_ConfirmationTimeframe >= g_SignalTimeframe، وتتحقق من نوافذ الجلسات الأربع عبر ValidateAllSessions وValidateSessionTime وIsWithinSession وIsAnySessionActive وTimeStringToMinutes، وترفض البدء عند عدم تفعيل أي طريقة دخول أو تجاوز RequiredConfirmations لعدد التأكيدات المُفعَّلة، ثم تُنشئ مقابض المؤشرات للطرق التي فعَّلها المشغِّل. تجمع بوابة الأمان قبل الصفقة سقف سبريد 30 نقطة، وسقف انزلاق 10 نقاط، ونطاق ATR [0.03, 1.0]، وأمان هامش 50%، وحد أقصى 5 صفقات مفتوحة، وسحب أقصى 50%، وسقف خسارة يومية $300، وإيقاف خسائر متتالية 3 مع احتجاز 300 ثانية. قسم تكامل AI/ML ملفوف في تعليق كتلي من السطر 2067 إلى السطر 2402 — EnableAI وEnableChartPatternAI وEnableNewsAI وEnableMarketRegimeAI وEnablePythonBridge وEnableCloudAI كلها افتراضية false ولا يُنشأ مُحمِّل نموذج. مغلفات CTrade الثلاث TryClose_EX12013 وTryClosePartial_EX12013 وTryModify_EX12013 تُعرِّف عقد إعادة محاولة ثلاثي لاستخدام مستقبلي لكنها لا تُستدعى من أي دالة دورة حياة في الكود الحالي.
جسم OnTick() للإكسبرت فارغ في بناء الكود، لذا يُترك إرسال الإشارة للمشغِّل ليكتبه. يُوصل الإطار مسبقًا إنشاء مقابض المؤشرات في OnInit() لأي مجموعة فرعية من خمس طرق دخول — Use_EmaAtrBands (افتراضي true، EMA 21 مع مظروف ATR 2.0× على الإغلاق)، إضافة إلى Use_BollingerBands وUse_KeltnerChannel وUse_GaussianBands وUse_AdaptiveRsi — وست طرق تأكيد (Use_MtfConfluence مع EMA 50 على إطار أعلى، ونقاط swing لـ Use_MarketStructure، وUse_MomentumDivergence مع RSI 14 على 20 شمعة، وUse_VolumeProfile بحجم شارت 50 فترة، وUse_HeikenAshi بـ SMA 5 فترات، وUse_AdaptiveAdx بعتبتي 25/20). تنطلق الدخول عند تحقق عدد RequiredConfirmations (افتراضي 1) من التأكيدات المُفعَّلة، محكومة إما باتفاق أي طريقة أو MethodsAgreePercentage (افتراضي 100) ومحتفظًا بها عبر مخازن الإشارة/التأكيد لـ 5 شموع مع إبطال الاتجاه المعاكس.
تمر المخارج عبر ثلاث مغلفات إعادة محاولة من CTrade — TryClose_EX12013 وTryClosePartial_EX12013 وTryModify_EX12013 — كل واحدة تُشغِّل حلقة ثلاث محاولات مع سكون 200ms على REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED (مسار التعديل يُعيد المحاولة على REQUOTE / TIMEOUT فقط بسكون 100ms). في بناء الكود المغلفات موجودة لكن لا تُستدعى من OnTick()، لذا يجب على المشغِّل توصيل قرار الخروج الفعلي (TP الصارم عند 300 نقطة، ووقف التتبع ببدء 20 نقطة وخطوة 10 ومسافة 15، وراتشت التعادل بعتبة 25 نقطة مع حاجز 2 نقطة، وقفل الربح الديناميكي كل $2 مع حاجز $1).
طبقتان: وقف قائم على ATR عند 1.2× قيمة ATR لـ 14 فترة (EnableATRStopLoss = true) ووقف أمان صارم عند 120 نقطة (EnableHardStopLoss = true)، مع راتشت التعادل ينطلق عند 25 نقطة ربح وحاجز 2 نقطة (UseBreakeven = true). يُضاف وقف التتبع 20/10/15 وقفل الربح الديناميكي ($2 خطوة، $1 حاجز) فور تحول الصفقة للأخضر.
جني الأرباح افتراضيًا TP الأمان الصارم عند 300 نقطة (EnableHardTakeProfit = true)، مع تعطيل جني الأرباح القائم على ATR (EnableATRTakeProfit = false). على الصفقات الخضراء يتولى وقف التتبع بمسافة 15 نقطة وقفل الربح الديناميكي كل $2 مع حاجز $1 إدارة الخروج، وTryClosePartial_EX12013 متاح للمخارج الجزئية.
الرصيد الابتدائي الموصى به $100 على XAUUSD M5 مع مدخل Lots الافتراضي 1.0 لوت وخط أساس ATR لـ 14 فترة، لكن EX12013 إطار تطوير لا نظام جاهز للتشغيل — يجب على المشغِّل كتابة جسم OnTick() الذي يستهلك أصوات الدخول والتأكيد ويُرسل الصفقات عبر مغلفات CTrade الثلاث، وإلغاء تعليق قسم AI/ML (السطور 2067–2402) فقط بعد تحميل نماذج ONNX المقابلة. شغِّل على وسيط ECN بسبريد منخفض لكي يبقى سقف السبريد 30 نقطة وسقف الانزلاق 10 نقطة غير مُلزِمَين، وابقَ في جلسة لندن الافتراضية (08:00–16:00 بتوقيت الوسيط) ما لم تُفعِّل نوافذ جلسات إضافية في المدخلات.
منطق الاستراتيجية
Pipsgrowth EX12013 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212013
الإصدار: 2.00
الوصف:
AI-enhanced multi-indicator confluence framework EA with signal generation, multi-g_Timeframe confirmation, session management, adaptive risk controls, profit-lock, drawdown protection and AI/ML integration hooks. Supports Bollinger, Keltner, Gaussian, RSI and EMA+ATR entry methods. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
TimeStringToMinutes()ValidateSessionTime()ValidateAllSessions()GetCurrentTimeByMode()GetSessionTimeModeText()IsWithinSession()IsAnySessionActive()ValidateIndicatorHandles()GetUninitReasonText()OnTrade()
// Pipsgrowth EX12013 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// AI-enhanced multi-indicator confluence framework EA with signal generation, multi-g_Timeframe confirmation, session management, adaptive risk controls, profit-lock, drawdown protection and AI/ML integration hooks. Supports Bollinger, Keltner, Gaussian, RSI and EMA+ATR entry methods. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| SignalTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for signal calculation |
| ConfirmationTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for confirmations (>= signal TF) |
| ATR_Period | 14 | ATR Period for all calculations (5-50) |
| GB_MinDistance | 0.1 | Minimum % distance from mean to trigger signal (0.05-1.0) |
| Use_MtfConfluence | false | Multi-g_Timeframe Confluence |
| Use_MarketStructure | false | Market Structure (Swing Points) |
| Use_MomentumDivergence | false | Momentum Divergence Filter |
| Use_VolumeProfile | false | Volume Profile/Delta |
| Use_HeikenAshi | false | Heiken Ashi Slope |
| Use_AdaptiveAdx | false | ADX with Adaptive Thresholds |
| RequiredConfirmations | 1 | Required confirmations (will validate against enabled methods) |
| MTF_TimeFrame | 9 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher Timeframe for MTF Confluence |
| MTF_EmaPeriod | 50 | EMA Period for MTF analysis (20-200) |
| MTF_EmaPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Price for MTF EMA |
| MD_Period | 14 | RSI Period for Divergence (5-50) |
| MD_LookbackBars | 20 | Lookback bars for divergence detection (10-100) |
| MD_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Price for divergence RSI |
| VP_Period | 50 | Volume Profile Period (20-200) |
| VP_VolumeType | VOLUME_TICK | Volume type for analysis |
| HA_SmoothingPeriod | 5 | Smoothing period for HA (1-20) |
| HA_SmoothingMethod | MODE_SMA | Smoothing method for HA |
| ADX_Period | 14 | ADX Period (5-50) |
| ADX_ThresholdStrong | 25.0 | ADX Strong Trend Threshold (15-50) |
| ADX_ThresholdWeak | 20.0 | ADX Weak Trend Threshold (10-30) |
| Use_EmaAtrBands | true | Enable EMA + ATR Bands Entry |
| Use_BollingerBands | false | Enable Bollinger Bands Entry |
| Use_KeltnerChannel | false | Enable Keltner Channel Entry |
| Use_GaussianBands | false | Enable Gaussian Bands Entry |
| Use_AdaptiveRsi | false | Enable Adaptive RSI Entry |
| EmaAtr_EmaPeriod | 21 | EMA Period for EMA+ATR Bands (5-200) |
| EmaAtr_AtrMultiplier | 2.0 | ATR Multiplier for bands (0.5-5.0) |
| EmaAtr_EmaPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Price for EMA calculation |
| BB_Period | 20 | Bollinger Bands Period (10-50) |
| BB_Deviation | 2.0 | Bollinger Bands Standard Deviation (1.0-3.0) |
| BB_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Price for BB calculation |
| KC_Period | 20 | Keltner Channel Period (10-50) |
| KC_AtrMultiplier | 2.0 | ATR Multiplier for KC (0.5-5.0) |
| KC_MaMethod | MODE_EMA | Moving Average Method for KC |
| GB_Period | 20 | Gaussian Bands Period (10-50) |
| GB_Deviation | 2.0 | Gaussian Bands Standard Deviation (1.0-3.0) |
| GB_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Price for GB calculation |
| ARSI_Period | 14 | RSI Period (5-50) |
| ARSI_OverboughtLevel | 70.0 | RSI Overbought Level (60-90) |
| ARSI_OversoldLevel | 30.0 | RSI Oversold Level (10-40) |
| ARSI_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Price for RSI calculation |
| EnableAllMethodsAgreePercentage | false | Require ALL enabled methods to agree (vs ANY method) |
| MethodsAgreePercentage | 100 | Percentage of methods that must agree to open a trade (0-100) |
| AllowMultipleSimultaneousEntries | false | Allow multiple entries from different methods |
| EnableSignalBuffering | true | Enable Time-based Signal Buffering |
| SignalPersistenceBars | 5 | Bars to persist signals |
| InvalidateOnOpposite | true | Invalidate buffer when opposite signal appears |
| EnableConfirmationBuffering | true | Enable Time-based Confirmation Buffering |
| ConfirmationPersistenceBars | 5 | Bars to persist confirmations |
| ConfirmationInvalidateOnOpposite | true | Invalidate confirmations on opposite signal |
| Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Trading timeframe |
| Lots | 1.0 | Lot size |
| InpTradeComment | "Psgrowth.com Expert_12013" | Trade Comment |
| UseMagicNumber | true | Use Magic Number for trades |
| InpMagicNumber | 22212013 | Magic Number |
| SessionTimeMode | SESSION_TIME_BROKER | Time Zone Mode |
| UseSessionFilter | true | Enable Session-Based Time Filter |
| Session1_Enabled | true | Enable Session 1 |
| Session1_Type | SESSION_EUROPEAN | Session 1 Type |
| Session1_StartTime | "08:00" | Session 1 Start Time (HH:MM) |
| Session1_EndTime | "16:00" | Session 1 End Time (HH:MM) |
| Session2_Enabled | false | Enable Session 2 |
| Session2_Type | SESSION_AMERICAN | Session 2 Type |
| Session2_StartTime | "13:30" | Session 2 Start Time (HH:MM) |
| Session2_EndTime | "20:00" | Session 2 End Time (HH:MM) |
| Session3_Enabled | false | Enable Session 3 |
| Session3_Type | SESSION_ASIAN | Session 3 Type |
| Session3_StartTime | "21:00" | Session 3 Start Time (HH:MM) |
| Session3_EndTime | "06:00" | Session 3 End Time (HH:MM) |
| Session4_Enabled | false | Enable Session 4 |
| Session4_Type | SESSION_CUSTOM | Session 4 Type |
| Session4_StartTime | "10:00" | Session 4 Start Time (HH:MM) |
| Session4_EndTime | "14:00" | Session 4 End Time (HH:MM) |
| RequireSessionOverlap | false | Require Multiple Session Overlap |
| BlockSessionOverlap | false | Block Trading During Session Overlaps |
| PreferHighVolumeSession | false | Prefer High Volume Sessions |
| SessionBufferMinutes | 0 | Session Buffer Time (minutes) |
| TransitionBufferMinutes | 0 | Transition Buffer Time (minutes) |
| EnableSessionDebug | true | Enable Session Filter Debug Output |
| UseSlippageFilter | true | Enable Slippage Filter |
| Slippage_Points | 10 | Maximum Slippage in Points |
| UseSpreadFilter | true | Enable Spread Filter |
| MaxSpread_Points | 30.0 | Maximum Spread in Points |
| UseSpreadMultiplier | false | Use ATR-based Spread Multiplier |
| SpreadATRRatio | 0.5 | Maximum Spread as ATR Ratio |
| UseRelativeSpread | false | Compare to Historical Average Spread |
| SpreadHistoryPeriod | 100 | Period for Historical Spread Average |
| MaxSpreadRatio | 2.0 | Maximum Current/Average Spread Ratio |
| UseAdaptiveSpread | false | Adapt Spread Limits Based on Session |
| AsianSpreadMultiplier | 1.5 | Asian Session Spread Multiplier |
| EuropeanSpreadMultiplier | 1.0 | European Session Spread Multiplier |
| AmericanSpreadMultiplier | 1.2 | American Session Spread Multiplier |
| UseVolatilityFilter | true | Enable Volatility Filter |
| MinATR_Vol | 0.03 | Minimum ATR for Trading |
| MaxATR_Vol | 1.0 | Maximum ATR for Trading |
| UseATRRange | false | Require ATR Within Range |
| UseRelativeVolatility | false | Compare Current ATR to Historical Average |
| VolatilityPeriod | 20 | Period for Historical ATR Average |
| MinVolatilityRatio | 0.8 | Minimum Current/Average ATR Ratio |
| MaxVolatilityRatio | 2.0 | Maximum Current/Average ATR Ratio |
| UseVolatilityTrend | false | Check ATR Trend Direction |
| VolTrendPeriod | 5 | Period for ATR Trend Analysis |
| RequireIncreasingVol | false | Require Increasing Volatility |
| UseMultiTimeframe | false | Check Higher g_Timeframe Volatility |
| HTF_Volatility | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher Timeframe for Volatility Check |
| HTF_MinATRRatio | 1.0 | HTF ATR to Current TF ATR Ratio |
| UseMinTimeBetweenTrades | false | Enable Minimum Time Between Trades |
| MinTimeBetweenTrades_Seconds | 300 | Minimum Time Between Trades (seconds) |
| EnableATRStopLoss | true | Enable ATR-based Stop Loss |
| EnableATRTakeProfit | false | Enable ATR-based Take Profit |
| ATR_MultiplierSL | 1.2 | ATR Multiplier for Stop Loss |
| ATR_MultiplierTP | 2.0 | ATR Multiplier for Take Profit |
| EnableHardStopLoss | true | Enable Hard Stop Loss (Safety Limit) |
| EnableHardTakeProfit | true | Enable Hard Take Profit (Safety Limit) |
| HardSL_Points | 120 | Hard Stop Loss in Points (ALWAYS RESPECTED) |
| HardTP_Points | 300 | Hard Take Profit in Points |
| UseTrailingStop | true | Enable Trailing Stop |
| TrailingStart_Points | 20 | Start trailing after X points profit |
| TrailingStep_Points | 10 | Trailing step size in points |
| TrailingDistance_Points | 15 | Trailing distance from current price |
| UseBreakeven | true | Enable Breakeven |
| BreakevenTrigger_Points | 25 | Move to breakeven after X points profit |
| BreakevenBuffer_Points | 2 | Breakeven buffer (points above/below entry) |
| EnableMaxDailyLoseProtection | true | Enable Maximum Daily Loss Protection |
| MaxDailyLose | 300.0 | Maximum daily loss in account currency |
| EnableMaxDrawdownProtection | true | Enable Maximum Drawdown Protection |
| MaxDrawdownPercent | 50.0 | Maximum account drawdown percentage (5-50%) |
| EnableMarginSafety | true | Enable Margin Safety Protection |
| MarginSafetyPercent | 50.0 | Margin Safety Percentage (1-100) |
| EnableConsecutiveLossPause | true | Enable Consecutive Loss Pause Protection |
| MaxConsecutiveLosses | 3 | Maximum Consecutive Losses (1-10) |
| PauseAfterMaxConsecutiveLossesInSeconds | 300 | Pause Duration in Seconds (60-3600) |
| UseAdaptivePause | false | Use Adaptive Pause Duration |
| PauseMultiplierPerLoss | 1.5 | Pause Multiplier Per Additional Loss (1.0-3.0) |
| MaxPauseDurationSeconds | 1800 | Maximum Pause Duration in Seconds (300-7200) |
| EnableDynamicLockProfit | true | Enable Dynamic Profit Lock |
| ProfitLockMode | PROFIT_LOCK_DOLLARS | Select Dollars or Points mode |
| LockProfitEvery | 2.0 | Lock profit every X (dollars/points based on mode) |
| LockMinusBuffer | 1.0 | Buffer amount (dollars/points based on mode) |
| OneTradeOnly | false | Allow only one trade at a time |
| MaxOpenTrades | 5 | Maximum number of open trades |
| RequireEachPositionToBeInProfit | true | Require each position to be in profit before adding new positions |
| MinProfitPerTradeToAdd | 5.0 | Minimum profit per trade to add (dollars/points based on mode) |
| invalidateWithOppositeSignal | true | Invalidate with opposite signal |
| UseTradeConfirmation | true | Use trade confirmation system |
| EnableNewsFilter | false | Enable news event filter |
| BlockTradesBeforeNews | true | Block new trades before high-impact news |
| NewsBlockMinutesBefore | 60 | Block trades X minutes before news |
| NewsBlockMinutesAfter | 30 | Block trades X minutes after news |
| FilterByCurrency | true | Filter news by currency pairs |
| EnableDashboard | false | Show on-chart dashboard |
| DashboardX | 20 | Dashboard X position |
| DashboardY | 20 | Dashboard Y position |
| DashboardBackColor | clrWhite | Dashboard background color |
| DashboardTextColor | clrBlack | Dashboard text color |
| ShowSignalArrows | true | Show entry/exit signal arrows |
| EnableLossPauseDebug | false | Enable Consecutive Loss Debug Output |
| EnableAI | false | Enable AI-enhanced trading |
| MinAIConfidence | 0.7 | Minimum overall AI confidence for signals |
| DefaultModelDir | "Models\\" | Default directory for AI models |
| AIUpdateFrequency | 60 | General AI update frequency (minutes) |
| EnableChartPatternAI | false | Enable AI chart pattern recognition |
| ChartPatternModelPath | "Models\\chart_pattern_model.onnx" | Chart pattern model path |
| ChartPatternLookbackBars | 100 | Number of bars for pattern analysis |
| MinChartPatternConfidence | 0.7 | Minimum pattern confidence (0.1-1.0) |
| UseDeepLearningPatterns | false | Use deep learning for advanced patterns |
| ChartAnalysisUpdateFrequency | 10 | Update chart analysis every X bars |
| EnableNewsAI | false | Enable AI news sentiment analysis |
| NewsSentimentModelPath | "Models\\news_sentiment_model.onnx" | News sentiment model path |
| LoadHistoricalNews | true | Load historical news for training |
| NewsLookbackDays | 30 | Days of news history to analyze |
| NewsSentimentThreshold | 0.6 | News sentiment impact threshold (0.1-1.0) |
| FilterNewsByCurrency | true | Only analyze relevant currency news |
| AdditionalNewsKeywords | "" | Additional keywords for news filtering |
| EnableMarketRegimeAI | false | Enable market regime classification |
| MarketRegimeModelPath | "Models\\market_regime_model.onnx" | Market regime model |
| RegimeLookbackBars | 200 | Bars for regime classification |
| RegimeChangeConfidence | 0.8 | Confidence threshold for regime change |
| AdaptToRegime | false | Adapt parameters to detected regime |
| AI_PriceSource | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Price source for AI analysis |
| AI_IncludeVolume | true | Include volume in AI analysis |
| AI_MinDataPoints | 1000 | Minimum data points for AI training |
| AI_UseCachedAnalysis | true | Use cached analysis results when available |
| AI_CacheTimeMinutes | 60 | Cache validity period (minutes) |
| EnablePythonBridge | false | Enable Python integration |
| PythonExecutablePath | "" | Path to Python executable (empty=auto) |
| PythonTimeout | 5000 | Python call timeout (milliseconds) |
| UseFallbackModels | true | Use fallback models if Python fails |
| EnableCloudAI | false | Enable cloud AI services |
| CloudAPIKey | "" | Cloud API key (empty=use config file) |
| CloudEndpoint | "" | Cloud API endpoint URL |
| MaxRequestsPerMinute | 10 | Maximum API requests per minute |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12013 Ai_EA — AI-enhanced multi-indicator confluence framework, full 12-layer stack."
#include <Trade\Trade.mqh>
//--- Enum definitions (needed before includes)
enum ENTRY_SIGNAL {
NEUTRAL = 0,
BUY = 1,
SELL = 2
};
#define ENTRY_SIGNAL_DEFINED
enum CONFIRMATION_ZONE {
NEUTRAL_ZONE = 0,
BUY_ZONE = 1,
SELL_ZONE = 2
};
#define CONFIRMATION_ZONE_DEFINED
enum TRADE_ALLOW_CONFIRMATION {
TRADE_BLOCKED = 0,
TRADE_ALLOWED = 1
};
#define TRADE_ALLOW_CONFIRMATION_DEFINED
enum PROFIT_LOCK_MODE {
PROFIT_LOCK_DOLLARS = 0, // Use Dollar amounts for profit locking
PROFIT_LOCK_POINTS = 1 // Use Points for profit locking
};
enum ENUM_TRADING_SESSION {
SESSION_EUROPEAN = 0, // European Session (London)
SESSION_AMERICAN = 1, // American Session (New York)
SESSION_ASIAN = 2, // Asian Session (Tokyo)
SESSION_CUSTOM = 3 // Custom Session
};
enum ENUM_SESSION_TIME_MODE {
SESSION_TIME_BROKER = 0, // Broker time
SESSION_TIME_LOCAL = 1, // Local computer time
SESSION_TIME_UTC = 2, // UTC time
SESSION_TIME_GMT = 3 // GMT time
};
#define ENUM_SESSION_TIME_MODE_DEFINED
//--- Global Variables and Indicator Handles
// Core indicators
int atrHandle = INVALID_HANDLE;
int emaHandle = INVALID_HANDLE;
// Entry method indicator handles
int bollingerHandle = INVALID_HANDLE;
int keltnerHandle = INVALID_HANDLE;
int gaussianHandle = INVALID_HANDLE;
int rsiHandle = INVALID_HANDLE;
int stochRsiHandle = INVALID_HANDLE;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.