Pipsgrowth EX16103 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX16103 Trend — Expert Advisor that trades using four Zero Lag T3 indicators with advanced exit strategies and multi-layer risk manageme. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16103 Trend هو مستشار خبير يصوّت بأربعة مؤشرات Zero-Lag T3 (صيغة تيلسون أو فولكس/ماتوليتش، HHHH\zero-lag-t3) مع مرشح Jurik واحد وبوابة ChoppinessIndex. جوهر التداول محرك T3 يعتمد على بافر اللون: كل واحد من مؤشرات T3 الأربعة يُهيأ بفترة وhot factor (a في [0,1]) ونوع T3 (Tillson أو Fulks/Matulich) وسعر مطبق وإطار زمني خاص، ويُصدر لوناً منفصلاً (2=صعود، 1=هبوط) تقرأه الدالة HullDirection(). إشارة الشراء تتطلب longVotes >= g_minInitialAgreement (افتراضياً 1) بينما shortVotes == 0؛ إشارة البيع هي المرآة. بعد فتح أول صفقة ينخفض العتبة إلى g_minAdditionalAgreement (1 أيضاً) ليتمكن تكديس الاتجاه نفسه من إضافة صفقات دون إعادة تأكيد اللوحة كاملة. تتحقق SignalIsStable() من شموع InpStableBarsRequired السابقة للتأكد من ثبات نفس تشكيل اللون عبر الماضي قبل التصرف بالإجماع، ومرساة انزياح الشمعة هي InpSignalBarShift (افتراضياً 1، أي الشمعة المغلقة).
يتم تشغيل التصويت عبر خط أنابيب تأكيد من ست خطوات. تتحقق IsWithinTradingSession من نافذة الجلسة النشطة، وSpreadAllowsEntry يطبق حارس السبريد مع عازلته، وVolumeAllowsEntry يدير مرشح الحجم (ثابت/ديناميكي/معطل، والديناميكي مُقيَّس بـ ATR)، وBarRangeAllowsEntry يرفض الشموع الأصغر أو الأكبر من اللازم بالنقاط (مُقيَّس أيضاً بـ ATR). GetJurik1Direction() تؤكد أن طور Jurik يتفق مع تصويت T3، وIsMarketChoppy() تفعّل بوابة ChoppinessIndex لكبت الدخول في حالات النطاق الميت. الكتلة الاختيارية IsFirstFridayOfMonth() / IsNfpBlackoutActive() توقف الدخول أيضاً قرب إعلان NFP. إن قالت أي خطوة لا، يُسقط الدخول صامتة في تلك التيكت وتُسجَّل سبب الحظر في لوحة المعلومات عبر SetDashboardBlockReason().
تدير المراكز من كائن CTrade واحد (CTrade trade;) مغلف في OpenPosition وClosePositions وManageTrailingStops والمساعدات CollectSymbolPositions وCountSymbolPositions وPositionsMeetProfitGate وSymbolNetProfit. يُختار sizing المخاطرة بـ ENUM_MM_MODE: MM_MODE_FIXED_LOTS يستخدم InpLots (افتراضياً 1.0) وMM_MODE_PERCENT_RISK يستخدم InpRiskPerTradePercent (افتراضياً 1.0% من الرصيد) فوق قاعدة تقريب اللوت (LOT_ROUND_DOWN/NEAREST/UP) وقيود min/max/step للرمز داخل ClampVolumeToSymbol(). يُختار تعبئة الأمر عبر SetTypeFillingBySymbol(). الانزلاق هو InpSlippagePoints (20). السحر 22216103، والتعليق هو الثابت InpTradeComment = "Psgrowth.com Expert_16103" مقطوعاً إلى 31 حرفاً بواسطة PrepareTradeComment(). مسافات الوقف الصلبة هي InpStopLossPoints = 200.0 نقطة وInpTakeProfitPoints = 1000.0 نقطة (نسبة مخاطرة/مكافأة 1:5). يعمل حارس الهامش فقط عند تفعيل InpEnableMarginGuard ويستخدم InpMinMarginLevelPerc لحجب الدخول الجديد عند ضعف مستوى الهامش.
تعمل حزمة التتبع والوقف المتكافئ وقفل الربح فوق نفس التذكرة. تقوم ManageTrailingStops() بتدوير الوقف خلف السعر بمقدار InpTrailingStepPts (210 نقطة) عند بلوغ InpTrailingTriggerPts (40 نقطة) ربحاً. تنقل ApplyBreakEven() الوقف إلى entry+InpBreakEvenOffset (5 نقاط) بعد InpBreakEvenTrigger (30 نقطة). تمشي ApplyProfitLock() (عند تفعيل InpEnableProfitLock) بالربح في خطوات InpProfitLockIncrement (50 نقطة) وتتتبع بـ InpProfitLockStep (20 نقطة). يستدعي مدير الخروج (Hull2EA/ExitManager.mqh) CheckProfitScalingExit وCheckBreakEvenAndLock وCheckTimeBasedExit وCheckMomentumExit (باستخدام InitMomentumHandles على RSI + ADX) وCheckVolatilitySpikeExit وCheckSRExit (GetSwingHigh/GetSwingLow) وCheckReversalExit وCheckWeekendProtection. تستخدم منطق الخروج القائم على الإشارة في HandleReverseSignal() تصويتات long/short مقابل g_minCloseAgreeProfit (افتراضياً 1) للإغلاق في الربح وg_minCloseAgreeLoss (افتراضياً 1) للإغلاق في الخسارة؛ يتحكم InpCloseOnOppositeEvenIfInLose (افتراضياً true) فيما إذا كانت المراكز الخاسرة تُصفَّى عند التصويت العكسي.
تُرصّ حدود المخاطرة فوق منطق كل صفقة. يتطلب InpEnableProfitGate (افتراضياً true) مع InpProfitGatePoints (افتراضياً 20) أن تكون كل صفقة قائمة في نفس الاتجاه رابحة بمقدار العتبة قبل دخول جديدة، ما يمنع التكديس في سلسلة خاسرة. يُحدد InpMaxOpenPositions (افتراضياً 0) سقف تعرض الرمز؛ 0 يعني غير محدود. CorrelationMonitorHandlePositions ضمن قائمة الدوال لكن مدخلات الارتباط غير مكشوفة في مجموعة المدخلات الظاهرة، فهو يعمل كمساعد اتساق خامل لا ككتلة قابلة للضبط. تُنتج لوحة المعلومات (CDashboardGuard) لوحة من مستطيلات وتسميات الحالة وتُلقِّم قيم المرشح عبر DashboardSeedFilterDefaults وDashboardPrimeFilter وDashboardCaptureHullInputs؛ يتم كبت رسم المؤشرات الأربعة ولوحات RSI/ADX/ATR افتراضياً (تسجل AttachHullIndicator كبت التصور وتعود true دون استدعاء ChartIndicatorAdd). يرث OnTester لياقة Pipsgrowth متعددة الأهداف المعيارية، والتشغيل بالكامل بدون رأس افتراضياً — ضعه على شارت، اضبط السحر، والمستشار مكتفٍ ذاتياً.
لاختبار الأداء التاريخي توقع منحنى يعتمد بشدة على فترات T3 المختارة وقيم enum نوع T3. Tillson T3 (T3_TILLSON، الافتراضي 0) هو الأكثف تمليساً بين الاثنين؛ Fulks/Matulich T3 (T3_FULKSMAT) أسرع استجابة ويُنتج إشارات أكثر. مع InpMinIndicatorsAgreeForInitialTrades=1، سيتداول المستشار بمؤشر T3 واحد موافق بمعزل، وهو الإعداد الأكثر سماحية؛ رفع هذا الرقم إلى 2 أو 3 يفلتر الضوضاء ويركز على لحظات القناعة العالية. اقرنه ب وسيط ECN سبريده منخفض لأن وقف 200 نقطة وهدف 1000 نقطة ضيقان كفاية ليهيمن السبريد على R المحقق. حجم اللوت الثابت الافتراضي 1.0 موجه لحساب مايكرو 1 لوت على XAUUSD؛ انتقل إلى نسبة المخاطرة (1.0%) للحسابات فوق 5 آلاف دولار ليتمدد المستشار مع الإكويتي بدلاً من التحجيم الأعمى. اختبر على شارت M5 مع تفعيل تصور T3 على الشارت (InpAttachT3Indicators) لرؤية اللوحة التي تحرك التصويت.
تفاصيل الاستراتيجية
في كل تيكت، تُوجِّه OnTick لوحة المعلومات (DashboardUpdate / DashboardBeginTick / SetDashboardBlockReason)، تتحقق من IndicatorsReady وعلامات جاهزية الرموز (RsiReady, Jurik1Ready, AtrModuleReady, ChoppinessReady)، وإن كان كل شيء سليماً تستدعي HullConsensusAtShift(InpSignalBarShift, g_minInitialAgreement) لقراءة بافرات لون T3 الأربعة عبر HullDirection(). يُمرَّر التصويت عبر بوابات التأكيد الست (الجلسة، السبريد، الحجم، مدى الشمعة، اتجاه Jurik، Choppiness) ثم تُعيد SignalIsStable() فحص نفس الإجماع لـ InpStableBarsRequired شمعة سابقة. تستدعي طبقة إدارة المراكز (CTrade trade;) الدالة OpenPosition بالحجم المقرب من DetermineTradeVolume (مسار اللوت الثابت أو نسبة المخاطرة)، ووقف/هدف 200/1000 نقطة الصلبيين، وانزلاق 20 نقطة، وتُغلِّف TryClose_EX16103 كل إغلاق/إغلاق جزئي/تعديل بثلاث محاولات بينها 200 مللي ثانية. يدير مدير الخروج بالتوازي CheckProfitScalingExit وCheckBreakEvenAndLock وCheckTimeBasedExit وCheckMomentumExit (InitMomentumHandles على RSI + ADX) وCheckVolatilitySpikeExit وCheckSRExit وCheckReversalExit وCheckWeekendProtection، وتقوم ManageTrailingStops() بتدوير الوقف حالما ترى مسافة التفعيل، مع توفير ApplyBreakEven وApplyProfitLock تشديداً اختيارياً للوقف. يُكبَح الرسم على الشارت (ترجع AttachHullIndicator دون استدعاء ChartIndicatorAdd)، فيعمل المستشار بلا رأس على XAUUSD M5/H1. يرث OnTester لياقة Pipsgrowth متعددة الأهداف المعيارية، وجدول الدوال مكرر كسقالة وقت الترجمة (نفس توقيعات TryClose / TryClosePartial / TryModify / InitT3Handle / AttachHullIndicator تظهر مرتين في جدول الرموز) — الأثر التشغيلي صفر.
تتطلب إشارة الشراء موافقة g_minInitialAgreement (افتراضياً 1) على الأقل من مؤشرات Zero-Lag T3 الأربعة لطباعة لون صعودي (البافر 1 = 2) على الشمعة عند InpSignalBarShift، مع صفر من الأربعة على لون هبوطي، إضافة إلى اجتياز حارس السبريد ومرشح الحجم ومرشح مدى الشمعة واتجاه Jurik وChoppinessIndex ونافذة الجلسة و(إن كانت نشطة) حاجب تعتيم NFP ليوم الجمعة الأول. ينخفض عتبة نفس الاتجاه إلى g_minAdditionalAgreement (افتراضياً 1) بمجرد وجود صفقة مفتوحة. تطلب SignalIsStable() أيضاً ثبات نفس التشكيل لـ InpStableBarsRequired شمعة سابقة.
تصويت T3 عكسي لا يقل عن g_minCloseAgreeProfit (افتراضياً 1) يُغلق الصفقة وهي رابحة، وتصويت عكسي بمقدار g_minCloseAgreeLoss (افتراضياً 1) يُغلقها حتى لو كانت خاسرة، مع بوابة InpCloseOnOppositeEvenIfInLose (افتراضياً true). يدير مدير الخروج (ExitManager.mqh) أيضاً الخروج بتدرج الأرباح والتوقف المتكافئ وقفل الربح والوقت والزخم (RSI+ADX) وارتفاع التذبذب والسوينج (GetSwingHigh/Low) وحماية نهاية الأسبوع بالتوازي، وتُغلِّف TryClose_EX16103 كل محاولة إغلاق بما يصل إلى ثلاث محاولات بينها 200 مللي ثانية.
الوقف الثابت لكل صفقة هو InpStopLossPoints = 200.0 نقطة (نحو 20 دولار على XAUUSD بتسعير 5 خانات) يُرفق بكل دخول من OpenPosition. تقوم ManageTrailingStops() بعد ذلك بتدوير الوقف خلف السعر بمقدار InpTrailingStepPts (210 نقطة) عند بلوغ InpTrailingTriggerPts (40 نقطة) ربحاً، ويمكن لـ ApplyBreakEven() (معطلة افتراضياً) سحب الوقف إلى entry+5 نقاط بعد 30 نقطة ربح. لا يوجد قاطع تراجُع عالمي على مستوى الحساب — السقف الوحيد على مستوى المحفظة هو InpEnableMarginGuard الاختياري عند InpMinMarginLevelPerc.
جني الأرباح الثابت لكل صفقة هو InpTakeProfitPoints = 1000.0 نقطة (نحو 100 دولار على XAUUSD) يُرفق بكل دخول، مما يعطي نسبة مخاطرة/مكافأة 1:5 مقابل وقف 200 نقطة. يضيف مدير الخروج مخارج تدرج الأرباح عبر CheckProfitScalingExit، ويمكن لـ ApplyProfitLock (معطلة افتراضياً) قفل ربح صريح في خطوات 50 نقطة. لا يوجد جني أرباح مبني على الوقت؛ وحدة الخروج المبني على الوقت مدمجة في المدير لكنها مرتبطة بوقت الصفقة لا بهدف إغلاق.
يناسب المتداولين الذين يديرون XAUUSD على M5 أو H1 مع حد أدنى للإيداع 100 دولار، وتحمّل مخاطرة متوسط، ووسيط ECN سبريده منخفض (سبريد خام أقل من 5 نقاط على الذهب). حجم 1.0% من الرصيد افتراضياً يناسب الحسابات من 1000 دولار فما فوق؛ اللوت الثابت 1.0 الاحتياطي يستهدف حساب مايكرو 1 لوت. شغِّله خلال جلستي لندن ونيويورك حين يُنتج حجم XAUUSD ولوحة T3 المؤكدة بـ Jurik أنظف الإشارات، وتجنب نافذة NFP ليوم الجمعة الأول إن كان حاجب NFP مُفعَّلاً.
منطق الاستراتيجية
Pipsgrowth EX16103 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216103
الإصدار: 2.00
الوصف:
Expert Advisor that trades using four Zero Lag T3 indicators with advanced exit strategies and multi-layer risk management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
PrepareTradeComment()DashboardFormatTimeframe()DashboardDirectionString()DashboardFilterStatusText()DashboardDeleteObjects()DashboardCreateRectangle()DashboardCreateLabel()DashboardSetLabel()DashboardEnsureLayout()DashboardCaptureHullInputs()
// Pipsgrowth EX16103 Trend — Execution Flow (from source analysis)
// Family: Trend
// Expert Advisor that trades using four Zero Lag T3 indicators with advanced exit strategies and multi-layer risk 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpLots | 1.0 | Fixed lot size (0.01,0.01,50.0) |
| InpSlippagePoints | 20 | Max slippage (points) (0,1,100) |
| InpMagicNumber | 22216103 | Magic number (1,1,99999999) |
| InpTradeComment | "Psgrowth.com Expert_16103" | Trade comment for new positions |
| InpMoneyManagementMode | MM_MODE_FIXED_LOTS | Money management mode |
| InpRiskPerTradePercent | 1.0 | Risk per trade (% of balance) (0.1,0.1,10.0) |
| InpLotRoundingMode | LOT_ROUND_NEAREST | Lot rounding mode |
| InpStopLossPoints | 200.0 | Initial stop loss (points) (10.0,1.0,5000.0) |
| InpTakeProfitPoints | 1000.0 | Initial take profit (points) (10.0,1.0,10000.0) |
| InpEnableMarginGuard | false | Enforce minimum margin level before new trades |
| InpMinMarginLevelPerc | 200.0 | Minimum margin level (%) (100.0,1.0,1000.0) |
| InpEnableTrailingStop | true | Master toggle for trailing stop management |
| InpTrailingTriggerPts | 40.0 | Trailing stop trigger (points) (5.0,1.0,500.0) |
| InpTrailingStepPts | 210.0 | Trailing stop step (points) (10.0,1.0,2000.0) |
| InpEnableBreakEven | false | Move SL to break-even |
| InpBreakEvenTrigger | 30.0 | Profit trigger (points) (5.0,1.0,500.0) |
| InpBreakEvenOffset | 5.0 | Offset from entry (points) (0.0,1.0,100.0) |
| InpEnableProfitLock | false | Lock profits |
| InpProfitLockIncrement | 50.0 | Lock every X points (10.0,1.0,500.0) |
| InpProfitLockStep | 20.0 | Distance from current price (1.0,1.0,200.0) |
| InpEnableProfitGate | true | Require existing trades be in profit |
| InpProfitGatePoints | 20.0 | Minimum profit (points) per trade (1.0,1.0,500.0) |
| InpMaxOpenPositions | 0 | Maximum open positions (0=unlimited) (0,1,100) |
| InpSignalBarShift | 1 | Signal bar shift (0=current,1=closed) |
| InpMinIndicatorsAgreeForInitialTrades | 1 | Minimum T3 indicators agreeing for initial entries (1,1,4) |
| InpMinIndicatorsAgreeForAdditonalTrades | 1 | Minimum T3 indicators agreeing for additional entries (1,1,4) |
| InpCloseOnOpposite | false | Close trades on opposite agreement if in profit |
| InpMinIndicatorsAgreeCloseProfit | 1 | Minimum T3 indicators to close in profit (1,1,4) |
| InpCloseProfitPoints | 10.0 | Minimum profit (points) to close on opposite (0.0,1.0,200.0) |
| InpCloseOnOppositeEvenIfInLose | true | Close trades on opposite agreement even if losing |
| InpMinIndicatorsAgreeCloseLoss | 2 | Minimum T3 indicators to close even if losing (1,1,4) |
| InpRequireStableSignal | false | Require consensus to persist |
| InpStableBarsRequired | 2 | Consecutive bars with same consensus (1,1,10) |
| InpProcessOnBarCloseOnly | true | Evaluate signals only on new bar |
| T3_1_Enabled | true | Enable T3 Indicator 1 |
| T3_1_Period | 14.0 | T3 Period (1.0,0.1,200.0) |
| T3_1_Hot | 0.7 | T3 Hot Factor (0.0,0.1,1.0) |
| T3_1_Type | T3_FULKSMAT | T3 Calculation Type |
| T3_1_Price | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price |
| T3_1_Timeframe | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Indicator Timeframe |
| T3_2_Enabled | false | Enable T3 Indicator 2 |
| T3_2_Period | 20.0 | T3 Period (1.0,0.1,200.0) |
| T3_2_Hot | 0.7 | T3 Hot Factor (0.0,0.1,1.0) |
| T3_2_Type | T3_FULKSMAT | T3 Calculation Type |
| T3_2_Price | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price |
| T3_2_Timeframe | 7 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Indicator Timeframe |
| T3_3_Enabled | false | Enable T3 Indicator 3 |
| T3_3_Period | 30.0 | T3 Period (1.0,0.1,200.0) |
| T3_3_Hot | 0.7 | T3 Hot Factor (0.0,0.1,1.0) |
| T3_3_Type | T3_FULKSMAT | T3 Calculation Type |
| T3_3_Price | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price |
| T3_3_Timeframe | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Indicator Timeframe |
| T3_4_Enabled | false | Enable T3 Indicator 4 |
| T3_4_Period | 40.0 | T3 Period (1.0,0.1,200.0) |
| T3_4_Hot | 0.7 | T3 Hot Factor (0.0,0.1,1.0) |
| T3_4_Type | T3_FULKSMAT | T3 Calculation Type |
| T3_4_Price | 5 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied Price |
| T3_4_Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Indicator Timeframe |
| InpJurik1_Enabled | false | Enable Jurik Filter 1 |
| InpJurik1_UseForInitialTrades | true | Use for initial trade entries |
| InpJurik1_UseForAdditionalTrades | true | Use for additional trades (same direction) |
| InpJurik1_Timeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Jurik Timeframe |
| InpJurik1_Length | 50 | Jurik Length (1,1,200) |
| InpJurik1_Phase | 0.0 | Jurik Phase (-100.0,1.0,100.0) |
| InpJurik1_VolatilityDivisorBase | 10.0 | Volatility Divisor Base (0.1,0.1,50.0) |
| InpJurik1_VolatilityDivisorMax | 100.0 | Volatility Divisor Max (1.0,1.0,200.0) |
| InpJurik1_VolumeBarLimit | 10 | Volume Bar Limit (1,1,50) |
| InpJurik1_AdaptiveFactor | 2.0 | Adaptive Factor (0.1,0.1,10.0) |
| InpJurik1_AdaptiveMultiplier | 4.0 | Adaptive Multiplier (0.1,0.1,20.0) |
| InpJurik1_AdaptiveMinLength | 30.0 | Adaptive Min Length (1.0,1.0,100.0) |
| InpJurik1_BetaFactor | 0.45 | Beta Factor (0.01,0.01,0.99) |
| InpEnableRsiConfirmation | false | Require RSI confirmation for entries |
| InpRsiTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpRsiPeriod | 14 | RSI Period (5,1,30) |
| InpRsiPrice | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) |
| InpRsiBuyMin | 0.0 | RSI Buy Min (0.0,1.0,50.0) |
| InpRsiBuyMax | 70.0 | RSI Buy Max (50.0,1.0,80.0) |
| InpRsiSellMin | 30.0 | RSI Sell Min (20.0,1.0,50.0) |
| InpRsiSellMax | 100.0 | RSI Sell Max (70.0,1.0,100.0) |
| InpEnableCorrelationMonitor | false | Enable correlation monitoring |
| InpCorrelationBlockEntries | true | Block new entries on correlation breakdown |
| InpCorrelationClosePositions | false | Close positions when correlation breaks down |
| InpCorrelationTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Correlation timeframe |
| InpCorrelationLookback | 50 | Bars to evaluate correlation (10,1,500) |
| InpCorrelationMinThreshold | 0.75 | Minimum absolute correlation allowed (0.1,0.01,0.99) |
| InpCorrelationDivergenceTrigger | 0.25 | Minimum change to flag breakdown (0.05,0.01,1.0) |
| InpCorrelationConfirmBars | 2 | Consecutive bars required to confirm breakdown (1,1,10) |
| InpCorrelationSymbolSuffix | "" | Broker symbol suffix (auto-appended) |
| InpCorrWatch_EURUSD | true | Monitor EURUSD correlation |
| InpCorrWatch_GBPUSD | true | Monitor GBPUSD correlation |
| InpCorrWatch_AUDUSD | false | Monitor AUDUSD correlation |
| InpCorrWatch_NZDUSD | false | Monitor NZDUSD correlation |
| InpCorrWatch_USDJPY | false | Monitor USDJPY correlation |
| InpCorrWatch_USDCAD | false | Monitor USDCAD correlation |
| InpCorrWatch_USDCHF | false | Monitor USDCHF correlation |
| InpCorrWatch_XAUUSD | false | Monitor XAUUSD correlation |
| InpEnableBarRangeFilter | false | Require minimum average bar range |
| InpBarRangeLookback | 5 | Number of bars to average (2,1,50) |
| InpMinBarRangePoints | 50.0 | Minimum average range (points) (1.0,1.0,1000.0) |
| InpEnableNFPFilter | false | Block trading on first Friday (NFP) |
| InpNFPStartHour | 8 | NFP release hour (broker time) (0,1,23) |
| InpNFPStartMinute | 30 | NFP release minute (0,1,59) |
| InpNFPAvoidMinutesBefore | 30 | Stop trading X min before NFP (5,1,120) |
| InpNFPAvoidMinutesAfter | 30 | Resume trading X min after NFP (5,1,120) |
| InpNFPClosePositions | true | Close positions before NFP |
| InpNFPCloseMinutesBefore | 10 | Close X min before NFP (1,1,60) |
| InpNFPCloseProfitOnly | false | Only close profitable positions |
| InpEnableAtrFilter | false | Require minimum ATR |
| InpAtrTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpAtrPeriod | 14 | ATR period (5,1,50) |
| InpAtrAveragePeriod | 50 | ATR average period (10,1,200) |
| InpAtrMultiplierMin | 1.0 | ATR must be >= average*multiplier (0.5,0.1,5.0) |
| InpEnableSpreadFilter | false | Block trades during wide spreads |
| InpMaxSpreadPoints | 20.0 | Maximum allowed spread (points) (1.0,1.0,200.0) |
| InpEnableVolumeFilter | false | Enable volume filter for entries |
| InpVolumeType | VOLUME_TICK | Volume type to analyze |
| InpVolumeTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Volume data timeframe |
| InpVolumeThreshold | 0 | Minimum volume threshold (0=disabled) |
| InpUseVolumeAverage | true | Compare to average volume |
| InpVolumeAvgPeriod | 20 | Volume average period (5,1,100) |
| InpVolumeMultiplier | 0.8 | Volume must be >= average*multiplier (0.1,0.1,5.0) |
| InpEnableProfitScaling | false | Enable partial profit taking |
| InpScalingLevels | 3 | Number of scaling levels (1,1,5) |
| InpScalingTargets | "50,100,200" | Profit targets (points), comma-separated |
| InpScalingPercents | "30,30,40" | % to close at each level |
| InpEnableMaxHoldingTime | false | Enable position time limits |
| InpMaxHoldingHours | 24 | Maximum holding time (hours) (1,1,240) |
| InpCloseProfitableOnly | true | Close only profitable positions |
| InpMinProfitThreshold | 0.0 | Profit threshold (points) (0.0,1.0,500.0) |
| InpEnableMomentumExit | false | Exit on momentum loss |
| InpMomTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpMomRsiPeriod | 14 | RSI period for momentum exit (5,1,30) |
| InpMomRsiOverbought | 70.0 | RSI exit for buys (60.0,1.0,100.0) |
| InpMomRsiOversold | 30.0 | RSI exit for sells (0.0,1.0,40.0) |
| InpMomAdxPeriod | 14 | ADX period for exit (7,1,30) |
| InpMomAdxWeakThreshold | 20.0 | Exit when ADX drops below (5.0,1.0,40.0) |
| InpEnableVolatilityExit | true | Exit on ATR spike |
| InpVolExitAtrTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| InpVolExitAtrPeriod | 14 | ATR period (5,1,50) |
| InpVolExitAtrAvgPeriod | 50 | ATR average period (10,1,200) |
| InpVolSpikeMultiplier | 2.5 | ATR spike threshold vs avg (1.0,0.1,10.0) |
| InpVolExitProfitOnly | false | Require profit before ATR spike exit |
| InpEnableSRExit | false | Exit at key levels |
| InpSRLookbackBars | 50 | Bars to find swing points (5,1,500) |
| InpSRDistancePoints | 20.0 | Distance to trigger exit (1.0,1.0,1000.0) |
| InpSRExitProfitOnly | true | Only if profitable |
| InpEnableSessionFilters | true | Enable session-based trading |
| InpUseServerTime | true | Use broker server time (vs local) |
| InpAsianSessionEnabled | true | Enable trading during Asian session |
| InpAsianSessionStartHour | 0 | Asian session start hour (0,1,23) |
| InpAsianSessionStartMinute | 0 | Asian session start minute (0,1,59) |
| InpAsianSessionEndHour | 9 | Asian session end hour (0,1,23) |
| InpAsianSessionEndMinute | 0 | Asian session end minute (0,1,59) |
| InpEuropeanSessionEnabled | true | Enable trading during European session |
| InpEuropeanSessionStartHour | 8 | European session start hour (0,1,23) |
| InpEuropeanSessionStartMinute | 0 | European session start minute (0,1,59) |
| InpEuropeanSessionEndHour | 17 | European session end hour (0,1,23) |
| InpEuropeanSessionEndMinute | 0 | European session end minute (0,1,59) |
| InpUSSessionEnabled | true | Enable trading during US session |
| InpUSSessionStartHour | 13 | US session start hour (0,1,23) |
| InpUSSessionStartMinute | 0 | US session start minute (0,1,59) |
| InpUSSessionEndHour | 22 | US session end hour (0,1,23) |
| InpUSSessionEndMinute | 0 | US session end minute (0,1,59) |
| InpCustomSessionEnabled | false | Enable trading during custom session |
| InpCustomSessionStartHour | 22 | Custom session start hour (0,1,23) |
| InpCustomSessionStartMinute | 0 | Custom session start minute (0,1,59) |
| InpCustomSessionEndHour | 23 | Custom session end hour (0,1,23) |
| InpCustomSessionEndMinute | 59 | Custom session end minute (0,1,59) |
| InpEnableEndOfDayClose | false | Close all trades at specific time |
| InpEndOfDayCloseHour | 23 | Close hour (0,1,23) |
| InpEndOfDayCloseMinute | 45 | Close minute (0,1,59) |
| InpEndOfDayProfitOnly | false | Only close profitable positions |
| InpEndOfDayBlockNewTrades | true | Block new trades after close time |
| InpShowDashboard | true | Display on-chart dashboard |
| InpDashboardX | 8 | Dashboard X position (pixels) |
| InpDashboardY | 28 | Dashboard Y position (pixels) |
| InpDashboardWidth | 360 | Dashboard width (pixels) |
| InpDashboardBgColor | C'4,5,8' | Dashboard background color |
| InpDashboardBgOpacity | 245 | Dashboard fill opacity (0 transparent, 255 solid) (0,1,255) |
| InpDashboardTextColor | clrWhite | Dashboard text color |
| InpDashboardAccentColor | clrDodgerBlue | Dashboard header/accent color |
| InpAttachT3Indicators | true | Show T3 indicator overlays on chart |
| InpT3IndicatorSubwindow | 1 | Subwindow index for T3 overlays (0=main chart, 1+=subwindows) |
| InpShowRsiIndicator | true | Display RSI indicator visualization |
| InpRsiIndicatorSubwindow | 2 | Subwindow index for RSI visualization (1+=subwindows) |
| InpShowAdxIndicator | true | Display ADX indicator visualization |
| InpAdxIndicatorSubwindow | 3 | Subwindow index for ADX visualization (1+=subwindows) |
| InpShowAtrIndicator | true | Display ATR indicator visualization |
| InpAtrIndicatorSubwindow | 4 | Subwindow index for ATR visualization (1+=subwindows) |
| InpEnableChoppinessFilter | true | Enable choppiness detection and filtering |
| InpChopBlockEntries | true | Block new entries during choppy markets |
| InpChopClosePositions | false | Close positions when choppiness detected |
| InpChopCloseProfitOnly | true | Only close profitable positions on choppiness |
| InpChopMinProfitPoints | 10.0 | Minimum profit (points) to close on chop (0.0,1.0,500.0) |
| InpChopRequireLayers | 2 | Layers required to confirm choppiness (1,1,4) |
| InpChopUseChopIndex | true | Enable Choppiness Index layer |
| InpChopIndexTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // CHOP indicator timeframe |
| InpChopIndexPeriod | 14 | CHOP calculation period (10,1,50) |
| InpChopIndexThreshold | 61.8 | Choppy when CHOP > threshold (50.0,1.0,80.0) |
| InpChopUseAdx | true | Enable ADX trend strength layer |
| InpChopAdxTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // ADX timeframe |
| InpChopAdxPeriod | 14 | ADX period (7,1,50) |
| InpChopAdxMinTrend | 25.0 | Choppy when ADX < threshold (15.0,1.0,40.0) |
| InpChopUseRangeCompression | true | Enable range compression detection |
| InpChopRangeTimeframe | 0 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Range compression timeframe |
| InpChopRangeLookback | 5 | Bars to compare range compression (3,1,20) |
| InpChopRangeAtrPeriod | 14 | ATR period for range comparison (10,1,50) |
| InpChopRangeCompressionRatio | 0.5 | Choppy when range < ATR*ratio (0.2,0.1,1.0) |
| InpChopUseAdaptiveThresholds | false | Dynamically adjust thresholds based on volatility |
| InpChopAdaptiveAtrPeriod | 50 | ATR period for adaptive scaling (20,1,100) |
| InpChopAdaptiveMultiplier | 1.5 | Volatility multiplier for adaptive mode (0.5,0.1,3.0) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16103 Hull2EA — four Zero Lag T3 indicator trend EA, full 12-layer stack."
#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Hull2EA/ExitManager.mqh>
enum ENUM_MM_MODE
{
MM_MODE_FIXED_LOTS = 0,
MM_MODE_PERCENT_RISK = 1
};
enum ENUM_LOT_ROUNDING
{
LOT_ROUND_DOWN = 0,
LOT_ROUND_NEAREST = 1,
LOT_ROUND_UP = 2
};
enum ENUM_T3_TYPE
{
T3_TILLSON = 0, // Tim Tillson way of calculation
T3_FULKSMAT = 1 // Fulks/Matulich way of calculation
};
//----------------------
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;
}الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.