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

Pipsgrowth EX12043 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر

إكسبرت أدفايزر MT5 مفتوح المصدر · EURUSD · M5، H1

Pipsgrowth EX12043 MultiIndicatorConfluence — Adaptive forex scalping EA combining AMA, RSI and Heiken Ashi confluence. Dynamic profit locking, additional position ma. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكسبرت Pipsgrowth EX12043 MultiIndicatorConfluence مبني حول مؤشر أصلي واحد وثلاثة محولات مبنية بالكود. المؤشر الوحيد الذي يطلبه من MetaTrader هو مؤشر القوة النسبية iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE)، لكن الإكسبرت يتحدث عن "المتوسط المتحرك التكيفي AMA" و"هيكن أشي" كإشارات من الدرجة الأولى لأن كليهما يُحسب بالكود من موجة OHLC الخام، مع مصفوفات تخزين وتحديث خاصة بهما. هذا الاختيار المعماري يُبقي بصمة مقابض المؤشرات عند واحد مع الحفاظ على تلاقي الطبقات المتعددة الذي تعد به العائلة. بالسحر 22212043 وختم الإصدار 2.00، يجلس هذا الإكسبرت في نفس عائلة MultiIndicatorConfluence إلى جانب EX12040 وEX12041 وEX12042 لكن على بصمة أصغر عمداً — 38 مدخل و21 دالة، بلا مقبض بولنجر باند، ولا مقبض MACD، ولا مقبض ATR أصلي.

في كل شمعة جديدة تستدعي دالة OnTick() الدالة UpdateAdaptiveIndicators() لتحديث أربعة مخازن مؤقتة مشتقة قبل أن تنظر منطق الإشارة إلى الشمعة. تحسب CalculateAdaptiveVolatility() مجموع مدى (high-low) على نافذة تساوي max(AdaptiveMA_Period, 10) شمعة وتخزن النتيجة في volatility[0]. ثم تأخذ متوسط حتى 20 قيمة تذبذب مخزنة لإنشاء خط أساس، وتأخذ النسبة volRatio = volatility[0] / avgVolatility، وتطبق مضاعف AdaptiveMA_Sensitivity (2.0 افتراضياً) لتوسيع فترة المتوسط المتحرك الناتجة. الفترة adaptivePeriod النهائية تُقصَّ إلى نافذة 5–50 شمعة، لذا فـ"AMA" المزعوم هو في الحقيقة متوسط متحرك بسيط SMA تتقلب فترة نافذته استجابة لتمدد أو انضغاط المدى الأخير — أطول عندما يكون السوق هادئاً، وأقصر عندما يكون متقطعاً.

ثم تأخذ CalculateAdaptiveMA() تلك الفترة المقلَّمة وتجمع آخر إغلاق لـ adaptivePeriod شموع وتقسمها على الفترة لكتابة adaptiveMA[0]. تمشي CalculateHeikenAshi() على آخر 20 شمعة وتكتب أربع مصفوفات ممتلئة يدوياً باستخدام صيغ هيكن أشي القانونية: haClose[i] = (open + high + low + close) / 4، وhaOpen[0] = (open + close) / 2، وhaOpen[i] = (haOpen[i-1] + haClose[i-1]) / 2 لـ i > 0؛ أما الهاي واللو فيستخدمان الحد الأقصى/الأدنى القياسي من OHLC الأصلي مع open/close الخاصين بـ HA. ثم تنسخ CalculateRSI() آخر ثلاث قيم RSI من مخزن المؤشر إلى rsiBuffer[] عبر CopyBuffer()، مع حساب RSI بديل داخل الكود إذا أصبح المقبض غير صالح يوماً ما.

