Pipsgrowth EX16061 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX16061 Trend — Optimized Expert Advisor addressing 100+ performance and structure issues, combining RSI entry signals, Momentum Breakou. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يركّز Pipsgrowth EX16061 Trend على فكرة واحدة واضحة: لا تستحق أي صفقة إلا تلك التي تتقاطع فيها البنية والزخم والتذبذب في شمعة واحدة. معظم أنظمة المؤشرات تتعامل مع الإشارات كأصوات مستقلة، بينما يعاملها EX16061 كسلسلة — المؤشر الأول يقترح، والمؤشر الثاني يتحقق من مصداقية الاقتراح، والثالث يتأكد من أن السوق يتحرك فعلاً، وبعدها فقط يقرر الروبوت المجازفة بصفقة. هذا المنطق المتسلسل (اقتراح/فلترة/تحقق) هو ما يصفه الكود المصدري بهندسة الطبقات الاثنتي عشرة: نظام السوق، الإشارة، الدخول، التأكيد، بوابة عدم التداول، سقف رأس المال، المخاطر، تحديد الحجم، إدارة الصفقات، الخروج، التوسيع، ودالة OnTester لقياس اللياقة.
افتراضياً، تكون طبقتان فقط من طبقات الدخول مفعّلتين فعلياً. طبقة هيكل اختراق الزخم (MBS) يكون فيها كل من MBS_EntrySignal_BUY وMBS_EntrySignal_SELL مفعّلاً، وكذلك طبقة قناة Donchian يكون فيها كل من DC_EntrySignal_BUY وDC_EntrySignal_SELL مفعّلاً. أما باقي طبقات الدخول — مؤشر RSI، وHMA (المتوسط المتحرك Hull)، ومؤشر Magic الخاص — فجميعها تأتي معطلة. تتيح لك الـ182 مُدخلاً إيقاظ أي طبقة من تلك الطبقات وتحديد ما إذا كانت ستعمل كإشارة دخول، أو كتأكيد، أو كمُحفّز خروج، أو كتأكيد خروج. افتراضياً، يفتح الروبوت إذاً على اختراق قناة Donchian وقّعت عليه طبقة MBS، دون الحاجة إلى تأكيدات إضافية.
تقرأ طبقة MBS (دالة MBS_Decision()) الإطار الزمني الأعلى عبر g_MBS_Timeframe، وتعود للنظر في MBS_LookbackBars شمعة (20 افتراضياً) لتحليل البنية، ولا تُصدر إشارة إلا إذا كان الاختراق لا يقل عن MBS_MinBreakoutSize نقطة. تتحقق بعدها من الزخم عبر MBS_MomentumThreshold (0.7 افتراضياً) ومن قوة الاتجاه عبر MBS_TrendStrengthMin (0.6) قبل أن تصبح الإشارة مرشحة. يجب أن يقفز الحجم بمضاعف MBS_VolumeMultiplier (1.5×) وأن يتجاوز الاختراق مرشّح قائم على ATR بإعدادات MBS_ATRPeriod (14) وMBS_ATRMultiplier (1.0). أما طبقة Donchian (دالة DonchianChannel_Decision()) فتقرأ DC_ChannelPeriod (20) شمعة من الأعلى/الأدنى، ولا تقبل إلا الاختراقات التي تتجاوز DC_MinBreakoutPoints (10) نقطة بعدد DC_ConfirmationBars (2) شمعة تأكيـد. مرشّح ارتداد DC_MinPullbackPoints ومرشّح النطاق الأدنى DC_MinRangePoints (20 نقطة) يمنعا الروبوت من التداول داخل ضوضاء السوق.
مع كل شمعة جديدة يُعيد الروبوت تقييم السلسلة كاملة. تستدعي ProcessTradingLogic() أولاً ClassifyRegime() لتحديد ما إذا كان السوق في اتجاه، أو في نطاق، أو في حالة تذبذب. إذا لم يجتاز السوق هذا التصنيف، يُرفض الدخول قبل توليد أي إشارة. بعدها تُشغّل بوابة عدم التداول سلسلة فحوص: IsMarketOpen() للتحقق من فتح السوق، وIsSpreadAcceptable() لرفض الانتشار الذي يتجاوز MaxSpread (30.0 نقطة)، وIsWithinSession() للتحقق من الجلسة (لندن 8–17 ونيويورك 13–22 افتراضياً عبر UseSessionLondon وUseSessionNewYork)، وسقف MaxOpenTrades (5 صفقات)، ووقف MaxDrawdownPercent (10.0%) الصارم، وسقف MaxRiskPerTrade (2.0%) لكل صفقة. يُضيف مفتاح KillSwitch وعدّاد الخسائر المتتالية طبقة أمان إضافية عند ظهور سلسلة خسائر.
يستخدم تحديد حجم الصفقة قيمة ثابتة LotSize تساوي 0.01 لوت — فالروبوت لا يحسب الحجم من نسبة المخاطرة، ومدخل MaxRiskPerTrade يعمل كحاجز أمان وليس معادلة حسابية فعلية. تُسلّم دالة ExecuteTrade() الأمر إلى كائن CTrade القياسي مع تعبئة ORDER_FILLING_FOK، و3 نقاط انزلاق، ورقم السحر 22216061 المكتوب كمدخل MagicNumber وكثابت g_MagicNumber في الكود. تأخذ كل صفقة تعليق Psgrowth.com Expert_16061 ليسهل تصفيتها في تيرمنال MT5.
هندسة الطبقات الاثنتي عشرة ليست مجرد شعار تسويقي. انظر إلى قائمة الدوال: نظام الوقت يتكون من 10 دوال مستقلة (GetAdjustedTime()، IsWithinSession()، IsSessionActive()، IsSessionOverlap()، IsEndOfDayTime()، IsEndOfWeekTime()، IsTradingDay()، IsNewsTime()، IsTimeBasedEntryPaused()، IsTimeFilterValid()، إضافة إلى ManageEODPositions() وManageEOWPositions() للإغلاق القسري). نظام الإشارات طبقة أخرى (RSI_Decision()، MBS_Decision()، DonchianChannel_Decision()، HMA_Decision()، ودالة Magic_Decision() الموازية، إضافة إلى CheckRSIConfirmation()، CheckMBSConfirmation()، CheckDCConfirmation()، CheckHMAConfirmation()، CheckMagicConfirmation()). طبقة إدارة الصفقات تشغّل قفل الربح — عند تفعيل EnableDynamicLockProfit (مفعّل افتراضياً) مع LockProfitEvery_X_Points (30.0) نقطة، يقوم الروببت برفع وقف الخسارة بمقدار LockMinusBuffer (15.0) نقطة خلف السعر الحالي كل 30 نقطة ربح. يفرض CanAddNewPosition() قاعدة AllowOnlyProfitableAdditions: لا يُضاعف الروبوت على صفقة قائمة إلا إذا كانت كل الصفقات القائمة في ربح لا يقل عن MinProfitInPointsPerTradeToAdd (20) نقطة.
يستحق مؤشر Magic ذكراً خاصاً. إنه إشارة الروبوت المخصصة: GetMagicBandsBuffer() تُرجع غلاف تذبذب، وGetMagicATR() تقرأ متوسط المدى الحقيقي، وGetMagicEMA_HTF() تقرأ المتوسط المتحرك الأسي للإطار الزمني الأعلى، وMagicFilter() تقرر ما إذا كان السعر داخل النطاقات أم يخرج منها. مفتاح UseAutoFilter (مفعّل افتراضياً) يجعل النطاقات تتكيف مع تذبذب الرمز الأخير بدلاً من استخدام مسافات ثابتة. حتى مع تفعيل UseMagic_Decision تبقى أعلام الشراء/البيع الفردية لمؤشر Magic معطلة افتراضياً — يتيح تشغيلها لمؤشر Magic أن يعمل كإشارة دخول مستقلة، تماماً مثل RSI (دورة 14، تشبّع شرائي 70، تشبّع بيعي 30) وHMA (دورة 21، مرشّح ضوضاء 1.5× ATR). يمكن لأي من هذه الطبقات أن تعمل كإشارة أو كتأكيد أو كمُحفّز خروج أو كتأكيد خروج — يقرر المتداول الدور.
الإعداد الواقعي المعتاد: أبقِ MBS وDonchian كمُحفّزي دخول (الإعداد الافتراضي)، فعّل RSI_Confirm_BUY بحيث لا يُفتح الشراء إلا إذا كان RSI(14) على الإطار الزمني الأعلى المختار فوق 50، وفعّل HMA_Confirm_BUY بحيث يكون ميل HMA(21) موجباً، واترك مؤشر Magic كفلتر تأكيد فقط عبر UseMagic_Decision، ودع قفل الربح المُتحرّك يدير الخروج. النتيجة: روبوت يفتح بضع صفقات عالية الاقتناع في الجلسة بدلاً من عشرات الصفقات الهامشية. لمن يريد إشارات أكثر، يُفعّل مداخل RSI ويُعطّل مداخل Donchian؛ ولمن يريد إشارات أقل وأنظف، تُضاف فترة تأخير 1 شمعة عبر EnableDelayFilter (معطّل افتراضياً) ويُطلب تأكيد ارتداد إضافي في مرشّح Donchian.
كتلة OnTester() هي الطبقة الأخيرة. تبني دالة لياقة مخصصة ترجّح عامل الاسترداد، والعائد على الاستثمار، وعامل الربح، وعدد الصفقات، ونسبة شارب، ومعكوس السحب، بحيث يصنّف المُحسّن في Strategy Tester التركيبات وفق درجة مركّبة لا وفق الربح الخام فقط. هذا هو السبب العملي وراء وجود 182 مُدخلاً — الملف مبنيّ ليُحسَّن، لا ليُعدَّل يدوياً على الشارت الحي. للاستخدام الحي، من الأنسب تثبيت المُدخلات التي وجدها المُحسّن وتعطيل EnableTrading فقط عندما لا تراقب الروبوت فعلياً.
بفضل سقف السحب الصارم 10% وسقف المخاطرة لكل صفقة 2%، يوصى برأس مال لا يقل عن 1,000 دولار على حساب ميكرو لوت حتى لا تهدد أول سلسلة خسارة أرضية الـ10%. يبقي LotSize = 0.01 افتراضياً استخدام الهامش صغيراً على أزواج العملات الرئيسية ومعتدلاً على XAUUSD. الانزلاق 3 نقاط، ورقم السحر 22216061 محجوز، ما يسمح بتشغيل الروبوت إلى جانب روبوتات PipsGrowth من سلسلة EX دون تعارض في عدّ الصفقات. سلسلة التعليق Psgrowth.com Expert_16061 تسهّل تصفية سجل التداول حسب الروبوت في تيرمنال MT5.
تفاصيل الاستراتيجية
مع كل شمعة جديدة يُعيد الروبوت تقييم سلسلة الطبقات الاثنتي عشرة كاملة. تستدعي ProcessTradingLogic() أولاً ClassifyRegime() — إذا لم يكن السوق في اتجاه مؤكَّد أو في حالة اختراق عالية التذبذب، يُتخطّى بقية السلسلة. بعدها تتحقق بوابة عدم التداول من IsMarketOpen()، وIsSpreadAcceptable() مقابل MaxSpread (30 نقطة)، وIsWithinSession() (لندن 8–17 ونيويورك 13–22 بتوقيت غرينتش افتراضياً)، وMaxOpenTrades (5)، وسقف السحب 10%، وسقف مخاطرة الصفقة 2%. تُصوّت بعد ذلك طبقتا الدخول النشيتان — MBS_Decision() وDonchianChannel_Decision() — ويجب أن تتفقا على الاتجاه كي تصبح الإشارة مرشحة، مع إمكانية إضافة تأكيدات اختيارية من RSI وHMA وMagic (معطّلة افتراضياً). يستخدم تحديد الحجم قيمة ثابتة LotSize (0.01) وتُرسَل الأوامر عبر ExecuteTrade() بتعبئة ORDER_FILLING_FOK و3 نقاط انزلاق. تُدار الصفقات المفتوحة على كل تيكت بواسطة ManageOpenPositions(): تقوم آلية قفل الربح الديناميكي برفع الوقف كل 30 نقطة، ويُشغّل نظام الوقت ManageEODPositions() وManageEOWPositions() لإغلاق قسري عند تفعيل تلك المرشّحات. تبني كتلة OnTester() درجة لياقة مركّبة (مرجّحة بعامل الاسترداد، والعائد، وعامل الربح، وعدد الصفقات، ونسبة شارب، ومعكوس السحب) بحيث يصنّف مُحسّن MT5 مجموعات المُدخلات بدرجة متوازنة لا بالربح الخام.
مع كل شمعة جديدة يُعيد الروبوت تشغيل سلسلة الطبقات الاثنتي عشرة. طبقتا الدخول المفعّلتان افتراضياً هما هيكل اختراق الزخم (MBS) وقناة Donchian. يتطلب الشراء أن تؤكّد طبقة MBS اختراقاً هيكلياً لا يقل عن MBS_MinBreakoutSize (50) نقطة مع زخم فوق 0.7 وقوة اتجاه فوق 0.6، بينما يجب أن تتحقّق طبقة Donchian من اختراق قناة 20 شمعة يتجاوز DC_MinBreakoutPoints (10) نقطة بعدد شمعتين تأكيـد. يجب أن تجتاز بوابة عدم التداول: فتح السوق، وانتشار دون MaxSpread (30 نقطة)، ونشاط الجلسة، وأقل من MaxOpenTrades (5) صفقات، وسحب دون MaxDrawdownPercent (10.0%)، ومخاطرة لكل صفقة دون MaxRiskPerTrade (2.0%).
يحدّد الخروج إما انعكاس إشارة من طبقة الدخول النشطة (MBS أو Donchian تُصدران ضد الصفقة القائمة) أو آلية قفل الربح الديناميكي في ManageOpenPositions(). قفل الربح مفعّل افتراضياً: كل 30 نقطة ربح غير محقّق (LockProfitEvery_X_Points) يُسحب الوقف إلى السعر ناقص LockMinusBuffer (15) نقطة. يمكن تشغيل محفزات الخروج الاختيارية من طبقات RSI وHMA وMBS وDonchian وMagic (جميعها معطّلة افتراضياً) لإغلاق إضافي، كما أن نظام الوقت يُغلق كل الصفقات قسرياً عبر ManageEODPositions() أو ManageEOWPositions() عند تفعيل مرشّح نهاية اليوم أو نهاية الأسبوع.
وقف الخسارة الأولي ثابت عند StopLossPoints (100 نقطة، أي ما يعادل 1.00 دولار على صفقة 0.01 لوت على XAUUSD) ويُرفق بالصفقة لحظة فتحها. يعمل سقف السحب الصارم 10.0% (MaxDrawdownPercent) كوقف على مستوى الحساب ككل، ويمنع سقف المخاطرة لكل صفقة 2.0% (MaxRiskPerTrade) أي صفقة منفردة من تعريض منحنى Equity للخطر. بمجرد أن تحقق الصفقة ربحاً، يقوم قفل الربح الديناميكي برفع الوقف كل 30 نقطة للحفاظ على الأرباح دون تقصير الحركة.
لا يوجد مستوى جني أرباح ثابت — إذ يُعلن TakeProfitPoints (200 نقطة) في كتلة المدخلات لكن فلسفة الروبوت هي ترك الصفقات الرابحة تجري. آلية قفل الربح الديناميكي (LockProfitEvery_X_Points = 30 وLockMinusBuffer = 15) هي آلية الخروج الأساسية، وتعمل فعلياً كوقف متحرك من طراز Chandelier. يتيح حارس AllowOnlyProfitableAdditions وبوابة MinProfitInPointsPerTradeToAdd (20 نقطة) للروبوت مضاعفة الصفقة فقط حينما تكون الصفقة القائمة في ربح، أي التوسّع مع القوة لا مع الضعف.
يُنشر بأفضل صورة على XAUUSD M5 مع حجم لوت افتراضي 0.01. الحد الأدنى الموصى به للرصيد 1,000 دولار لاستيعاب سلسلة خسائر واقعية قبل أن يفعّل سقف السحب 10%؛ فحد المنصة الأدنى 100 دولار أرفع من أن يتحمل وقف الـ100 نقطة الأولي ومخاطرة 2% لكل صفقة. استخدم وسيط ECN بانتشار منخفض (أقل من نقطة على الذهب أو أقل من 0.5 نقطة على أزواج العملات الرئيسية التي يدعمها الملف) حتى لا يحجب MaxSpread (30 نقطة) معظم الاختراقات. نافذة الجلسة المفعّلة افتراضياً (لندن 8–17 ونيويورك 13–22 بتوقيت غرينتش) هي النافذة المناسبة لتداول XAUUSD — خارجها يتراجع معدل اختراقات البنية ويبدأ مرشّح Donchian بإنتاج إشارات خاطئة. تصنيف MEDIUM للمخاطرة صادق: مع MaxRiskPerTrade = 2.0% وMaxDrawdownPercent = 10.0% لا يُعدّ الروبوت منخفض المخاطر كشبكة، لكن سقف المخاطرة لكل صفقة وقفل الربح المتحرك يجعلانه أكثر هدوءاً بوضوح من روبوت مارتينغيل أو روبوت اختراق غير مقيّد.
منطق الاستراتيجية
Pipsgrowth EX16061 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216061
الإصدار: 2.00
الوصف:
Optimized Expert Advisor addressing 100+ performance and structure issues, combining RSI entry signals, Momentum Breakout Structure (MBS), Magic indicator and adaptive confirmation for USDJPY with dynamic profit management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
GetAdjustedTime()ValidateTimeInputs()IsWithinSession()IsSessionActive()IsSessionOverlap()IsEndOfDayTime()IsEndOfWeekTime()IsTradingDay()IsNewsTime()IsTimeBasedEntryPaused()
// Pipsgrowth EX16061 Trend — Execution Flow (from source analysis)
// Family: Trend
// Optimized Expert Advisor addressing 100+ performance and structure issues, combining RSI entry signals, Momentum Breakout Structure (MBS), Magic indicator and adaptive confirmation for USDJPY with dynamic profit management. 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اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| EnableTrading | true | Enable trading |
| EnableDebug | false | Enable debug logging |
| LotSize | 0.01 | Fixed lot size |
| MagicNumber | 22216061 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_16061" | Trade comment |
| Slippage | 3 | Slippage in points |
| MaxSpread | 30.0 | Maximum spread in points |
| MaxDrawdownPercent | 10.0 | Maximum drawdown percentage |
| MaxRiskPerTrade | 2.0 | Maximum risk per trade % |
| MaxOpenTrades | 5 | Maximum open trades |
| StopLossPoints | 100.0 | Stop loss in points |
| TakeProfitPoints | 200.0 | Take profit in points |
| EnableDynamicLockProfit | true | Enable dynamic profit locking |
| LockProfitEvery_X_Points | 30.0 | Step: every X points profit |
| LockMinusBuffer | 15.0 | Lock profit minus X point buffer |
| AllowOnlyProfitableAdditions | true | Only allow adding positions if existing trades are profitable |
| MinProfitInPointsPerTradeToAdd | 20.0 | Minimum profit required per existing trade in points |
| RSI_EntrySignal_BUY | false | Enable RSI BUY entry signal |
| RSI_EntrySignal_SELL | false | Enable RSI SELL entry signal |
| RSI_Confirm_BUY | false | Require RSI BUY confirmation |
| RSI_Confirm_SELL | false | Require RSI SELL confirmation |
| RSI_ExitTrigger_BUY | false | Enable RSI BUY exit trigger |
| RSI_ExitTrigger_SELL | false | Enable RSI SELL exit trigger |
| RSI_ExitConfirm_BUY | false | Require RSI BUY exit confirmation |
| RSI_ExitConfirm_SELL | false | Require RSI SELL exit confirmation |
| RSI_TF | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for RSI |
| RSI_Period | 14 | RSI period |
| RSI_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied price for RSI |
| RSI_Overbought | 70.0 | RSI overbought level |
| RSI_Oversold | 30.0 | RSI oversold level |
| RSI_SignalShift | 0 | Shift for RSI signal line |
| RSI_Midline | 50 | RSI midline level |
| RSI_ExtremeBuffer | 5 | Buffer for extreme levels |
| RSI_MinRange | 5.0 | Minimum RSI range for valid signal |
| RSI_MinVolatility | 2.0 | Minimum volatility threshold |
| RSI_MomentumBars | 3 | Bars for momentum confirmation |
| RSI_DeadZoneSize | 5.0 | Dead zone around midline |
| MBS_EntrySignal_BUY | true | Enable MBS BUY entry signal |
| MBS_EntrySignal_SELL | true | Enable MBS SELL entry signal |
| MBS_Confirm_BUY | false | Require MBS BUY confirmation |
| MBS_Confirm_SELL | false | Require MBS SELL confirmation |
| MBS_ExitTrigger_BUY | false | Enable MBS BUY exit trigger |
| MBS_ExitTrigger_SELL | false | Enable MBS SELL exit trigger |
| MBS_ExitConfirm_BUY | false | Require MBS BUY exit confirmation |
| MBS_ExitConfirm_SELL | false | Require MBS SELL exit confirmation |
| MBS_Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for analysis |
| MBS_LookbackBars | 20 | Lookback period for structure analysis |
| MBS_MinBreakoutSize | 50 | Minimum breakout size in points |
| MBS_MomentumThreshold | 0.7 | Momentum strength threshold (0-1) |
| MBS_ConfirmationBars | 2 | Bars needed for confirmation |
| MBS_VolatilityFilter | 1.5 | Volatility filter multiplier |
| MBS_TrendStrengthMin | 0.6 | Minimum trend strength (0-1) |
| MBS_RequireVolumeSpike | true | Require volume confirmation |
| MBS_VolumeMultiplier | 1.5 | Volume spike multiplier |
| MBS_ATRPeriod | 14 | ATR period for volatility |
| MBS_ATRMultiplier | 1.0 | ATR multiplier for breakout validation |
| MBS_EMAPeriod | 21 | EMA period for trend direction |
| MBS_MinPriceMovement | 0.0001 | Minimum price movement for signal |
| DC_EntrySignal_BUY | true | Enable Donchian Channel BUY entry signal |
| DC_EntrySignal_SELL | true | Enable Donchian Channel SELL entry signal |
| DC_Confirm_BUY | false | Require Donchian Channel BUY confirmation |
| DC_Confirm_SELL | false | Require Donchian Channel SELL confirmation |
| DC_ExitTrigger_BUY | false | Enable Donchian Channel BUY exit trigger |
| DC_ExitTrigger_SELL | false | Enable Donchian Channel SELL exit trigger |
| DC_ExitConfirm_BUY | false | Require Donchian Channel BUY exit confirmation |
| DC_ExitConfirm_SELL | false | Require Donchian Channel SELL exit confirmation |
| DC_Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for Donchian Channel |
| DC_ChannelPeriod | 20 | Lookback period for channel |
| DC_ConfirmationBars | 2 | Bars needed for confirmation |
| DC_MinBreakoutPoints | 10 | Minimum breakout size in points |
| DC_ATRMultiplier | 1.0 | ATR multiplier for volatility filter |
| DC_ATRPeriod | 14 | ATR period for volatility |
| DC_RequireVolumeSpike | false | Require volume spike confirmation |
| DC_VolumeMultiplier | 1.5 | Volume spike multiplier |
| DC_MinPullbackPoints | 5 | Minimum pullback before breakout |
| DC_MinRangePoints | 20 | Minimum channel range to avoid chop |
| HMA_EntrySignal_BUY | false | Enable HMA BUY entry signal |
| HMA_EntrySignal_SELL | false | Enable HMA SELL entry signal |
| HMA_Confirm_BUY | false | Require HMA BUY confirmation |
| HMA_Confirm_SELL | false | Require HMA SELL confirmation |
| HMA_ExitTrigger_BUY | false | Enable HMA BUY exit trigger |
| HMA_ExitTrigger_SELL | false | Enable HMA SELL exit trigger |
| HMA_ExitConfirm_BUY | false | Require HMA BUY exit confirmation |
| HMA_ExitConfirm_SELL | false | Require HMA SELL exit confirmation |
| HMA_Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for HMA analysis |
| HMA_Period | 21 | HMA period |
| HMA_ConfirmationBars | 2 | Bars needed for confirmation |
| HMA_MinSlopeAngle | 0.0001 | Minimum slope angle for trend detection |
| HMA_MinMomentumPoints | 5 | Minimum momentum in points |
| HMA_RequirePriceAbove | true | Require price above HMA for buy |
| HMA_RequirePriceBelow | true | Require price below HMA for sell |
| HMA_FilterATRMultiplier | 1.5 | ATR multiplier for noise filter |
| HMA_FilterATRPeriod | 14 | ATR period for volatility filter |
| HMA_TrendStrengthMin | 0.7 | Minimum trend strength (0-1) |
| HMA_SmoothingBars | 3 | Bars for HMA smoothing validation |
| HMA_MinPriceDistance | 2 | Minimum distance from HMA in points |
| EnableDelayFilter | false | Enable N-bar delay confirmation filter |
| BarDelay | 1 | Number of bars delay required for signal confirmation |
| EntryDelayBars | 1 | Wait this many full new bars before placing a new entry |
| UseMagic_Decision | true | Master switch for Magic Decision |
| Magic_EntrySignal_BUY | false | Enable Magic BUY entry signal |
| Magic_EntrySignal_SELL | false | Enable Magic SELL entry signal |
| Magic_Confirm_BUY | false | Require Magic BUY confirmation |
| Magic_Confirm_SELL | false | Require Magic SELL confirmation |
| Magic_ExitTrigger_BUY | false | Enable Magic BUY exit trigger |
| Magic_ExitTrigger_SELL | false | Enable Magic SELL exit trigger |
| Magic_ExitConfirm_BUY | false | Require Magic BUY exit confirmation |
| Magic_ExitConfirm_SELL | false | Require Magic SELL exit confirmation |
| UseAutoFilter | true | Use automatic filter tuning |
| Length | 10 | Magic indicator length |
| DistanceMultiplier | 0.85 | Distance multiplier for bands |
| Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Magic indicator timeframe |
| TrendFilterTF | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Trend filter timeframe |
| TrendEMA | 50 | Trend EMA period |
| MinATR | 0.03 | Minimum ATR value |
| MinBreakDistance | 0.3 | Minimum break distance |
| GMT_Offset | 0 | GMT offset for all time filters (hours, +/- from GMT) |
| UseBrokerTime | false | Use broker time instead of GMT (NOT RECOMMENDED) |
| UseTimeFilter | false | Use basic time filter |
| StartHour | 8 | Start trading hour (GMT + offset) |
| StartMinute | 0 | Start trading minute |
| EndHour | 18 | End trading hour (GMT + offset) |
| EndMinute | 0 | End trading minute |
| UseSessionFilter | false | Enable trading session filtering |
| UseSessionOverlapOnly | false | Trade only during session overlaps |
| UseSessionLondon | true | Trade London session |
| LondonStartHour | 8 | London session start hour (GMT + offset) |
| LondonStartMinute | 0 | London session start minute |
| LondonEndHour | 17 | London session end hour (GMT + offset) |
| LondonEndMinute | 0 | London session end minute |
| UseSessionNewYork | true | Trade New York session |
| NewYorkStartHour | 13 | New York session start hour (GMT + offset) |
| NewYorkStartMinute | 0 | New York session start minute |
| NewYorkEndHour | 22 | New York session end hour (GMT + offset) |
| NewYorkEndMinute | 0 | New York session end minute |
| UseSessionTokyo | false | Trade Tokyo session |
| TokyoStartHour | 0 | Tokyo session start hour (GMT + offset) |
| TokyoStartMinute | 0 | Tokyo session start minute |
| TokyoEndHour | 9 | Tokyo session end hour (GMT + offset) |
| TokyoEndMinute | 0 | Tokyo session end minute |
| UseSessionSydney | false | Trade Sydney session |
| SydneyStartHour | 22 | Sydney session start hour (GMT + offset) |
| SydneyStartMinute | 0 | Sydney session start minute |
| SydneyEndHour | 7 | Sydney session end hour (GMT + offset) |
| SydneyEndMinute | 0 | Sydney session end minute |
| UseCustomSession1 | false | Enable custom session 1 |
| Custom1StartHour | 10 | Custom session 1 start hour (GMT + offset) |
| Custom1StartMinute | 0 | Custom session 1 start minute |
| Custom1EndHour | 16 | Custom session 1 end hour (GMT + offset) |
| Custom1EndMinute | 0 | Custom session 1 end minute |
| UseCustomSession2 | false | Enable custom session 2 |
| Custom2StartHour | 15 | Custom session 2 start hour (GMT + offset) |
| Custom2StartMinute | 0 | Custom session 2 start minute |
| Custom2EndHour | 21 | Custom session 2 end hour (GMT + offset) |
| Custom2EndMinute | 0 | Custom session 2 end minute |
| UseEndOfDayFilter | false | Enable end-of-day position management |
| EODCloseHour | 22 | End-of-day close hour (GMT + offset) |
| EODCloseMinute | 0 | End-of-day close minute |
| PauseNewTradesBeforeEOD | true | Pause new trades before EOD |
| PauseMinutesBeforeEOD | 30 | Minutes before EOD to pause new trades |
| EODCloseMode | EOD_CLOSE_NONE | EOD position closing mode |
| ForceCloseMinutesBeforeEOD | 5 | Minutes before EOD to force close trades |
| UseEndOfWeekFilter | false | Enable end-of-week position management |
| EOWCloseDay | 5 | End-of-week day (1=Monday, 5=Friday) |
| EOWCloseHour | 21 | End-of-week close hour (GMT + offset) |
| EOWCloseMinute | 0 | End-of-week close minute |
| PauseNewTradesBeforeEOW | true | Pause new trades before EOW |
| PauseMinutesBeforeEOW | 60 | Minutes before EOW to pause new trades |
| EOWCloseMode | EOW_CLOSE_NONE | EOW position closing mode |
| ForceCloseMinutesBeforeEOW | 15 | Minutes before EOW to force close trades |
| UseTimeBasedEntryPause | false | Enable time-based entry pause |
| EntryPauseAfterPositionClose | 5 | Minutes to pause entries after position close |
| AvoidMajorNewsTime | false | Avoid trading during major news |
| NewsAvoidanceMinutes | 30 | Minutes to avoid before/after news |
| UseDayOfWeekFilter | false | Enable day of week filter |
| TradeMonday | true | Trade on Monday |
| TradeTuesday | true | Trade on Tuesday |
| TradeWednesday | true | Trade on Wednesday |
| TradeThursday | true | Trade on Thursday |
| TradeFriday | true | Trade on Friday |
| AvoidFridayAfterHour | false | Avoid Friday trading after specific hour |
| FridayAvoidAfterHour | 16 | Hour to stop Friday trading (GMT + offset) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16061 OptimizedEA -- Optimized multi-indicator EA with RSI, MBS, Magic indicator and adaptive confirmation, full 12-layer stack."
#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Trade/OrderInfo.mqh>
//+------------------------------------------------------------------+
//| Input Parameters - Organized and Validated |
//+------------------------------------------------------------------+
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
switch(ap)
{
case 1: return PRICE_CLOSE;
case 2: return PRICE_OPEN;
case 3: return PRICE_HIGH;
case 4: return PRICE_LOW;
case 5: return PRICE_MEDIAN;
case 6: return PRICE_TYPICAL;
case 7: return PRICE_WEIGHTED;
default: return PRICE_CLOSE;
}
}
ENUM_TIMEFRAMES g_RSI_TF = PERIOD_H1;
ENUM_TIMEFRAMES g_MBS_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_DC_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_HMA_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
ENUM_APPLIED_PRICE g_RSI_Price = PRICE_CLOSE;
input group "=== BASIC SETTINGS ==="
input bool EnableTrading = true; // Enable trading
input bool EnableDebug = false; // Enable debug logging
input double LotSize = 0.01; // Fixed lot size
input int MagicNumber = 22216061; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_16061"; // Trade comment
input int Slippage = 3; // Slippage in points
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.