Pipsgrowth EX12040 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · EURUSD · M5، H1
Pipsgrowth EX12040 MultiIndicatorConfluence — Adaptive forex scalping EA combining AMA, RSI, ATR, Bollinger Bands, MACD and Heiken Ashi confluence. Supports BB breako. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX12040 MultiIndicatorConfluence هو البناء رباعي المقابض لعائلة EX12 — كل مؤشر تتيحه المنصة يحصل على مقبض i* خاص به مربوط بالدخول والتأكيد معاً، لذا فإن كومة الإشارات تطلق من اتجاه المتوسط المتحرك التكيفي (AMA)، وشكل الشمعة، والتذبذب المستند إلى ATR، وموقع نطاق بولنجر، وحالة الهيستوجرام/خط الإشارة في MACD، وتقاطع RSI، واتجاه هيكن آشي، وكلها تمر عبر بوابة AND خماسية قبل أن تعيد طبقة التأكد فحص نفس الكومة بمنطق مختلف. يفتح ملف .mq5 بـ iRSI(_Symbol, PERIOD_CURRENT, RSI_Period, PRICE_CLOSE)، وiATR(_Symbol, PERIOD_CURRENT, ATR_Period)، وiBands(_Symbol, PERIOD_CURRENT, BB_Period, (int)BB_Deviation, 0, PRICE_CLOSE)، وiMACD(_Symbol, PERIOD_CURRENT, MACD_FastEMA, MACD_SlowEMA, MACD_SignalPeriod, PRICE_CLOSE) — أربعة مقابض حقيقية، بلا تجريد من نوع IndicatorsTotal، إضافة إلى مصفوفات تُملأ يدوياً للمتوسط المتحرك التكيفي (الذي لا يزال الترويس يصفه بـ AMA على الرغم من أنه في الحقيقة SMA مرجح بنافذة تذبذب تتأرجح بين 5 و50، الأساس 14، الحساسية 2.0) ولمصفوفات هيكن آشي العودية التي تبدأ haOpen[0]=(O+C)/2 ثم تتابع haOpen[i]=(haOpen[i-1]+haClose[i-1])/2 لبقية الأعمدة. تنسخ دالة Calculate* الخاصة بكل مقبض ثلاث أعمدة بالضبط من المخزن عبر CopyBuffer(handle, 0, 0, 3, ...) — نافذة الأعمدة الثلاثة هذه هي الحالة الوحيدة التي يقرأها باقي الكود، وهي ما يستند إليه فرع الانحراف (نظرة خلفية لـ5 أعمدة للسعر/RSI). كل من CalculateRSI وCalculateATR يأتيان مع حلقات احتياطية يدوية تحسب المؤشر يدوياً في حال أعاد المقبض INVALID_HANDLE بعد التهيئة، وهو كود دفاعي لكنه لا يُفعَّل في التشغيل العادي.
يعمل جانب الدخول مرة لكل عمود جديد من OnTick(). تبدأ GetBuySignal بخمسة شروط AND: priceAboveMA (الإغلاق > adaptiveMA[0])، وbullishCandle (الإغلاق > الافتتاح)، وvolatilityOK (مستند إلى ATR، العتبة = ATR_VolatilityMultiplier * VolatilityThreshold * pointValue، الافتراضي 0.3 * pointValue على M5/H1 لـEURUSD)، وbbOK (موقع نطاق بولنجر يعتمد على أي من الوضعين المتبادلين الحصريين نشط — BB_UseBreakoutStrategy=true افتراضياً يعني شراء عند الإغلاق > bbUpper[0]، بيع عند الإغلاق < bbLower[0]؛ تشغيل BB_UseMeanReversionStrategy=true يقلب القطبية فيصبح الشراء عند الإغلاق < bbLower[0] والبيع عند الإغلاق > bbUpper[0])، وmacdOK. فرع macdOK هو OR ثلاثي خاص به: إذا كان MACD_UseHistogramCrossover وMACD_UseSignalLineCrossover كلاهما مُفعَّل (الافتراضي)، فإن macdOK = (تقاطع الهيستوجرام || تقاطع خط الإشارة) حيث تقاطع الهيستوجرام = macdHistogram[1] < 0 && macdHistogram[0] > 0 (أو العكس للبيع) وتقاطع خط الإشارة = macdMain[1] < macdSignal[1] && macdMain[0] > macdSignal[0]. عند تفعيل طريقة MACD واحدة فقط، ينهار OR إلى ذلك الفحص الوحيد. بعد AND الخماسي، تضيف الدالة اختيارياً rsiOK (تقاطع RSI صعوداً عبر التشبع البيعي 30 للشراء، أو هبوطاً عبر التشبع الشرائي 70 للبيع، الفترة الافتراضية 14) وhaBullish (haClose[0] > haOpen[0]) بناءً على مفتاحي UseRSIforEntrySignals وUseHeikenAshi. تعكس GetSellSignal الهيكل نفسه للبيع بنفس العتبات المعكوسة.
طبقة التأكيد — GetConfirmationSignal() — تشغل نفس الكومة مرة ثانية، لكن بنكهة منطقية مختلفة. تحسب rsiNotInExtremeZones (RSI بين 30 و70)، وrsiCrossoverConfirm، وrsiDivergenceConfirm (نظرة خلفية لـ5 أعمدة: قاع السعر في العمود 1 مقابل العمود 5 مقابل قيمة RSI في نفس الإزاحات)، وvolumeConfirm (دائماً true لأن تجزئة الفوركس بالتجزئة نادراً ما تملك بيانات حجم ذات معنى)، وhaConfirm (شمعتان متتاليتان صاعدتان أو هابطتان في هيكن آشي — فحص لاستمرارية الاتجاه وليس للشمعة الحالية فقط)، وbbConfirm، وmacdConfirm. الروتين الفرعي bbConfirm يحسب priceToBBUpperRatio = (السعر − bbMiddle) / (bbUpper − bbMiddle) وpriceToBBLowerRatio = (bbMiddle − السعر) / (bbMiddle − bbLower)، يجتاز الفحص عندما يكون أيهما أكبر من 0.8 في وضع الاختراق (السعر في الـ20% الخارجية من غلاف النطاق) أو عندما يجلس السعر في النصف الداخلي من غلاف النطاق في وضع الارتداد. الروتين الفرعي macdConfirm هو OR ثلاثي من macdBullish (خط الـmain > 0 أو خط الـmain في اتجاه صاعد على آخر 3 أعمدة)، وmacdBearish (خط الـmain < 0 أو في اتجاه هابط)، وhistogramTrendOK (الهيستوجرام موجب ومتزايد، أو سالب ومتناقص). المُجمِّع النهائي هو محدد الفروع الأربعة المألوف: عند تشغيل كل من RSI_UseCrossoverSignals وRSI_UseDivergenceSignals، تقبل الدالة (التقاطع OR الانحراف) AND الحجم AND bbConfirm AND haConfirm AND macdConfirm؛ عند تشغيل التقاطع فقط، تطلب تقاطع AND الحجم AND bbConfirm AND haConfirm AND macdConfirm؛ عند تشغيل الانحراف فقط، انحراف AND الحجم AND bbConfirm AND haConfirm AND macdConfirm؛ عند عدم تشغيل أي منهما، rsiNotInExtremeZones AND الحجم AND bbConfirm AND haConfirm AND macdConfirm. تأكيدات BB وHA وMACD هي الهيكل الثابت الذي يتفرع فوقه فرع RSI.
منطق التنفيذ صارم في الهرمة نحو الرابحين. قبل أول تذكرة في اتجاه ما، تُختصر IsPositionManagementOK() إلى true (لا توجد مراكز حالية لتقييمها). بمجرد فتح تذكرة، يتطلب الدخول التالي في نفس الاتجاه اجتياز التأكيد AND أن تعيد IsPositionDirectionProfitable(POSITION_TYPE_BUY/SELL) قيمة true، مما يعني أن كل مركز مفتوح في ذلك الاتجاه يجب أن يكون رابحاً حالياً بـMinProfitInPointsPerTradeToAdd = 20 نقطة على الأقل. MaxOpenTrades = 5 يحد الكومة لكل اتجاه، وRequireToCheckForConfirmationBeforeAdding = true يعني أن التذاكر الإضافية يجب أن تجتاز نفس البوابة التي اجتازتها الأولى. لا يوجد مسار خروج للإشارة المعاكسة — يمكن أن يتعايش الاتجاهان (5 شراء و5 بيع في وقت واحد قانوني)، والـEA لا يربح أبداً رابحاً بسبب ظهور إشارة معاكسة. SL الابتدائي = StopLossPoints * pointValue = 50 نقطة، TP الابتدائي = TakeProfitPoints * pointValue = 100 نقطة، يُضبطان على تذكرة الأمر عند الإرسال. تعمل حلقة ManagePositions() كل تيكت، تستدعي ManageDynamicStopLoss() لكل مركز مفتوح. تتابع تلك الدالة lastHighestProfit[] لكل فهرس مركز، ثم في كل تيكت تحسب lockSteps = floor(الذروة / LockProfitEvery_X_Points) = floor(الذروة / 30) وnewSL = سعر_الفتح + (lockSteps * 30 − LockMinusBuffer) * pointValue = سعر_الفتح + (lockSteps * 30 − 15) * pointValue للشراء، معكوسة للبيع. حارس 'shouldModify' لا يطلق إلا عندما يكون SL الجديد أفضل قطعاً من الحالي (newSL > currentSL للشراء، newSL < currentSL للبيع، مع فحص الصفر لـSL الفارغ في جانب البيع)، لذا فإن السقف المسنن يصعد لأعلى ولا يرتخي أبداً.
كوم الأمان كثيف. ترفض IsMarketConditionsOK() أي تيكت يتجاوز فيه السبريد الحالي MaxSpread = 5.0 نقطة (تجاوز 5x عند 25 نقطة). تحسب drawdownPercent = 100 * (1 − حقوق_الملكية/الرصيد) وتحظر دخولاً جديداً بعد MaxDrawdownPercent = 10.0. بوابة تذبذب ATR مزدوجة التسليح: منطق الدخول يطلب atrBuffer[0] > 0.3 * pointValue لينظر في صفقة، وIsMarketConditionsOK لها رفض منفصل atrBuffer[0] < minATR فترفض الـEA إطلاقاً إطلاق النار عند انهيار التذبذب. مرشح الجلسة يعيش في IsOptimalTradingSession() وهو اشتراكي عبر UseSessionFilter = false افتراضياً — عند الإيقاف، يعيد true دون شرط، وعلامة isTester المدمجة تختصره إلى true أيضاً فمرشد الاستراتيجية لا يرفض شموعاً لأسباب زمنية. عند التفعيل، يقبل لندن (8–16 GMT)، ونيويورك (13–21 GMT)، وتداخل لندن/نيويورك (13–16 GMT) عبر ثلاث متغيرات منطقية مستقلة. الانزلاق = 3 نقاط. LotSize إدخال ثابت افتراضيه 1.0 (MaxRiskPerTrade مُعرَّف لكن لا يُفرض بواسطة كود التحجيم المرئي — هذا EA بحجم لوت ثابت، وليس بحجم نسبة مخاطرة). تُوجَّه كل عمليات الإغلاق والتعديل عبر ثلاث مساعدات إعادة المحاولة (TryClose_EX12040، TryClosePartial_EX12040، TryModify_EX12040)، كل منها يحاول العملية لما يصل إلى 3 مرات مع سكون 200 مللي ثانية عند REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED (100 مللي ثانية للتعديل) وينكسر عند أي كود إرجاع آخر — هذا ما يحفظ الـEA من التعطل على إعادة التسعير المتقطعة عند افتتاح لندن.
في بيئة الباك تيست، هذا هو الـEA الذي يجب تشغيله إذا أردت رؤية كيف تتصرف كومة التقاء الكاملة. الإعداد الافتراضي هو اختراق BB + MACD بكلا الوضعين + تقاطع RSI + هيكن آشي مُفعَّل، وهي أكثر توليفة إشارات عدوانية يدعمها الكود. اضبطه بقلب BB_UseMeanReversionStrategy للتداول في النطاق، أو عطل UseMACD_ForEntrySignals لإعادة الكومة إلى AND رباعي إذا أردت مقارنة القيمة الحدية لفرع MACD. قفل الوقف الديناميكي يجعل هذا مرشحاً معقولاً لأيام الاتجاه على M5 EURUSD مع تفعيل مرشح جلسة لندن، ونسبة المخاطرة إلى العائد الابتدائية 1:2 (50/100) تمنح كل صفقة مساحة للتنفس قبل أن يدخل السنن عند +30 نقطة. للنشر الحي، شغله على وسيط ECN أو RAW سبريد منخفض (IC Markets، Pepperstone، Exness) برصيد ابتدائي لا يقل عن 100 دولار وتحجيم لوت 0.01 يُرفع فقط بعد أن يثبت مرشح السبريد وسقف الانخفاض نفسيهما على بياناتك. مرشد الاستراتيجية سيرسم صورة أنظف من الحي لأن بوابة الجلسة معطلة هناك — عند تشغيلها، توقع انخفاض عدد الصفقات حاداً وتحسن جودة الصفقة الواحدة. الـEA مبني حصراً لـEURUSD (الزوج الوحيد الذي ضُبطت له كومة المؤشرات في هذا البناء) ويعمل على أعمدة M5 وH1 — أي شيء تحت M5 سيبدأ بضرب عتبة تذبذب ATR باستمرار، وأي شيء فوق H1 يجعل فحص الانحراف لـ5 أعمدة ينظر إلى بيانات قديمة.
تفاصيل الاستراتيجية
في كل تيكل، يحدّث الـEA مقابض المؤشرات الأربعة الأصلية — iRSI(14)، وiATR(14)، وiBands(20, 2.0)، وiMACD(12, 26, 9) — إضافة إلى مصفوفات المتوسط التكيفي وهيكن آشي وبولنجر المملوءة يدوياً، لكنه لا يُشغّل CheckForEntry إلا عند اكتشاف عمود جديد. بوابة العمود الجديد تمشي بعدها IsMarketConditionsOK (سبريد ≤ 5pt، انخفاض ≤ 10%، ATR فوق 0.3 * pointValue)، وIsPositionManagementOK (عند وجود مراكز، يجب أن يكون كل مركز مفتوح في نفس الاتجاه رابحاً بـ20 نقطة على الأقل)، وIsOptimalTradingSession (معطلة افتراضياً، اشتراكية لـلندن 8-16 / نيويورك 13-21 / التداخل 13-16 GMT، ومختصرة إلى true في مرشد الاستراتيجية). عندها فقط تعمل GetBuySignal وGetSellSignal، وكلتاهما يجب أن يجتاز AND خمسة شروط (السعر مقابل MA، اتجاه الشمعة، التذبذب، موقع نطاق بولنجر، حالة MACD) إضافة إلى بوابتي تقاطع RSI وهيكن آشي الاختياريتين. مرور ثانٍ عبر GetConfirmationSignal يعيد التحقق من نفس الكومة بمُجمِّع فروع أربعة (تقاطع+انحراف / تقاطع فقط / انحراف فقط / RSI في النطاق) مع AND ضد bbConfirm وhaConfirm وmacdConfirm قبل أن يُطلق trade.Buy أو trade.Sell. تعمل إدارة المراكز كل تيكل عبر ManagePositions → ManageDynamicStopLoss، تتابع العلامة المائية lastHighestProfit لكل تذكرة وتُرقّي الوقف كل 30 نقطة من ذروة الربح، ناقصاً عازلة 15 نقطة، لا يرتخي أبداً. منطق الهرمة نحو الرابحين يحد تعرض نفس الاتجاه عند MaxOpenTrades = 5 ويتطلب أن تتجاوز كل تذكرة إضافية نفس بوابة التأكيد إضافة إلى فحص ربحية الاتجاه.
تتطلب دخولات الشراء خمسة شروط AND: إغلاق فوق المتوسط المتحرك التكيفي المرجح بنافذة التذبذب، وشمعة صاعدة حالية (الإغلاق > الافتتاح)، وATR فوق عتبة التذبذب (0.3 * pointValue)، وموقع نطاق بولنجر (شراء عند الإغلاق > bbUpper في وضع الاختراق، أو شراء عند الإغلاق < bbLower في وضع الارتداد)، وحالة MACD (هيستوجرام يعبر فوق الصفر أو خط MACD الرئيسي يعبر فوق خط الإشارة). عند تشغيل UseRSIforEntrySignals (الافتراضي)، يُطلب تقاطع RSI إضافي صعوداً عبر 30؛ وعند تشغيل UseHeikenAshi، يُطلب haClose > haOpen على الشمعة الحالية. تعكس البيعات نفس الكومة بالعتبات المعكوسة.
تأتي المخارج من تحقق جني الأرباح الابتدائي = 100 نقطة، أو من تشغيل السقف المسنن الديناميكي بواسطة السعر. لا يوجد مسار خروج للإشارة المعاكسة ولا خروج مبني على الوقت — عندما تصل مركز إلى هدف 1:2 RR يُغلق الأمر نفسه، وعندما يُضرب قفل السقف الديناميكي عند سعر_الفتح + (lockSteps * 30 − 15) * pointValue (أو معكوس للبيع) يُغلق الأمر نفسه، والـEA لا يُغلق يدوياً رابحاً بسبب ظهور إشارة معاكسة. يمكن للاتجاهين التعايش معاً عند سقف MaxOpenTrades=5 لكل اتجاه في وقت واحد.
يحصل كل أمر على وقف ثابت 50 نقطة (StopLossPoints * pointValue، مع تعديل pointValue ×10 لوسطاء 5/3 خانات) يُضبط على التذكرة عند الإرسال. ثم تقوم دالة ManageDynamicStopLoss بتسنن الوقف صعوداً مع نمو الربح، تحسب lockSteps = floor(الذروة / 30) وnewSL = سعر_الفتح + (lockSteps * 30 − 15) * pointValue للشراء (معكوس للبيع)، تشدد فقط — الوقف لا يرتخي أبداً بمجرد تحركه.
يحصل كل أمر على جني أرباح ثابت 100 نقطة (TakeProfitPoints * pointValue) يُضبط على التذكرة عند الإرسال — نسبة مخاطرة إلى عائد 1:2 مقابل الوقف الابتدائي 50 نقطة. الـTP لا يتحرك؛ السنن الديناميكي يعمل على جانب الوقف، لا على جانب الهدف. لا يوجد TP سلة ولا سلّم TP جزئي — TP هو TP، أصبه وانتهى الأمر.
EURUSD على أعمدة M5 أو H1 فقط — كومة المؤشرات مضبوطة لهذا الزوج وهذه الأطر الزمنية. الحد الأدنى للرصيد الموصى به 100 دولار مع تحجيم لوت 0.01 يُرفع فقط بعد أن يثبت مرشح السبريد وسقف الانخفاض 10% نفسيهما في بيئتك. شغله على وسيط ECN أو RAW سبريد منخفض (IC Markets، Pepperstone، Exness) حيث يبقى سبريد EURUSD النموذجي داخل الافتراضي 5 نقاط. مرشح الجلسة اشتراكي؛ شغله مع TradeLondonSession=true (وTradeOverlapSession=true لنافذة التذبذب) للتشغيل في لندن فقط، اتركه معطلاً لتغطية الأسبوع كاملة. النسبة الابتدائية 1:2 ووقف/هدف 50/100 يجعلان هذا استراتيجية يوم اتجاه، وسقف 5-مراكز لكل اتجاه مع بوابة ربحية الاتجاه يعني أنه يُدرج التعرض في الرابحين بدلاً من إطلاق النار بشكل متكرر في التذبذب.
منطق الاستراتيجية
Pipsgrowth EX12040 MultiIndicatorConfluence — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MultiIndicatorConfluence
الماجيك: 22212040
الإصدار: 2.00
الوصف:
Adaptive forex scalping EA combining AMA, RSI, ATR, Bollinger Bands, MACD and Heiken Ashi confluence. Supports BB breakout/mean-reversion, MACD histogram and signal-line cross, 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()CalculateATR()CalculateBollingerBands()CalculateMACD()CheckForEntry()GetBuySignal()
// Pipsgrowth EX12040 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Adaptive forex scalping EA combining AMA, RSI, ATR, Bollinger Bands, MACD and Heiken Ashi confluence. Supports BB breakout/mean-reversion, MACD histogram and signal-line cross, 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 | 22212040 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_12040" | 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 | true | Use Bollinger Bands for entry signals |
| UseBBforConfirmation | true | Use Bollinger Bands for confirmation |
| BB_UseBreakoutStrategy | true | 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 EX12040 EURUSD_1_4 — Adaptive AMA+RSI+ATR+BB+MACD+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 = 22212040; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_12040"; // 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.