طبقة الإشارة هي AND صارمة من أربع طرق تُبنى بواسطة GetBuySignal() وGetSellSignal(). الشراء يتطلب priceAboveMA (أي haClose[0] > adaptiveMA[0] عند تشغيل UseHeikenAshi، أو currentPrice > adaptiveMA[0] خلاف ذلك)، AND (recentCrossover || momentum) — إما تقاطع حديث لإغلاق HA فوق المتوسط التكيفي، أو شمعة HA "قوية" يتجاوز جسمها نصف مدى الشمعة، AND volatilityOK التي يفرضها مرشح التذبذب كـ volatility[0] > VolatilityThreshold * pointValue مع VolatilityThreshold = 0.3 افتراضياً، AND rsiBuyCondition التي تطلق عندما يعبر RSI صعوداً من نطاق التشبع البيعي (rsiBuffer[1] < 30 && rsiBuffer[0] > 30) أو عندما يرتفع RSI عبر ممر الشراء 30–50 (rsiBuffer[0] > rsiBuffer[1] && rsiBuffer[1] > rsiBuffer[2] && 30 < rsiBuffer[0] < 50). إشارة البيع هي المرآة المتماثلة: priceBelowMA، تقاطع هبوطي أو شمعة HA هبوطية قوية، volatilityOK، وrsiSellCondition (RSI يعبر هبوطياً من 70، أو RSI يهبط عبر ممر 50–70). مفتاح UseHeikenAshi يبدل قراءات حركة السعر بين سلسلة HA المبنية بالكود والإغلاق الخام؛ UseVolatilityFilter بوابة صلبة، حيث تنهار volatilityOK إلى true فقط عندما يكون المرشح مغلقاً.

ثم تعمل دالة منفصلة اسمها GetConfirmationSignal() كبوابة على كل دخول. تتفرع إلى أربع طرق بحسب مدخلي وضع RSI وهما RSI_UseCrossoverSignals وRSI_UseDivergenceSignals. عند تشغيل كليهما، تتطلب إما تقاطع RSI لمستويات 30/70 أو تباعد سعر/RSI على 5 شموع (السعر يصنع قاعاً أدنى بينما RSI يصنع قاعاً أعلى، أو العكس للهبوطي). عند تشغيل التقاطع فقط، تتطلب تقاطع 30/70. عند تشغيل التباعد فقط، تتطلب تباعد السعر/RSI على 5 شموع. عند إغلاق كليهما، تعود إلى فحص ممر بسيط بأن RSI يجلس بين 30 و70. كما تُربط volumeConfirm لكن قيمتها الافتراضية true لأن موجات EURUSD للتداول بالتجزئة غالباً ما تفتقر لاستمرارية حجم التداول.

قبل خروج أي أمر، تستدعي CheckForEntry() ثلاث مرشحات مسبقة. IsMarketConditionsOK() يحظر الدخول عندما يتجاوز السبريد المباشر MaxSpread (5.0 نقاط افتراضياً)، أو عندما ينتهك السحب المباشر MaxDrawdownPercent (10%)، أو عندما يصل عدد المراكز المفتوحة إلى MaxOpenTrades (5). ينفذ IsPositionManagementOK() حارس pyramiding: عندما يكون AllowOnlyProfitableAdditions true، يمشي على كل مركز مفتوح بسحر هذا الإكسبرت ويعد كم منها في منطقة ربح لا تقل عن MinProfitInPointsPerTradeToAdd (20 نقطة)؛ لا يرجع true إلا إذا كان كل مركز مفتوح يتجاوز هذا الحد الأدنى — أو، عندما لا تكون هناك مراكز مفتوحة، يرجع true تلقائياً. تعمل IsOptimalTradingSession() على تقصير الدائرة إلى true عندما يكون UseSessionFilter مغلقاً أو عندما يعمل الإكسبرت داخل Strategy Tester؛ وإلا فإنها تتحقق من ساعة الخادم مقابل نوافذ الجلسات الثلاث TradeOverlapSession (13–16)، وTradeLondonSession (8–16)، وTradeNewYorkSession (13–21). حظر الجلسة هو أبسط طريقة لتحييد الإكسبرت على شموع عطلة نهاية الأسبوع أو ساعات الجلسة الآسيوية الهادئة دون تغيير منطق الإشارة.

عندما يتجاوز الشراء أو البيع كل البوابات الأربع — الإشارة، التأكيد، إدارة المراكز، ظروف السوق، الجلسة — يفتح الإكسبرت الصفقة بسعر ask/bid المباشر مع StopLossPoints = 50 وTakeProfitPoints = 100 مغروسين في تذكرة الأمر (1:2 نسبة مخاطرة-عائد بتسعير 5 خانات). حجم اللوت ثابت من مدخل LotSize (1.0 افتراضياً، النطاق 0.012.0). ثم تعد CheckPositionTypes() تذاكر الشراء والبيع المملوكة لهذا السحر وتحدد كل اتجاه عند MaxOpenTrades.

