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.01–2.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 طبقة في الرأس بوضوح مع سجل الدوال — REGIME → IsOptimalTradingSession + التذبذب، SIGNAL → GetBuySignal/GetSellSignal، ENTRY → CheckForEntry، CONFIRM → GetConfirmationSignal، NO-TRADE → IsMarketConditionsOK، CAPITAL CAP → MaxDrawdownPercent + MaxOpenTrades، RISK → StopLossPoints، SIZING → LotSize، MANAGE → ManageDynamicStopLoss، 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.01–1.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()
// 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)ملف التحسين
كيفية تثبيت الإكسبرت على 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 | 22212043 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_12043" | 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 |
| 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 |
| UseHeikenAshi | true | Use Heiken Ashi for smoother signals |
| 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 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 ==="
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.