Pipsgrowth EX12042 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · EURUSD · M5، H1
Pipsgrowth EX12042 MultiIndicatorConfluence — Adaptive forex scalping EA combining AMA, RSI, ATR, Bollinger Bands (disabled), MACD and Heiken Ashi confluence. Support. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 12042 بيبس جروث متعدد المؤشرات (MultiIndicatorConfluence) هو الإصدار الإنتاجي المتعمَّد التبسيط من عائلة إكس 12 — تحمل ترويسة .mq5 علامة Patch 1.41 مع تعطيل Bollinger Bands افتراضياً، ويؤكد الملخص داخل كتلة التعليقات خيار التصميم هذا: سطح المُعاملات الكامل المكوَّن من 62 مُدخلاً موزَّعة على 11 مجموعة يأتي سليماً، والمقابض الأربعة الأصلية لمؤشرات MT5 (iRSI(14) وiATR(14) وiBands(20, 2.0) وiMACD(12, 26, 9)) لا تزال تُنشأ عند التهيئة عند تفعيل الأعلام ذات الصلة، لكن مسار اتخاذ قرار التداول الفعلي اختُزل إلى مقارنة واحدة: إغلاق الشمعة مقابل متوسط متحرك تكيّفي، مع تأكيد RSI بمدى محصور وبوّابة سبريد فقط. كل ما عداه في لوحة المُدخلات — استراتيجيات BB، تقاطعات MACD، تقاطع Heiken Ashi، قفل الربح الديناميكي، نوافذ الجلسات — موجود للتفتيش ولمن يريد إعادة توصيله، لكن الكود الحيّ لا يقرأ تلك الأعلام. هذا هو عضو العائلة الذي يُختار عندما يريد المتداول جوهر المتوسط المتحرك الاتجاهي دون دفع تكلفة الإشارات الخاطئة لمكدّس AND متعدد التأكيدات على زوج رئيسي متقطع الاتجاه.
المقابض الأربعة تُخصَّص بشروط، والشرط هو ما يُميّز البصمة الحيّة عن البصمة الظاهرة. تبني OnInit مقبض iRSI فقط إذا كان UseRSIforEntrySignals أو UseRSIforConfirmation صحيحاً (كلاهما صحيح افتراضياً، فيُنشأ المقبض)، ومقبض iATR فقط عند تفعيل UseATRforVolatilityFilter (صحيح افتراضياً)، ومقبض iBands فقط عند تفعيل أي من UseBBforEntrySignals أو UseBBforConfirmation (كلاهما false افتراضياً، فلا يُنشأ مقبض iBands في التثبيت الافتراضي)، ومقبض iMACD فقط إذا كان UseMACD_ForEntrySignals أو UseMACD_ForConfirmation صحيحاً (كلاهما صحيح افتراضياً، فيُنشأ مقبض MACD ويُحدَّث عند كل تكّة رغم أن مسار الإشارة الحيّ لا يستشير macdMain أو macdSignal أو macdHistogram مطلقاً). المخازن المؤقتة rsiBuffer وatrBuffer وbbUpper/Middle/Lower وmacdMain/Signal/Histogram كلها مصفوفات مكوّنة من 100 عنصر مُهيَّأة بأصفار محايدة؛ ودوال CalculateRSI / CalculateATR / CalculateBollingerBands / CalculateMACD تعمل كلها عند كل تكّة عبر UpdateAdaptiveIndicators() وتبقى نشطة لرسوم الاختبار الرجعي البيانية وللملفات المُنظَّمة عبر Enable*_Debug، لكن قيمها لا تُغذّي GetBuySignal أو GetSellSignal أو GetConfirmationSignal في خط أنابيب الدخول.
اختبار الاتجاه هو قرار الدخول بأكمله. تُرجع GetBuySignal قيمة true إذا وفقط إذا كان iClose(_Symbol, PERIOD_CURRENT, 0) أكبر قطعياً من adaptiveMA[0]، وتكون GetSellSignal التماثل المعاكس. المتوسط المتحرك التكيّفي adaptiveMA نفسه هو متوسط متحرك بسيط مرجّح بنافذة تذبذب — وليس Kaufman AMA رغم اسم المُدخل CalculateAdaptiveMA() — يُنتَج بجمع آخر أسعار إغلاق adaptivePeriod وقسمتها على عدد الشموع الصالحة، حيث يُعاد حساب adaptivePeriod عند كل تكّة عبر CalculateAdaptiveVolatility() كقيمة round(AdaptiveMA_Period / (1 + (volRatio - 1) * AdaptiveMA_Sensitivity)) ويُقيَّد ضمن النطاق 5–50 شمعة. القيم الافتراضية هي AdaptiveMA_Period=14 وAdaptiveMA_Sensitivity=2.0، أي أن السوق الهادئ يوسّع الفترة (يُلطّف المتوسط) والمضطرب يضيقها. يُحسب Heiken Ashi أيضاً داخل الكود (haClose = (O+H+L+C)/4، وhaOpen[0] = (O+C)/2 ثم عودياً، مع المصفوفات الأربع المكشوفة للرسوم البيانية)، لكن قيم HA لا تُقرأ كذلك عبر دوال الدخول. تبقى المصفوفات دافئة فقط لطباعة التنقيح المُنظَّمة وللعرض في الاختبار الرجعي.
التأكيد اختبار واحد فقط لمدى RSI. تُرجع GetConfirmationSignal قيمة rsiBuffer[0] أكبر من RSI_Oversold (30.0 افتراضياً) AND أقل من RSI_Overbought (70.0 افتراضياً). لا يوجد تقاطع ولا تباعد ولا مكدّس AND متعدد التأكيدات — المُدخلات RSI_UseCrossoverSignals وRSI_UseDivergenceSignals وMACD_UseHistogramCrossover وMACD_UseSignalLineCrossover وBB_UseBreakoutStrategy وBB_UseMeanReversionStrategy مكشوفة في لوحة المُدخلات لتطابق السطح مع بقية العائلة، لكن الكود الحيّ لا يستشيرها. IsMarketConditionsOK دالة بسطر واحد: تُرجع false إذا تجاوز سبريد SYMBOL_SPREAD بالنقاط MaxSpread (5.0 افتراضياً) وإلا تمرّر الدخول. الترويسة تروّج لفلتر تذبذب مبني على ATR، لكن البوّابة الحيّة لا تتحقق من atrBuffer[0] إطلاقاً؛ يُنشأ مقبض ATR ويُملأ المخزن، لكن لا يوجد فرع حد-أدنى-تذبذب أو حد-أعلى-تذبذب في مسار الدخول. VolatilityThreshold=0.3 مكشوف ومقبول، لكن الكود الذي من المفترض أن يستهلكه غائب.
اثنان من المرشحات التي تبدو نشطة في لوحة المُدخلات هي stubs. ManagePositions غلاف بسطر واحد: يتحقق من EnableDynamicLockProfit ثم لا يفعل شيئاً — تعليق في المصدر يقول «Dynamic profit management would go here». منطق قفل الخسارة المتدرّج بالعلامة المائية، ومصفوفة lastHighestProfit لكل تذكرة، وخطوة 30 نقطة، وعازل 15 نقطة، ومنطق القفل الذي لا يرخي الذي تُنفّذه بقية عائلة إكس 12 — كل ذلك غائب من هذه النسخة، فالصفقة التي تتحرك إلى الربح لن تحصل على وقف مُحكَم ما لم يتدخل المتداول يدوياً. IsOptimalTradingSession stubs كذلك: تحترم UseSessionFilter المنطقي (false افتراضياً)، لكن داخل الفرع النشط تُرجع true دون قيد مع تعليق «always return true for now». تعريفات جلسات لندن 8-16 ونيويورك 13-21 والتداخل 13-16 بتوقيت GMT موجودة كمُدخلات (TradeLondonSession وTradeNewYorkSession وTradeOverlapSession) لكن الكود لا يقرأها. نافذة التداول على مدار 24 ساعة خيار تصميم لـ patch 1.41 وليست خطأ — يُتوقَّع من المتداول تطبيق فلتر الجلسة من جهة الوسيط أو توصيله عبر تصحيح لاحق.
إدارة المخاطر والمراكز سليمة. تذكرة الأمر تحمل دائماً وقف خسارة ابتدائي عند ask ± StopLossPoints * pointValue (50 نقطة افتراضياً لمنصات 5 خانات، و500 نقطة خام لـ 4 خانات) وجني أرباح عند التماثل المقابل (100 نقطة افتراضياً، بنسبة مخاطرة إلى عائد 1:2). MaxOpenTrades=5 افتراضياً ويُطبَّق لكل اتجاه — تمشي CheckPositionTypes على PositionsTotal() بفلترة الرمز والرقم السحري، وتقوم canAddBuy / canAddSell كل منهما مستقلاً بحراسة عدد تذكراته، فيمكن أن يتعايش حتى 5 شراء و5 بيع ما دا شرط الربحية الاتجاهية مُحقَّق. AllowOnlyProfitableAdditions=true افتراضياً وRequireToCheckForConfirmationBeforeAdding=true افتراضياً؛ يفرضان معاً أن تكون أي تذكرة إضافية في اتجاه قائم (أ) مسبوقة بـ GetConfirmationSignal التي تُرجع true، و(ب) مسبوقة بـ IsPositionDirectionProfitable() التي تؤكد أن متوسط ربح التذاكر القائمة في نفس الاتجاه أكبر أو يساوي MinProfitInPointsPerTradeToAdd * _Point (20 نقطة افتراضياً). MaxDrawdownPercent سقف صارم بنسبة 10.0% من حقوق الحساب، يُقرأ من المُدخل عند كل تكّة. MaxRiskPerTrade مكشوف عند 2.0% لكن تحديد حجم العقد الفعلي يستخدم مُدخل LotSize الثابت (1.0 افتراضياً) — حقل نسبة المخاطرة معلوماتي فقط ولا يستشيره حساب حجم العقد.
مكدّس إعادة المحاولة هو المعيار العائلي الثلاثي. TryClose_EX12042 يُغلِّف trade.PositionClose في حلقة 3 محاولات مع Sleep 200 مللي ثانية على TRADE_RETCODE_REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED. TryClosePartial_EX12042 يفعل الشيء نفسه لـ trade.PositionClosePartial. TryModify_EX12042 يُغلِّف trade.PositionModify مع Sleep 100 مللي ثانية على REQUOTE / TIMEOUT — النافذة الأضيق تناسب التعديل الأكثر حساسية للعرض من الإغلاق. كلها تُرجع false بعد الفشل الثالث كي يواصل الخبير إلى التكّة التالية. ErrorDescription بدالة switch مكتوبة يدوياً على رموز أخطاء MT5 القياسية 131 و133 و134 و138 و146 و4106 و4107 و4108 و4109 و4110 و4051 و4075 و4076 مع فرع افتراضي «Unknown error N»، وفروع الطلب الفاشل في CheckForEntry تطبع السلسلة المقروءة للإنسان إضافةً إلى رصيد الحساب وهامش الحرية وهامش الطلب المطلوب عند الخطأين 134 أو 4076 (عدم كفاية المال). تدفق OnTick قصير وصريح: يعود مبكراً عند EnableTrading=false أو عندما يكون iClose(0) صفراً، يكتشف شمعة جديدة بمقارنة totalBars بعدد iBars الحالي، يستدعي UpdateAdaptiveIndicators() لتحديث كل مخازن المؤشرات الخمسة، يستدعي ManagePositions() (الـ stub)، وعلى شمعة جديدة يستدعي CheckForEntry().
النشر الصحيح لهذا الخبير هو حالة استخدام تتبع الاتجاه التي كُتب لها الكود المبسَّط. EURUSD على M5 أو H1، حساب بحد أدنى 100 دولار، 0.01 لوت على وسيط no-dealing-desk بحساب سبريد خام يبقى السبريد فيه مريحاً تحت سقف MaxSpread البالغ 5 نقاط. المتداول الذي يريد وقف التدرّج أو فلتر BB للاختراق أو نافذة الجلسة من عائلة إكس 12 ينبغي أن يختار نسخة غير Patch 1.41 — لوحة المُدخلات في هذه النسخة تكشف تلك الميزات للتفتيش وتبقى المقابض دافئة للاختبار الرجعي، لكن المنطق الحيّ لا يُشغّلها. MaxDrawdownPercent بنسبة 10% هو صمام الأمان الحامل للحمل: في غياب قفل العلامة المائية المتدرّج على الصفقات الفردية، لا يمكن احتواء الحركة المعاكسة المفاجئة إلا عبر وقف الخسارة 50 نقطة على مستوى التذكرة، لذا فإن سقف السحب على مستوى الحساب هو ما يُبقي الاستراتيجية قابلة للحياة عبر جلسة مهتزة.
تفاصيل الاستراتيجية
تُخصِّص OnInit ما يصل إلى أربع مقابض مؤشرات MT5 أصلية بشروط: iRSI(14) إذا كان UseRSIforEntrySignals أو UseRSIforConfirmation صحيحاً (كلاهما صحيح افتراضياً)، وiATR(14) عندما يكون UseATRforVolatilityFilter صحيحاً (صحيح افتراضياً)، وiBands(20, 2.0) فقط عند تفعيل علم BB (كلاهما false افتراضياً، فلا يُنشأ مقبض iBands في التثبيت الافتراضي)، وiMACD(12, 26, 9) عندما يكون أي من عَلَمي MACD صحيحاً (كلاهما صحيح افتراضياً، فيُخصَّص مقبض MACD ويُحدَّث رغم أن مسار الإشارة الحيّ لا يقرأ macdMain أو macdSignal أو macdHistogram). تعمل دوال Calculate* الخمس عند كل تكّة عبر UpdateAdaptiveIndicators()، محافظةً على دفء المخازن المؤقتة لرسوم الاختبار الرجعي البيانية وللسجلات المُنظَّمة، لكنها تُغذّي واحداً منها فقط في القرار الحيّ. تُرجع GetBuySignal قيمة currentPrice > adaptiveMA[0] وتُرجع GetSellSignal قيمة currentPrice < adaptiveMA[0]، حيث adaptiveMA متوسط بسيط مرجّح بنافذة تذبذب تُنتجه CalculateAdaptiveMA() بفترة تُعاد حسابها عند كل تكّة كقيمة round(AdaptiveMA_Period / (1 + (volRatio-1) * AdaptiveMA_Sensitivity)) مُقيَّدة بين 5-50. تحرس GetConfirmationSignal الدخول بالاختبار الوحيد rsiBuffer[0] > 30 AND rsiBuffer[0] < 70. ترفض IsMarketConditionsOK فقط عندما يتجاوز السبريد MaxSpread (5.0 افتراضياً). تحمل تذكرة الأمر ask ± StopLossPoints*pointValue (50 نقطة افتراضياً) وجني الأرباح التماثلي (100 نقطة افتراضياً). ManagePositions stub بسطر واحد لقفل الربح الديناميكي، وIsOptimalTradingSession stub بسطر واحد لفلتر الجلسة، فلا توجد مخارج إلا وقف الخسارة وجني الأرباح على مستوى التذكرة وسقف MaxDrawdownPercent بنسبة 10%. مساعدات إعادة المحاولة الثلاث (TryClose_EX12042 / TryClosePartial_EX12042 / TryModify_EX12042) تتعامل مع REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED عند الإغلاق (200 مللي ثانية) وعند التعديل (100 مللي ثانية).
تُفعَّل صفقات الشراء عندما يكون إغلاق الشمعة أعلى قطعياً من المتوسط المتحرك التكيّفي؛ وتُفعَّل صفقات البيع عندما يكون إغلاق الشمعة أسفله قطعياً. التأكيد الوحيد هو مدى RSI: يجب أن يكون rsiBuffer[0] ضمن النطاق [RSI_Oversold=30.0، RSI_Overbought=70.0]. المتوسط التكيّفي متوسط متحرك بسيط مرجّح بنافذة تذبذب تتمدّد فترته بين 5-50 شمعة بحسب نسبة تذبذب الشريط الحالي إلى المتوسط (AdaptiveMA_Period=14 وAdaptiveMA_Sensitivity=2.0). يجب أن يبقى السبريد عند أو تحت MaxSpread=5.0 نقطة. سقف MaxOpenTrades=5 لكل اتجاه؛ تتطلب أي تذكرة إضافية في اتجاه قائم أيضاً RequireToCheckForConfirmationBeforeAdding=true وربحاً متوسطاً موجباً على التذاكر القائمة في نفس الاتجاه (أكبر أو يساوي MinProfitInPointsPerTradeToAdd=20 نقطة).
تحمل كل تذكرة جني أرباح ابتدائي ثابت عند 100 نقطة (TakeProfitPoints افتراضي) ووقف خسارة ابتدائي ثابت عند 50 نقطة (StopLossPoints افتراضي)، يُضبطان على تذكرة الأمر. لا يوجد إغلاق بإشارة معاكسة ولا خروج مبني على وقت ولا منطق إغلاق جزئي في المسار الحيّ. مُدخل قفل الربح الديناميكي (EnableDynamicLockProfit=true افتراضياً، وخطوة 30 نقطة، وعازل 15 نقطة) مكشوف في لوحة المُدخلات، لكن دالة ManagePositions التي من المفترض أن تُشغّله هي stub بسطر واحد لا تفعل شيئاً. تُغلق المراكز فقط عند ضرب وقف الخسارة أو جني الأرباح على مستوى التذكرة، أو عند تفعيل سقف MaxDrawdownPercent بنسبة 10% على الحساب، أو عند إيقاف يدوي.
وقف الخسارة الابتدائي لكل صفقة ثابت عند 50 نقطة (StopLossPoints * pointValue، حيث pointValue = _Point*10 على الوسطاء من 5 أو 3 خانات) على كل تذكرة أمر. لا يوجد قفل متدرّج ولا خطوة تعادل ولا تتبّع بعلامة مائية — آلية قفل الربح الديناميكية مكشوفة في لوحة المُدخلات لكن دالة ManagePositions التي من المفترض أن تُشغّلها غير منفّذة. MaxDrawdownPercent بنسبة 10% يعمل كمفتاح إيقاف قاسي على مستوى الحساب.
جني الأرباح لكل صفقة ثابت عند 100 نقطة (TakeProfitPoints * pointValue)، مما يعطي نسبة مخاطرة إلى عائد 1:2 مقابل وقف الخسارة الابتدائي 50 نقطة. يُضبط جني الأرباح على تذكرة الأمر ويُحقَّق أو يُفقد بالكامل — لا تدرّج للخروج ولا إغلاق جزئي ولا إدارة أهداف متعددة في مسار الكود الحيّ.
مُصمَّم لـ EURUSD على M5 أو H1، حساب بحد أدنى 100 دولار، 0.01 لوت على وسيط no-dealing-desk بحساب سبريد خام وزمن استجابة ثابت دون 50 مللي ثانية. يحتاج جوهر Patch 1.41 المبسّط (إغلاق الشمعة مقابل المتوسط التكيّفي + مدى RSI) إلى نظام تذبذب هادئ-إلى-متوسط لتغذية إشارة الاتجاه بسلاسة — بيئة ATR فوضوية ستُضيّق الفترة التكيّفية نحو 5 شموع وتُنتج إشارات مهتزة. يتلاءم ملف 50 نقطة لوقف الخسارة و100 نقطة لجني الأرباح ونسبة 1:2 مع تذبذب 100-150 نقطة لكل جلسة، لذا تعمل أي منطقة زمنية للوسيط طالما يبقى السبريد مريحاً تحت MaxSpread=5.0 نقاط. المخاطرة: متوسطة. غير مناسب للحسابات دون 100 دولار، ولا للأزواج خارج EURUSD، ولا للمتداولين الذين يريدون وقف العلامة المائية المتدرّج أو تقاطع BB+MACD+HA أو نافذة الجلسة — تلك الميزات مكشوفة في لوحة المُدخلات لكن الكود الحيّ لا يُشغّلها.
منطق الاستراتيجية
Pipsgrowth EX12042 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212042
الإصدار: 2.00
الوصف:
Adaptive forex scalping EA combining AMA, RSI, ATR, Bollinger Bands (disabled), MACD and Heiken Ashi confluence. Supports MACD histogram and signal-line cross, dynamic profit locking, additional position management, session and volatility filters. Patch 1.41 variant with BB off by default. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
UpdateAdaptiveIndicators()CalculateAdaptiveVolatility()CalculateAdaptiveMA()CalculateRSI()CalculateHeikenAshi()CalculateATR()CalculateBollingerBands()CalculateMACD()CheckForEntry()TestTradeExecution()
// Pipsgrowth EX12042 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Adaptive forex scalping EA combining AMA, RSI, ATR, Bollinger Bands (disabled), MACD and Heiken Ashi confluence. Supports MACD histogram and signal-line cross, dynamic profit locking, additional position management, session and volatility filters. Patch 1.41 variant with BB off by default. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| EnableTrading | true | Enable trading |
| EnableDebug | false | Enable debug logging |
| AllowBuys | true | Allow opening buy orders |
| AllowSells | true | Allow opening sell orders |
| LotSize | 1.0 | Fixed lot size (0.01,0.01,2.0) |
| MagicNumber | 22212042 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_12042" | Trade comment |
| Slippage | 3 | Slippage in points (1,1,10) |
| MaxSpread | 5.0 | Maximum spread in points (1.0,0.5,10.0) |
| MaxDrawdownPercent | 10.0 | Maximum drawdown percentage (5.0,1.0,20.0) |
| MaxRiskPerTrade | 2.0 | Maximum risk per trade % (0.5,0.5,5.0) |
| MaxOpenTrades | 5 | Maximum open trades (1,1,10) |
| StopLossPoints | 50.0 | Stop loss in points (20.0,5.0,150.0) |
| TakeProfitPoints | 100.0 | Take profit in points (40.0,10.0,300.0) |
| EnableDynamicLockProfit | true | Enable dynamic profit locking |
| LockProfitEvery_X_Points | 30.0 | Step: every X points profit (10.0,5.0,50.0) |
| LockMinusBuffer | 15.0 | Lock profit minus X point buffer (5.0,2.0,30.0) |
| EnableDynamicProfitManagementDebug | false | Enable debug logging for dynamic profit management |
| AllowOnlyProfitableAdditions | true | Only allow adding positions if existing trades are profitable |
| MinProfitInPointsPerTradeToAdd | 20.0 | Minimum profit required per existing trade in points (10.0,5.0,50.0) |
| RequireToCheckForConfirmationBeforeAdding | true | Require to check active confirmation before adding new positions |
| EnableAdditionalPositionManagementDebug | false | Enable debug logging for additional position management |
| EnableIndicatorDebug | false | Enable debug logging for indicators |
| UseAMAforEntrySignals | true | Use AMA for entry signals |
| UseAMAforConfirmation | true | Use AMA for confirmation |
| UseRSIforEntrySignals | true | Use RSI for entry signals |
| UseRSIforConfirmation | true | Use RSI for confirmation |
| AdaptiveMA_Period | 14 | Adaptive MA base period (8,2,30) |
| AdaptiveMA_Sensitivity | 2.0 | Adaptive sensitivity multiplier (1.0,0.5,5.0) |
| RSI_Period | 14 | RSI period (7,1,21) |
| RSI_Oversold | 30.0 | RSI oversold level (20.0,1.0,40.0) |
| RSI_Overbought | 70.0 | RSI overbought level (60.0,1.0,80.0) |
| RSI_UseCrossoverSignals | true | Use RSI crossover signals |
| RSI_UseDivergenceSignals | false | Use RSI divergence signals |
| EnableRSI_Debug | false | Enable RSI debug logging |
| ATR_Period | 14 | ATR period (7,1,28) |
| UseATRforVolatilityFilter | true | Use ATR for volatility filtering |
| ATR_VolatilityMultiplier | 1.0 | ATR volatility multiplier (0.5,0.1,3.0) |
| EnableATR_Debug | false | Enable ATR debug logging |
| BB_Period | 20 | Bollinger Bands period (10,5,50) |
| BB_Deviation | 2.0 | Standard deviation multiplier (1.0,0.1,3.0) |
| UseBBforEntrySignals | false | Use Bollinger Bands for entry signals |
| UseBBforConfirmation | false | Use Bollinger Bands for confirmation |
| BB_UseBreakoutStrategy | false | Use breakout strategy |
| BB_UseMeanReversionStrategy | false | Use mean reversion strategy |
| EnableBB_Debug | false | Enable Bollinger Bands debug logging |
| MACD_FastEMA | 12 | MACD Fast EMA period (8,1,24) |
| MACD_SlowEMA | 26 | MACD Slow EMA period (16,2,48) |
| MACD_SignalPeriod | 9 | MACD Signal line period (5,1,18) |
| UseMACD_ForEntrySignals | true | Use MACD for entry signals |
| UseMACD_ForConfirmation | true | Use MACD for confirmation |
| MACD_UseHistogramCrossover | true | Use MACD histogram crossover for signals |
| MACD_UseSignalLineCrossover | true | Use MACD signal line crossover for signals |
| EnableMACD_Debug | false | Enable MACD debug logging |
| UseHeikenAshi | true | Use Heiken Ashi for entry signals |
| UseHeikenAshiForConfirmation | true | Use Heiken Ashi for confirmation |
| UseVolatilityFilter | true | Use volatility filter for entries |
| VolatilityThreshold | 0.3 | Minimum volatility threshold in points (0.1,0.1,1.0) |
| UseSessionFilter | false | Use trading session filter |
| TradeLondonSession | true | Trade during London session (8-16 GMT) |
| TradeNewYorkSession | true | Trade during New York session (13-21 GMT) |
| TradeOverlapSession | true | Trade during London/NY overlap (13-16 GMT) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX12042 EURUSD_1_41 — Adaptive AMA+RSI+ATR+MACD+Heiken Ashi scalper (BB off), full 12-layer stack."
#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Trade/AccountInfo.mqh>
//--- Global objects
CTrade trade;
CPositionInfo position;
CAccountInfo account;
//--- Input parameters
input group "=== Basic Settings ==="
input bool EnableTrading = true; // Enable trading
input bool EnableDebug = false; // Enable debug logging
input bool AllowBuys = true; // Allow opening buy orders
input bool AllowSells = true; // Allow opening sell orders
input double LotSize = 1.0; // Fixed lot size (0.01,0.01,2.0)
input int MagicNumber = 22212042; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_12042"; // Trade comment
input int Slippage = 3; // Slippage in points (1,1,10)
input group "=== Risk Management ==="
input double MaxSpread = 5.0; // Maximum spread in points (1.0,0.5,10.0)
input double MaxDrawdownPercent = 10.0; // Maximum drawdown percentage (5.0,1.0,20.0)
input double MaxRiskPerTrade = 2.0; // Maximum risk per trade % (0.5,0.5,5.0)
input int MaxOpenTrades = 5; // Maximum open trades (1,1,10)
input double StopLossPoints = 50.0; // Stop loss in points (20.0,5.0,150.0)
input double TakeProfitPoints = 100.0; // Take profit in points (40.0,10.0,300.0)
input group "=== Dynamic Profit Management ==="
input bool EnableDynamicLockProfit = true; // Enable dynamic profit locking
input double LockProfitEvery_X_Points = 30.0; // Step: every X points profit (10.0,5.0,50.0)
input double LockMinusBuffer = 15.0; // Lock profit minus X point buffer (5.0,2.0,30.0)
input bool EnableDynamicProfitManagementDebug = false; // Enable debug logging for dynamic profit management
input group "=== Additional Position Management ==="
input bool AllowOnlyProfitableAdditions = true; // Only allow adding positions if existing trades are profitable
input double MinProfitInPointsPerTradeToAdd = 20.0; // Minimum profit required per existing trade in points (10.0,5.0,50.0)
input bool RequireToCheckForConfirmationBeforeAdding = true; // Require to check active confirmation before adding new positions
input bool EnableAdditionalPositionManagementDebug = false; // Enable debug logging for additional position management
input group "=== Adaptive Indicators ==="
input bool EnableIndicatorDebug = false; // Enable debug logging for indicators
input bool UseAMAforEntrySignals = true; // Use AMA for entry signals
input bool UseAMAforConfirmation = true; // Use AMA for confirmation
input bool UseRSIforEntrySignals = true; // Use RSI for entry signals
input bool UseRSIforConfirmation = true; // Use RSI for confirmation
input int AdaptiveMA_Period = 14; // Adaptive MA base period (8,2,30)
input double AdaptiveMA_Sensitivity = 2.0; // Adaptive sensitivity multiplier (1.0,0.5,5.0)
input group "=== RSI Settings ==="
input int RSI_Period = 14; // RSI period (7,1,21)
input double RSI_Oversold = 30.0; // RSI oversold level (20.0,1.0,40.0)
input double RSI_Overbought = 70.0; // RSI overbought level (60.0,1.0,80.0)
input bool RSI_UseCrossoverSignals = true; // Use RSI crossover signals
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.