P
PipsGrowth
أخرىمفتوح المصدر - مجاني

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()
الرمز الزائف (Pseudocode)
// 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)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
EURUSD
الأطر الزمنية المُحسّنة:
M5H1

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2افتح برنامج MetaTrader 5 على حاسوبك
  3. 3من القائمة العلوية اختر File → Open Data Folder
  4. 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  5. 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  6. 6اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
EnableTradingtrueEnable trading
EnableDebugfalseEnable debug logging
AllowBuystrueAllow opening buy orders
AllowSellstrueAllow opening sell orders
LotSize1.0Fixed lot size (0.01,0.01,2.0)
MagicNumber22212042Magic number
InpTradeComment"Psgrowth.com Expert_12042"Trade comment
Slippage3Slippage in points (1,1,10)
MaxSpread5.0Maximum spread in points (1.0,0.5,10.0)
MaxDrawdownPercent10.0Maximum drawdown percentage (5.0,1.0,20.0)
MaxRiskPerTrade2.0Maximum risk per trade % (0.5,0.5,5.0)
MaxOpenTrades5Maximum open trades (1,1,10)
StopLossPoints50.0Stop loss in points (20.0,5.0,150.0)
TakeProfitPoints100.0Take profit in points (40.0,10.0,300.0)
EnableDynamicLockProfittrueEnable dynamic profit locking
LockProfitEvery_X_Points30.0Step: every X points profit (10.0,5.0,50.0)
LockMinusBuffer15.0Lock profit minus X point buffer (5.0,2.0,30.0)
EnableDynamicProfitManagementDebugfalseEnable debug logging for dynamic profit management
AllowOnlyProfitableAdditionstrueOnly allow adding positions if existing trades are profitable
MinProfitInPointsPerTradeToAdd20.0Minimum profit required per existing trade in points (10.0,5.0,50.0)
RequireToCheckForConfirmationBeforeAddingtrueRequire to check active confirmation before adding new positions
EnableAdditionalPositionManagementDebugfalseEnable debug logging for additional position management
EnableIndicatorDebugfalseEnable debug logging for indicators
UseAMAforEntrySignalstrueUse AMA for entry signals
UseAMAforConfirmationtrueUse AMA for confirmation
UseRSIforEntrySignalstrueUse RSI for entry signals
UseRSIforConfirmationtrueUse RSI for confirmation
AdaptiveMA_Period14Adaptive MA base period (8,2,30)
AdaptiveMA_Sensitivity2.0Adaptive sensitivity multiplier (1.0,0.5,5.0)
RSI_Period14RSI period (7,1,21)
RSI_Oversold30.0RSI oversold level (20.0,1.0,40.0)
RSI_Overbought70.0RSI overbought level (60.0,1.0,80.0)
RSI_UseCrossoverSignalstrueUse RSI crossover signals
RSI_UseDivergenceSignalsfalseUse RSI divergence signals
EnableRSI_DebugfalseEnable RSI debug logging
ATR_Period14ATR period (7,1,28)
UseATRforVolatilityFiltertrueUse ATR for volatility filtering
ATR_VolatilityMultiplier1.0ATR volatility multiplier (0.5,0.1,3.0)
EnableATR_DebugfalseEnable ATR debug logging
BB_Period20Bollinger Bands period (10,5,50)
BB_Deviation2.0Standard deviation multiplier (1.0,0.1,3.0)
UseBBforEntrySignalsfalseUse Bollinger Bands for entry signals
UseBBforConfirmationfalseUse Bollinger Bands for confirmation
BB_UseBreakoutStrategyfalseUse breakout strategy
BB_UseMeanReversionStrategyfalseUse mean reversion strategy
EnableBB_DebugfalseEnable Bollinger Bands debug logging
MACD_FastEMA12MACD Fast EMA period (8,1,24)
MACD_SlowEMA26MACD Slow EMA period (16,2,48)
MACD_SignalPeriod9MACD Signal line period (5,1,18)
UseMACD_ForEntrySignalstrueUse MACD for entry signals
UseMACD_ForConfirmationtrueUse MACD for confirmation
MACD_UseHistogramCrossovertrueUse MACD histogram crossover for signals
MACD_UseSignalLineCrossovertrueUse MACD signal line crossover for signals
EnableMACD_DebugfalseEnable MACD debug logging
UseHeikenAshitrueUse Heiken Ashi for entry signals
UseHeikenAshiForConfirmationtrueUse Heiken Ashi for confirmation
UseVolatilityFiltertrueUse volatility filter for entries
VolatilityThreshold0.3Minimum volatility threshold in points (0.1,0.1,1.0)
UseSessionFilterfalseUse trading session filter
TradeLondonSessiontrueTrade during London session (8-16 GMT)
TradeNewYorkSessiontrueTrade during New York session (13-21 GMT)
TradeOverlapSessiontrueTrade during London/NY overlap (13-16 GMT)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX12042.mq5
#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

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

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

الوسوم:ex12042multiindicatorconfluencepipsgrowthfreemt5eurusd

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

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

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

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

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

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

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

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