يعيش القفل التصاعدي للربح القائم على العلامة المائية في ManageDynamicStopLoss()، التي تعمل على كل تك على كل مركز مفتوح. تتعقب مصفوفة lastHighestProfit[] لكل مركز، وتحسب الربح الحالي بالنقاط ((bid - priceOpen) / pointValue للشراء، والعكس للبيع)، وتحدّث العلامة المائية عند تسجيل قمة جديدة. عندما تتجاوز العلامة LockProfitEvery_X_Points (30.0)، تحسب lockSteps = floor(watermark / 30) وlockProfitPoints = lockSteps * 30 - LockMinusBuffer (15.0)، ثم تترجم ذلك إلى وقف خسارة جديد يقع lockProfitPoints فوق الدخول للشراء (أو تحته للبيع). لا يطلق القفل التصاعدي إلا عندما يكون الوقف الجديد أفضل بصرامة من الحالي — يمكنه شد الوقف لكن لا يمكنه أبداً إرخاءه، لذا فإن حركة إعادة الربح لا تعيد فتح المخاطرة. يُغلِّف TryModify_EX12043() استدعاء تعديل الأمر الفعلي في حلقة إعادة محاولة من ثلاث محاولات مع سكون 100 مللي ثانية على TRADE_RETCODE_REQUOTE وTRADE_RETCODE_TIMEOUT وTRADE_RETCODE_PRICE_OFF وTRADE_RETCODE_PRICE_CHANGED، وتطبق TryClose_EX12043() وTryClosePartial_EX12043() المتناظرتان نفس نمط إعادة المحاولة مع سكون 200 مللي ثانية على عمليات إغلاق المراكز.

سياسة الإضافة إلى المراكز الرابحة (pyramid-into-winners) متصلة بمسار الدخول ومرشح إدارة المراكز المسبق. مع AllowOnlyProfitableAdditions = true وRequireToCheckForConfirmationBeforeAdding = true، لا يُسمح بصفقة جديدة في نفس الاتجاه كمركز قائم إلا عندما (أ) يكون كل مركز قائم في ذلك الاتجاه في منطقة ربح لا تقل عن 20 نقطة، و(ب) لا تزال GetConfirmationSignal() ترجع true. هذه هي القاعدة التي تمنع الإكسبرت من الإضافة بطريقة martingale إلى اتجاه خاسر: يمكنك الإضافة فقط عندما تكون التذاكر القائمة بالفعل تدفع ثمن مخاطرها الخاصة.

عدة ميزات لعائلة EX12 التي يعلنها رأس المصدر مرئية-لكن-خاملة في هذا البناء. يُكشف MaxRiskPerTrade (2.0%) كمدخل لكنه لا يُستهلك في مسار التحجيم — التحجيم هو LotSize الثابت فقط. تتوافق تصنيفات الـ12 طبقة في الرأس بوضوح مع سجل الدوال — REGIMEIsOptimalTradingSession + التذبذب، SIGNALGetBuySignal/GetSellSignal، ENTRYCheckForEntry، CONFIRMGetConfirmationSignal، NO-TRADEIsMarketConditionsOK، CAPITAL CAPMaxDrawdownPercent + MaxOpenTrades، RISKStopLossPoints، SIZINGLotSize، MANAGEManageDynamicStopLoss، EXIT → القفل التصاعدي + TP الأولي، SCALING → الهرم AllowOnlyProfitableAdditions، OnTester → لياقة Strategy Tester — لكن عملياً، يميل الإكسبرت كلياً إلى كود الإشارة/التأكيد/التلاعب المباشر بدلاً من آلة حالة منفصلة يقودها OnTester.

ما يعنيه هذا عملياً: EX12043 هو إكسبرت تلاقي يعمل بمقبض واحد بسلك كامل يطلب من المشغل أخذ التذبذب وتنعيم HA بقيمته الظاهرة بدلاً من مزج طبقات إضافية لمتوسط الارتداد أو الزخم. يُطابق أفضل الحسابات التي يهم فيها ضبط السبريد (سيسد حظر الـ5 نقاط الإدخالات في معظم حسابات ECN حول الـrollover وعلى موجات الوسيط التي تتسع 8+ نقاط على افتتاح لندن)، حيث يكون المتداول مستعداً لترك تصنيفات الـ12 طبقة كبنية ورقية بدلاً من طلب أن تكون كل طبقة قابلة للرصد المستقل في السجل، وحيث تميل شموع EURUSD M5 إلى التحرك 30+ نقطة في يوم تداول واحد بشكل متكرر كافٍ ليجعل القفل التصاعدي فعلياً يطلق. شغّله على M5 أو H1، وليس على أطر زمنية أعلى — لن تتكيف نافذة المتوسط التكيفي بسرعة كافية فوق H1 للتفاعل مع تقلبات التذبذب داخل اليوم، وستبدو خطوة القفل التصاعدي البالغة 30 نقطة ضيقة على شموع H4 وD1 حيث يمكن لسحب واحد أن يمحو جني أرباح 100 نقطة.

