Pipsgrowth EX16056 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX16056 Trend — Optimized Expert Advisor addressing 100+ performance and structure issues, combining RSI entry signals, Momentum Breakou. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يبني Pipsgrowth EX16056 مسار الإشارة الخاص به كنظام تصويت بثلاثة محركات، ثم يُخضع الفائز لسلسلة من أربع بوابات تأكيد قبل إرسال أي أمر سوق. المحركات الثلاثة مُعرّفة في الكود لكن معطلة بشكل افتراضي في لوحة المدخلات — RSI_EntrySignal = false و MBS_EntrySignal = false و Magic_EntrySignal = false — لذا يُحمَّل الخبير في حالة خام، ويختار المتداول المحركات التي يريد تشغيلها. يُرجع كل محرك سلسلة "BUY" أو "SELL" أو "NO_SIGNAL" خاصة به، وتقوم دالة GenerateSignalWithConfirmations() بحساب الأصوات. لا يصدر أمر الشراء إلا عندما يصوّت محرك واحد على الأقل لصالح الشراء ولا يصوّت أي محرك لصالح البيع (يُرجع الكود NO_SIGNAL عند تضارب التصويتات بدلاً من اختيار جانب)، مما يجعل اللاتناظر واضحاً — الصمت يتفوق على التعارض.
المحرك الأول هو مصوّتر انعكاسي كلاسيكي بمؤشر RSI(14). يُفعَّل فرع الدخول عندما يعبر مؤشر RSI الحالي مناطق التشبع البيعي/الشرائي 30/70 (مع عازل 2 نقطة لمنع الانعكاس عند حافة المنطقة)، أو عندما يرتدّ المؤشر الحالي عن المنطقة صعوداً أو هبوطاً. ثلاث بوابات إضافية تحجب التقاطعات الضعيفة: يجب أن يغطي نطاق RSI الأخير ما لا يقل عن RSI_Entry_MinRange = 5 نقاط، ويجب أن تتجاوز السرعة بين الأعمدة RSI_Entry_MinVolatility = 2.0، ويجب أن يكون الفاصل الزمني بين الإشارة الحالية والسابقة على الأقل RSI_Entry_CooldownBars = 3 أعمدة. يعمل محرك تأكيد RSI على نفس المؤشر بإعداد 21 فترة مع منطقة ميتة بعرض 5 نقاط حول خط الوسط 50 — إذا كان RSI راكداً في المنتصف، لن يصدر أي تأكيد — ويطلب سلسلة زخم من 3 أعمدة بالإضافة إلى قوة دنيا قدرها 3.0 نقاط بعيداً عن خط الوسط قبل المصادقة.
المحرك الثاني، وهو وحدة Momentum Breakout Structure (MBS)، يمسح آخر MBS_Entry_LookbackBars = 20 عموداً بحثاً عن قمة هيكلية (ArrayMaximum) وقاع هيكلي (ArrayMinimum)، ثم يبحث عن اختراق نظيف خارج هذا النطاق بما لا يقل عن MBS_Entry_MinBreakoutSize = 50 نقطة. يجب أن يتزامن الاختراق مع توافق اتجاه EMA(21) (ثلاث متوسطات صاعدة للشراء، ثلاث هابطة للبيع)، ونسبة قوة اتجاه أعلى من MBS_Entry_TrendStrengthMin = 0.6 على مدى MBS_Entry_ConfirmationBars = 2 عمودين، ونسبة تذبذب ATR(14) أقل من MBS_Entry_VolatilityFilter = 1.5 (بحيث لا يلوّث التوسع المفاجئ في التذبذب الإشارة)، وارتفاع حجم اختياري بمقدار 1.5x مقابل متوسط آخر 10 أعمدة، وفحص اتجاهي للسعر مقابل المتوسط. تتراكم تسعة شروط في تصويت واحد. محرك تأكيد MBS هو التوأم المرن — ينخفض عتبة الزخم إلى 0.5، ويُعطَّل ارتفاع الحجم، وينخفض حد قوة الاتجاه إلى 0.4 — ويعني نجاح تأكيد MBS ببساطة أن سياق الهيكل لا يزال داعماً بعد الاختراق الأولي.
المحرك الثالث هو الأكثر تميزاً: غلاف "Magic". يبني الخبير متوسطاً متحركاً واحداً (طريقة المتوسط الافتراضية هي MODE_LWMA بفترة 10، مع توفر بدائل SMA/EMA/SMMA أيضاً)، ثم يرسم حدوداً علوية وسفلية عند MA ± DistanceMultiplier × ATR(14) (المضاعف الافتراضي 0.85). يتيح UseAutoFilter، المفعّل افتراضياً، لدالة MagicBandsAutoTuneFilters() إعادة حساب مضاعف الحدود في وقت التشغيل بناءً على السبريد المباشر و MinATR (0.03) و MinBreakDistance (0.3) اللذين يحددهما المستخدم — إذ يُضيّق المسار التلقائي الحدود على الأزواج منخفضة السبريد ويُوسّعها على الأزواج الصاخبة. يصدر أمر Magic BUY عندما يتجاوز ميل LWMA (بالنقاط) عتبة الطريقة الخاصة بالمتوسط — 0.3 لـ LWMA، و0.5 لـ SMA، و0.7 لـ EMA، و0.8 لـ SMMA — وعندما يُغلق السعر فوق الحد العلوي، وعندما يكون زخم العمودين إيجابياً. يُرخي تأكيد Magic جميع العتبات الثلاث إلى 70% من قيم الإدخال، لذا يدفع عمود الإدخال السعر المشدد ويحصل عمود التأكيد على إعادة فحص أكثر ليونة. يجلس EMA(50) منفصل على الإطار H4 (TrendFilterTF، TrendEMA) في الخلفية كتحيّز TrendEMA لكنه لا يُستخدم كبوابة صارمة.
بعد التصويت، يجب على الاتجاه المرشح أن يمر بأربع بوابات تأكيد على التوالي: CheckRSIConfirmation و CheckMBSConfirmation و CheckMagicConfirmation و Adaptive Confirmation (بالإضافة إلى بوابة خامسة اختيارية، CheckCorrelationConfirmation، عند تفعيل UseCorrelationFilter). البوابة التكيّفية هي الابتكار الهادئ في الكود. تُسجّل هذه البوابة سياق الصفقة مقابل Adaptive_BaseThreshold = 65 على مقياس 0-100، ثم تعدّل العتبة بناءً على نظام التذبذب المباشر. عندما يتجاوز قراءة ATR(14) Adaptive_HighVol_Pips = 40، تنخفض العتبة بمقدار Adaptive_VolBoost = 0.8 — يقبل الخبير الصفقات بسهولة أكبر في الأسواق السريعة. عندما ينخفض ATR إلى ما دون Adaptive_LowVol_Pips = 15، ترتفع العتبة بمقدار Adaptive_VolPenalty = 1.2 — يطلب الخبير مزيداً من الأدلة في الأسواق الهادئة. يسحب مرشح الارتباط الاختياري سلة من EURUSD و GBPUSD و AUDUSD و USDCHF و USDCAD و EURJPY و GBPJPY، ويُشغّل ارتباط بيرسون مقابل الرمز المضيف، ويرفض الإشارات التي يتعارض فيها تدفق الأصول المتقاطعة مع الاتجاه. لا توجد من هذه البوابات الأربع أو الخمس اختيارية في وقت التشغيل — إذا أعادت إحداها NO_SIGNAL، يُسقَط المرشح بصمت.
تقع إدارة المخاطر في طبقتين. الطبقة لكل صفقة ثابتة: StopLossPoints = 100 و TakeProfitPoints = 200، وهي نسبة عائد إلى مخاطرة 1:2 واضحة مع احتفاظ الوسيط بوقف الخسارة وجني الأرباح. فوق ذلك، يقوم قفل الربح الديناميكي بتعديل وقف الخسارة على كل صفقة مفتوحة. يُفعَّل القفل عندما يتجاوز الربح غير المحقق LockProfitEvery_X_Points = 30؛ ويُضبط وقف الخسارة الجديد على current_bid − LockMinusBuffer = 15 للشراء (current_ask + 15 للبيع)، ولا يُرسَل التعديل إلا عندما يُحسّن الوقف الجديد الوقف الحالي بما لا يقل عن 5 نقاط، مما يمنع ازدحام التعديلات أثناء ضوضاء M5. تعمل طبقة المحفظة على كل تكة داخل UpdateTradeInfo() — إذا تجاوزت القيمة المطلقة للخسارة غير المحققة MaxDrawdownPercent = 10% من رصيد الحساب، يرفع الخبير علامة risk_exceeded ويتوقف OnTick عن إرسال إدخالات جديدة في العمود التالي. يقف غطاء MaxOpenTrades = 5 وبوابة MaxSpread = 30 نقطة لكل تكة أمام مسار الإشارة. AllowOnlyProfitableAdditions = true يُجبر أي إدخال جديد على الانتظار حتى تُظهر كل صفقة قائمة ربحاً لا يقل عن MinProfitInPointsPerTradeToAdd = 20 نقطة — وهي مضادة المرتينجال داخل الصفقة.
مكتبة الجلسات والأوقات هي الجزء الأوسع في الملف. يُسلّم الكود نافذة وقت أساسية (UseTimeFilter مع StartHour/EndHour بتوقيت GMT المعدّل)، ومرشح أربع جلسات (لندن 8-17، نيويورك 13-22، طوكيو 0-9، سيدني 22-7، جميعها بتوقيت GMT+offset)، ومفتاح تشغيل للتداخل فقط، وجلساتين مخصصتين يحددهما المستخدم، ومدير نهاية يوم (EODCloseMode: NONE / ALL / PROFITABLE / LOSING) مع ساعة إغلاق قابلة للتكوين، ومدير نهاية أسبوع بنفس التعداد ومُحدِّد يوم إغلاق منفصل، ووقف تجنّب الأخبار، ومرشح يوم من أيام الأسبوع، ومؤقت توقف بعد الإغلاق. جميع هذه العناصر مُعرّفة في الكود لكنها معطلة افتراضياً — يفتح الخبير للتداول على مدار 24/5 لحظة إرفاقه. لنشر USDJPY يوصي تعليق المصدر بتفعيل جلستي لندن ونيويورك مع EODCloseMode = EOD_CLOSE_PROFITABLE و EOWCloseMode = EOD_CLOSE_ALL للتسطيح قبل عطلة نهاية الأسبوع. بالنسبة لـ XAUUSD، يلتقط نفس المزيج أعمق نافذة سيولة دون تعريض الصفقات لخطر الفجوة.
تُقوّي طبقتان أخيرتان الكود. مرشح التأخير (EnableDelayFilter، BarDelay = 1، EntryDelayBars = 1) يتطلب استمرار الإشارة لعمود واحد على الأقل قبل العد، والانتظار عموداً جديداً كاملاً على الأقل بعد الإدخال السابق — يُحوّل المفتاح المعطل افتراضياً نظاماً ينتج 20 إشارة يومياً إلى نظام 3-8 إشارات يومياً في الجلسات النشطة. تتطلب بوابة التذبذب داخل ConfirmSignal() أن يكون ATR الحالي أعلى من 10 نقاط قبل إرسال أي صفقة، مع تثبيت العتبة كحد أدنى للصلاحية. تمر كل استدعاء إغلاق عبر TryClose_EX16056 وكل تعديل عبر TryModify_EX16056، حيث يعيد كل منهما المحاولة حتى 3 مرات عند أخطاء REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED مع فترات نوم 100-200 مللي ثانية — ويكتب سجل الملف إلى OptimizedEA__.log عند تفعيل EnableDebug، لذا فإن تدفق الإشارة الكامل قابل للمراجعة في التحليل اللاحق. لا يزال رأس الرمز يقول USDJPY، لكن الإعداد الافتراضي للمنصة يُعيّن XAUUSD M5، حيث يُساوي وقف الخسارة 100 نقطة وجني الأرباح 200 نقطة ما يقارب 1.0/2.0 دولار كوقف و2.0/4.0 دولار كهدف على لوت 0.01، وتُساوي خطوة قفل الربح البالغة 30 نقطة 0.30 دولار لكل تكة — وهو إعداد منطقي على قيمة نقطة الذهب دون إعادة ضبط يدوية.
تفاصيل الاستراتيجية
تحسب GenerateSignalWithConfirmations الأصوات من ثلاثة محركات معطلة افتراضياً — RSI_Entry_Signal (تقاطع تشبّع بيعي/شرائي 14 فترة مع نطاق 5 نقاط وسرعة 2.0)، و MBS_Entry_Signal (اختراق هيكلي لـ 20 عموداً مع 9 شروط متراكمة تشمل توافق اتجاه 21-EMA وارتفاع حجم 1.5x ونسبة ATR(14) أقل من 1.5)، و Magic_Entry_Signal (غلاف LWMA(10) ± 0.85×ATR(14) مع عتبة ميل خاصة بالطريقة 0.3 وزخم عمودين فوق 1.0) — وترفض أي تصويت متعارض. يمر الفائز بعدها عبر CheckRSIConfirmation و CheckMBSConfirmation و CheckMagicConfirmation والبوابة التكيفية المرتبطة بالتذبذب (يطبق ATR فوق 40 نقطة مضاعف 0.8، وATR دون 15 نقطة يطبق مضاعف 1.2) قبل أن يمشي ProcessTradingLogic عبر التأخيرات المتبقية (IsSignalStable، IsEntryDelayMet) وتأكيد ATR-أكبر-من-10 النهائي في ConfirmSignal، ثم يستدعي ExecuteTrade. تُنشأ المؤشرات الأصلية العشرة (rsi_entry، rsi_confirm، mbs_entry_ema، mbs_entry_atr، mbs_confirm_ema، mbs_confirm_atr، magic_ma، magic_atr، magic_ema_htf، adaptive_atr) فقط عند تفعيل المحركات الخاصة بها، لذا يستخدم خبير يعمل على Magic وحده ثلاث مؤشرات فقط. بينما تكون الصفقة مفتوحة، يعمل ProcessExitSignals أولاً عند كل تكة لتطبيق قفل الربح 30/15 نقطة عبر TryModify_EX16056 مع 3 محاولات؛ يحجب AllowOnlyProfitableAdditions المضاعفة حتى تُظهر كل صفقة قائمة ربحاً لا يقل عن 20 نقطة.
يُفعَّل الشراء أو البيع عندما يُرجع أيٌّ من ثلاثة مولّدات إشارة مستقلة الاتجاه نفسه (تقاطع RSI تشبّع بيعي/شرائي مع نطاق 5 نقاط وسرعة 2.0، أو اختراق MBS فوق قمة هيكلية لـ 20 عموداً مع 9 شروط متراكمة، أو اختراق غلاف Magic مع ميل LWMA فوق 0.3 وزخم عمودين فوق 1.0)، ولا يكون الاتجاه متنازعاً عليه (لا يوجد تصويت معاكس)، ثم يمر المرشح بأربع بوابات تأكيد على التوالي (RSI 21 فترة مع منطقة ميتة حول خط الوسط، MBS مرن بزخم 0.5، Magic عند 70% من عتبة الإدخال، ودرجة تكيفية مرتبطة بالتذبذب مقابل عتبة أساسية 65 تُسهّل في التذبذب العالي وتشدّد في المنخفض).
تعمل المخارج عبر ثلاث مسارات مستقلة: وقف الخسارة وجني الأرباح عند 100/200 نقطة من جانب الوسيط، وقفل الربح الديناميكي 30/15 نقطة الذي يُعدّل وقف الخسارة كل 30 نقطة من الربح غير المحقق إلى 15 نقطة خلف السعر (مع حد أدنى 5 نقاط لتحسين الوقف لمنع ازدحام التعديلات، مُغلَّف في TryModify_EX16056 مع 3 محاولات إعادة عند REQUOTE/TIMEOUT/PRICE_CHANGED)، وغطاء الانخفاض 10% على مستوى المحفظة الذي يحجب الإدخالات الجديدة من خلال علامة risk_exceeded دون إجبار إغلاق الصفقات.
وقف الخسارة لكل صفقة ثابت بالنقاط (StopLossPoints = 100 افتراضي، نسبة عائد إلى مخاطرة 1:2 مقابل جني الأرباح 200 نقطة). يُعدّل قفل الربح الديناميكي وقف الخسارة كل 30 نقطة من الربح غير المحقق إلى current_bid − 15 نقطة (أو current_ask + 15 للبيع) ولا يُكتب إلا عندما يتفوق الوقف الجديد على الحالي بـ 5 نقاط. يحجب MaxDrawdownPercent = 10% على مستوى المحفظة الإدخالات الجديدة من خلال علامة risk_exceeded دون إغلاق الصفقات القائمة.
جني الأرباح ثابت عند TakeProfitPoints = 200 نقطة (نسبة عائد إلى مخاطرة 2:1 مقابل وقف الخسارة 100 نقطة). يُغلق قفل الربح الديناميكي 30/15 نقطة عادةً معظم الصفقات الرابحة ضمن نطاق 30-200 نقطة من خلال تعديل الوقف كل 30 نقطة من الربح إلى 15 نقطة خلف السعر، لذا يتفوق الخروج الفعلي على جني الأرباح المُكوَّن فقط في الجاهات الاتجاهية القوية التي تقطع 200 نقطة كاملة قبل أن يلحق القفل.
متداولون يُديرون حساباً بـ 1,000 دولار أو أكثر على وسيط ECN منخفض السبريد ويرغبون في محرك اتجاه متعدد المصادر قابل للتكوين بالكامل بدلاً من إشارة بمؤشر واحد. اللوت الافتراضي 0.01 ووقف الخسارة/جني الأرباح 100/200 نقطة مُعاير لـ XAUUSD M5 (الإعداد الافتراضي للمنصة)، لكن الكود قابل للنقل إلى USDJPY وأي عملة رئيسية أو معدن — فعّل UseSessionLondon و UseSessionNewYork (8-17 و13-22 بتوقيت GMT) لأعمق نافذة سيولة، واضبط EODCloseMode على EOD_CLOSE_PROFITABLE لقطف مكاسب intraday، واقرن غطاء MaxDrawdownPercent = 10% مع وسيط يوفر حماية من الرصيد السالب. يُفيد UseCorrelationFilter الاختياري أكثر عند إرفاق الخبير بـ XAUUSD أو EURUSD عندما تريد تصويت أصول متقاطعة لـ USDJPY عند كل إدخال؛ وإلا اتركه معطلاً وشغّل الخبير كمتبع اتجاه ثلاثي المصادر نقي.
منطق الاستراتيجية
Pipsgrowth EX16056 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216056
الإصدار: 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 EX16056 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 | 22216056 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_16056" | 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 | false | Enable RSI entry signals |
| RSI_Entry_Period | 14 | RSI period for entry |
| RSI_Entry_Overbought | 70.0 | Entry overbought level |
| RSI_Entry_Oversold | 30.0 | Entry oversold level |
| RSI_Entry_Buffer | 2.0 | Buffer around entry levels |
| RSI_Entry_SignalShift | 0 | Entry signal bar shift |
| RSI_Entry_MinRange | 5.0 | Minimum RSI range for valid entry |
| RSI_Entry_MinVolatility | 2.0 | Minimum volatility for entry |
| RSI_Entry_CooldownBars | 3 | Cooldown between entry signals |
| RSI_Confirm | false | Enable RSI confirmation |
| RSI_Confirm_Period | 21 | RSI period for confirmation |
| RSI_Confirm_Midline | 50.0 | Confirmation midline |
| RSI_Confirm_UpperThreshold | 60.0 | Upper confirmation threshold |
| RSI_Confirm_LowerThreshold | 40.0 | Lower confirmation threshold |
| RSI_Confirm_DeadZone | 5.0 | Dead zone around midline |
| RSI_Confirm_SignalShift | 0 | Confirmation signal shift |
| RSI_Confirm_MomentumBars | 3 | Bars for momentum confirmation |
| RSI_Confirm_MinStrength | 3.0 | Minimum strength for confirmation |
| RSI_TF | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for RSI |
| RSI_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied price for RSI |
| MBS_EntrySignal | false | Enable MBS entry signals |
| MBS_Entry_Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Entry timeframe for analysis |
| MBS_Entry_LookbackBars | 20 | Entry lookback period for structure analysis |
| MBS_Entry_MinBreakoutSize | 50 | Entry minimum breakout size in points |
| MBS_Entry_MomentumThreshold | 0.7 | Entry momentum strength threshold (0-1) |
| MBS_Entry_ConfirmationBars | 2 | Entry bars needed for confirmation |
| MBS_Entry_VolatilityFilter | 1.5 | Entry volatility filter multiplier |
| MBS_Entry_TrendStrengthMin | 0.6 | Entry minimum trend strength (0-1) |
| MBS_Entry_RequireVolumeSpike | true | Entry require volume confirmation |
| MBS_Entry_VolumeMultiplier | 1.5 | Entry volume spike multiplier |
| MBS_Entry_ATRPeriod | 14 | Entry ATR period for volatility |
| MBS_Entry_ATRMultiplier | 1.0 | Entry ATR multiplier for breakout validation |
| MBS_Entry_EMAPeriod | 21 | Entry EMA period for trend direction |
| MBS_Entry_MinPriceMovement | 0.0001 | Entry minimum price movement for signal |
| MBS_Confirm | false | Enable MBS confirmation |
| MBS_Confirm_Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Confirmation timeframe for analysis |
| MBS_Confirm_LookbackBars | 15 | Confirmation lookback period for structure analysis |
| MBS_Confirm_MomentumThreshold | 0.5 | Confirmation momentum strength threshold (0-1) |
| MBS_Confirm_ConfirmationBars | 1 | Confirmation bars needed for validation |
| MBS_Confirm_VolatilityFilter | 2.0 | Confirmation volatility filter multiplier |
| MBS_Confirm_TrendStrengthMin | 0.4 | Confirmation minimum trend strength (0-1) |
| MBS_Confirm_RequireVolumeSpike | false | Confirmation require volume confirmation |
| MBS_Confirm_VolumeMultiplier | 1.2 | Confirmation volume spike multiplier |
| MBS_Confirm_ATRPeriod | 14 | Confirmation ATR period for volatility |
| MBS_Confirm_ATRMultiplier | 1.2 | Confirmation ATR multiplier for breakout validation |
| MBS_Confirm_EMAPeriod | 21 | Confirmation EMA period for trend direction |
| 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 |
| Magic_EntrySignal | false | Enable Magic entry signals |
| Magic_Confirm | false | Enable Magic confirmation |
| UseMagic_Decision | true | Master switch for Magic Decision |
| UseAutoFilter | true | Use automatic filter tuning |
| Length | 10 | Magic indicator length |
| MagicMAMethod | MODE_LWMA | Magic MA calculation method |
| 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 |
| SlopeSMAThreshold | 0.5 | Slope threshold for SMA (points) |
| SlopeEMAThreshold | 0.7 | Slope threshold for EMA (points) |
| SlopeLWMAThreshold | 0.3 | Slope threshold for LWMA (points) |
| SlopeSMMAThreshold | 0.8 | Slope threshold for SMMA (points) |
| UseAdaptiveConfirm | false | Enable adaptive confirmation (additional to Magic) |
| Adaptive_ATR_Period | 14 | ATR period for volatility measurement |
| Adaptive_HighVol_Pips | 40.0 | High volatility threshold (pips for USDJPY) - SCALPING OPTIMIZED |
| Adaptive_LowVol_Pips | 15.0 | Low volatility threshold (pips for USDJPY) - SCALPING OPTIMIZED |
| Adaptive_Momentum_Bars | 8 | Bars for momentum calculation |
| Adaptive_Momentum_MinPips | 15.0 | Minimum momentum in pips - SCALPING OPTIMIZED (was 100) |
| Adaptive_Trend_Period | 20 | Period for trend strength measurement |
| Adaptive_BaseThreshold | 65.0 | Base confirmation threshold (0-100) |
| Adaptive_VolBoost | 0.8 | Multiplier during high volatility - FIXED LOGIC (easier confirmation) |
| Adaptive_VolPenalty | 1.2 | Multiplier during low volatility - FIXED LOGIC (harder confirmation) |
| Adaptive_DebugLog | false | Enable debug logging for adaptive system |
| 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) |
| UseCorrelationFilter | false | Enable correlation filter for USDJPY scalping |
| CorrelationTimeframe | 4 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for correlation analysis |
| CorrelationLookbackBars | 20 | Bars to analyze for correlation |
| CorrelationThreshold | 0.7 | Minimum correlation threshold (0-1) |
| CorrelationInverse | false | Use inverse correlation (for counter-trend scalping) |
| CorrelationMinimumMove | 20.0 | Minimum price movement in points to consider |
| CorrelationSmoothingPeriod | 5 | Smoothing period for correlation calculation |
| CorrelationDebugLog | false | Enable debug logging for correlation filter |
| UseEURUSD_Correlation | true | Use EURUSD correlation |
| UseGBPUSD_Correlation | true | Use GBPUSD correlation |
| UseAUDUSD_Correlation | true | Use AUDUSD correlation |
| UseUSDCHF_Correlation | true | Use USDCHF correlation |
| UseUSDCAD_Correlation | true | Use USDCAD correlation |
| UseEURJPY_Correlation | false | Use EURJPY correlation |
| UseGBPJPY_Correlation | false | Use GBPJPY correlation |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16056 newOptmized -- 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_Entry_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_MBS_Confirm_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
ENUM_TIMEFRAMES g_CorrelationTimeframe = 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 = 22216056; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_16056"; // 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.