تفاصيل الاستراتيجية

يحافظ EX12043 على بصمة مقابض المؤشرات عند واحد — يُخصص iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE) فقط في OnInit — ويبني "المتوسط المتحرك التكيفي" و"هيكن أشي" بالكود من موجة OHLC الخام. المتوسط المتحرك التكيفي هو SMA تتقلب فترة نافذته في [5، 50] شموع، يتدرج بمعامل volRatio = التذبذب الحالي/متوسط التذبذب مع مضاعف الحساسية 2.0؛ يستخدم هيكن أشي الصيغ القياسية haClose=(O+H+L+C)/4 وها المفتوحة العودية. ثم تشغل GetBuySignal وGetSellSignal AND صارمة من 4 طرق: السعر مقابل المتوسط التكيفي، (تقاطع حديث OR جسم HA قوي)، تذبذب فوق عتبة 0.3 نقطة، وشرط RSI يطلق عند التقاطع من التشبع البيعي أو الارتفاع عبر ممر شراء 30–50. GetConfirmationSignal بوابة منفصلة بأربعة أوضاع بحسب مفاتيح RSI_UseCrossoverSignals وRSI_UseDivergenceSignals، والافتراضي هو "إما تقاطع أو تباعد، كلاهما مُمكَّن". يحظر مرشح IsMarketConditionsOK المسبق الإدخالات عندما يتجاوز السبريد 5 نقاط، أو يتجاوز السحب 10%، أو تصل المراكز المفتوحة لحد 5 لكل اتجاه؛ يضيف IsPositionManagementOK حارس pyramiding يتطلب أن يكون كل مركز قائم في منطقة ربح لا تقل عن 20 نقطة قبل إضافة مركز جديد في نفس الاتجاه. تعمل ManageDynamicStopLoss على كل تك وتشد وقف الخسارة لكل مركز كل 30 نقطة من ذروة الربح (ناقص عازل 15 نقطة)، ولا ترخي أبداً. ثلاث مساعدين لإعادة المحاولة — TryClose_EX12043 وTryClosePartial_EX12043 وTryModify_EX12043 — يُغلِّفون عمليات الأوامر الخاصة بهم في حلقات 3 محاولات مع سكون 200 مللي ثانية (إغلاق) أو 100 مللي ثانية (تعديل) على REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED.

إشارة الدخول

يُطلق الشراء عندما يكون إغلاق هيكن أشي (أو السعر المباشر عند إيقاف UseHeikenAshi) فوق المتوسط المتحرك التكيفي المعتمد على التذبذب، AND تم تسجيل تقاطع حديث مع المتوسط أو جسم HA قوي للتو، AND يتجاوز مدى الشمعة عتبة التذبذب 0.3 نقطة، AND يكون RSI قد تجاوز صعوداً خط الـ30 التشبع البيعي أو يرتفع عبر ممر 30–50. تُعكَس مجموعة AND الرباعية للبيع بخط الـ70 التشبع الشرائي. التأكيد بوابة منفصلة: تقاطع RSI مباشر لمستويات 30/70، أو تباعد سعر/RSI على 5 شموع، أو — عند إيقاف كلا وضعي RSI — فحص بسيط بأن RSI بين 30 و70.

إشارة الخروج

تعمل الخروجات على ثلاث سكك: جني الأرباح الأولي عند 100 نقطة (1:2 نسبة مخاطرة-عائد مقابل وقف الخسارة الأولي 50 نقطة على تذكرة الأمر)، وقف القفل التصاعدي القائم على العلامة المائية في ManageDynamicStopLoss() الذي يشد وقف الخسارة كل 30 نقطة من الربح غير المحقق (ناقصاً عازل 15 نقطة) ولا يرخي أبداً، ومساعدات إعادة محاولة إغلاق المركز/الإغلاق الجزئي القياسية. لا يوجد خروج من انعكاس الإشارة في مسار القرار المباشر — الخروج مدفوع بـTP أو SL، مع تحويل القفل التصاعدي للفائزين إلى أوامر وقف عند نقطة التعادل أو أفضل مع الوقت.

وقف الخسارة

وقف الخسارة الأولي 50 نقطة على تذكرة الأمر لكل من الشراء والبيع. ثم يشد القفل التصاعدي القائم على العلامة المائية في ManageDynamicStopLoss() هذا الوقف كل 30 نقطة من ذروة الربح غير المحقق (ناقص عازل 15 نقطة)، مع lockSteps = floor(العلامة المائية / 30)، لكن القفل التصاعدي لا يرخي أبداً وقفاً شده بالفعل. كما يحظر غطاء السحب على مستوى الحساب بنسبة 10% في IsMarketConditionsOK() الإدخالات الجديدة بمجرد انتهاكه.

جني الأرباح

جني الأرباح 100 نقطة على تذكرة الأمر — 1:2 بالضبط مقابل وقف الخسارة الأولي 50 نقطة. يجلس جني الأرباح على تذكرة الأمر بدلاً من أن يكون خروجاً منفصلاً، لذا ينفذ كإغلاق تذكرة واحدة عند الوسيط. القفل التصاعدي القائم على العلامة المائية هو المسار الوحيد الذي يحقق به الإكسبرت ربحاً بسعر مختلف عن جني الأرباح الأولي — يحصل الفائزون الذين يتحركون أكثر من 30 نقطة على إيقافاتهم مشدودة لقفل 15 نقطة تحت كل خطوة 30 نقطة.

الأنسب لـ

EURUSD على M5 أو H1 فقط — لن يصمد غطاء السبريد 5 نقاط أمام سلبي M1 على وسيط يتسع، وفوق H1 تتوقف نافذة المتوسط التكيفي عن التفاعل مع تذبذب داخل اليوم. الحد الأدنى الموصى به للرصيد 100 دولار مع نطاق اللوت الافتراضي 0.011.0، مع التوسع فقط بعد أن يثبت غطاء السحب 10% قدرته على الصمود عبر أسابيع متعددة. اقرنه بوسيط no-dealing-desk على حساب سبريد خام (IC Markets أو Pepperstone أو Exness Pro) ليكون غطاء الـ5 نقاط ذا معنى؛ وسيط dealing-desk بفروق 8+ نقطة حول الـrollover سيحظر معظم الإدخالات. تستهدف الإعدادات الافتراضية جلستي لندن ونيويورك مع UseSessionFilter = true للبث المباشر، لكن Strategy Tester يقصر الدائرة على المرشح ليعمل الاختبار الخلفي على كامل الأسبوع.

منطق الاستراتيجية

Pipsgrowth EX12043 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: MultiIndicatorConfluence الماجيك: 22212043 الإصدار: 2.00

الوصف: Adaptive forex scalping EA combining AMA, RSI and Heiken Ashi confluence. Dynamic profit locking, additional position management, session and volatility filters. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • مؤشرات قياسية

الدوال الرئيسية:

  • UpdateAdaptiveIndicators()
  • CalculateAdaptiveVolatility()
  • CalculateAdaptiveMA()
  • CalculateRSI()
  • CalculateHeikenAshi()
  • CheckForEntry()
  • GetBuySignal()
  • GetSellSignal()
  • GetConfirmationSignal()
  • IsMarketConditionsOK()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX12043 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Adaptive forex scalping EA combining AMA, RSI and Heiken Ashi confluence. Dynamic profit locking, additional position management, session and volatility filters. 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)
MagicNumber22212043Magic number
InpTradeComment"Psgrowth.com Expert_12043"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
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
UseHeikenAshitrueUse Heiken Ashi for smoother signals
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_EX12043.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX12043 EURUSD_v1_0_1_2 — Adaptive AMA+RSI+Heiken Ashi scalper, 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 = 22212043;                  // Magic number
input string   InpTradeComment = "Psgrowth.com Expert_12043"; // 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 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
input bool     RSI_UseDivergenceSignals = false;       // Use RSI divergence signals
input bool     EnableRSI_Debug = false;                // Enable RSI debug logging

input group "=== Additional Indicators ==="

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

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

الوسوم:ex12043multiindicatorconfluencepipsgrowthfreemt5eurusd

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

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

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

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

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

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

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

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