Pipsgrowth EX18072 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX18072 TrendFollow — T3 (Tillson 6-EMA cascade) + Hull MA (LWMA-based) dual-slope consensus, regime-gated entries. Signal = Hull slope direct. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX18072 هو نظام توافق ثنائي الميل مبني حول متوسطَين ملسائين — T3 لِتيلسون مُعاد بناؤه برمجيًا، ومتوسط هول المتحرك المبني من متوسطات LWMA بدائية. لا يفتح المستثمر الآلي صفقة إلا عندما يرتفع المتوسطان معًا أو ينخفضان معًا على آخر شمعة مغلقة؛ إذا تعارض أي من الميلَين، تُتجاهل الشمعة بالكامل. هذا التوافق الحذر هو خيار التصميم المركزي للمستثمر الآلي، وبقية البنية مبنية لتغذيته بمدخلات نظيفة وحماية الصفقة الناتجة.
يُبنى T3 الخاص بِتيلسون من ست متوسطات EMA متداخلة. أول EMA يُسحب من مؤشر iMA؛ أما عمليات التمليس الخمس المتبقية فتُحسب برمجيًا عبر دالة CascadeEMA() التي تطبق معامل ألفا نفسه (2 / (الفترة + 1)) بشكل تكراري. بعد بناء السلاسل e1…e6، تُطبَّق أربعة معاملات متعددة الحدود — c1 = -v³، c2 = 3v² + 3v³، c3 = -6v² - 3v - 3v³، c4 = 1 + 3v + v³ + 3v² — والقيمة النهائية لـ T3 هي c1e6 + c2e5 + c3e4 + c4e3. معامل الحجم v الافتراضي هو T3_VOLUME_FACTOR = 0.7. النتيجة هي ممليس منخفض التخلف يحافظ بصدق على نهاية الاتجاهات أكثر من EMA واحد بينما يرفض معظم ضوضاء الشمعة بشمعة.
يتبع متوسط هول الصيغة المعيارية لكنه يستخدم مؤشرات iMA أصلية للمرورَين الداخليَين. يُحفظ مؤشرَا LWMA نشطَين — أحدهما للفترة الكاملة (افتراضي 20) والآخر لنصف الفترة (افتراضي 10). تُحسب سلسلة هول الخام برمجيًا كـ 2*LWMA(p/2) - LWMA(p)، ثم تُملَّس مرة إضافية بـ LWMA برمجي بطول sqrt(p) وأوزان تنازلية 1…sqrt(p). المصفوفة النهائية g_hull[] هي ما يقرأه منطق الميل. هذا البناء مطابق تمامًا لتعريف هول؛ لا يوجد مؤشر فرعي iCustom.
قياس الميل غير متماثل: T3Slope() يُجري انحدار OLS على T3_SLOPE_BARS = 3 قيم مغلقة ويُرجع ميل الانحدار. HullSlope() ببساطة يُرجع g_hull[0] - g_hull[1]. دالة Signal() لا تُصدر اتجاهًا إلا عندما يتشارك T3Slope وHullSlope الإشارة، وتكون قيمة T3 الحالية أعلى/أسفل القيمة السابقة، وتكون قيمة Hull الحالية أعلى/أسفل القيمة السابقة — أربعة فحوصات إجمالًا. الثقة تُحسب كمتوسط قيمتَي الميل، مقيسة بـ ATR(14) الحالي ومحدودة بـ 100. التوافق الضعيف ينتج ثقة منخفضة؛ التوافق القوي في سوق متقلب ينتج ثقة عالية. الاتجاه المنشور هو ما يُغذِّي المرحلة التالية.
مصنِّف نظام السوق ذو السبع حالات في CalcRegime() يقرأ ADX(14)، وATR(14) على نافذة 100 شمعة للقيمة المئوية، وعرض بولينجر(20, 2.0) على نافذة 100 شمعة للقيمة المئوية. الحالات هي CHOPPY (ADX ≤ 15)، وBREAKOUT (ADX ≥ 25 مع نسبة ATR المئوية ≥ 80 أو نسبة عرض BB المئوية ≥ 80)، وSTRONG_TREND (ADX ≥ 25)، وWEAK_TREND (ADX ≥ 20)، وCOMPRESS (نسبة ATR المئوية ≤ 20)، وEXPAND (نسبة ATR المئوية ≥ 80 أو نسبة عرض BB المئوية ≥ 80)، وRANGE (الباقي). CHOPPY هي الحالة الوحيدة التي تحظر الدخول؛ الحالات الأخرى تُمرَّر إلى Confirm().
Confirm() تضيف أربعة بوابات تحقق فوق نظام السوق: توافق اتجاه EMA(21) على H1 (g_hHTF_EMA) الذي يتطلب أن يكون إغلاق H1 السابق فوق EMA للشراء وتحته للبيع، ونافذة جلسة وقت الخادم من 07:00 إلى 21:00، وسقف متوسط نشر متحرك لـ 50 شمعة يرفض الشموع التي يتجاوز فيها النشر الحالي 3 أضعاف المتوسط الجاري، وفحص نسبة مخاطرة إلى عائد لا تقل عن 1.5. التحقق من R:R مثير للاهتمام: TP وSL فعليًا مثبتان عند TP_ATR_MULT=4.0 وSL_ATR_MULT=2.0 — نسبة ثابتة 1:2 — لذا فإن InpMinRR=1.5 هو أرضية أمان تحمي النظام إذا تم تغيير مضاعفات SL أو TP.
NoTrade() هو كومة veto قبل الدخول. تُعيد true (لا صفقة) إذا كان مفتاح الإيقاف يعمل، أو نظام السوق CHOPPY، أو ساعة الخادم خارج نافذة الجلسة، أو اليوم سبت أو أحد، أو النشر الحالي يتجاوز 3 أضعاف متوسطه المتحرك، أو رأس المال الفعال نزل تحت InpCapFloor = 50$، أو خسارة اليوم المحققة ≥ 3% من رأس المال الفعال، أو خسارة الأسبوع المحققة ≥ 9%، أو المستثمر الآلي لديه InpMaxConcurrent = 1 صفقة مفتوحة بالفعل، أو الرمز لديه InpMaxSymbolPos = 1 صفقة مفتوحة، أو فترة تهدئة 5 شموع لا تزال سارية بعد خروج بخسارة. كل من أرضية رأس المال وأسقف الخسارة اليومية/الأسبوعية تُحسب من EffCapital() التي تُرجع أصغر equity وInpCapAmount عند تفعيل السقف، مطروحًا منها ربح/خسارة اليوم المحققة.
تنفيذ الدخول مباشر: CalcLot() تُحدد حجم الصفقة عند 0.5% من رأس المال الفعال، بسقف KELLY_CAP_PCT = 5%، والمخاطرة لكل لوت تُحسب من slDistPrice * tickValue / tickSize. فحص الهامش المسبق يرفض الأمر إذا أبلغ OrderCalcMargin عن متطلب فوق الهامش الحر. الوضع الجاف هو الافتراضي — InpDryRun=true يعني أن كل أمر buy/sell/modify يُسجل في السجل لكن لا يُرسل.
بمجرد فتح الصفقة، ManageExits() تمشي أربعة إجراءات على كل تيكت. الأول هو نقطة التعادل: عند rMult ≥ 1.0، يُنقل وقف الخسارة إلى سعر الدخول + 50 نقطة للشراء أو سعر الدخول - 50 نقطة للبيع (إزاحة 500 ميكرو-بيب / 5 بيبات على عرض أسعار XAUUSD من 5 أرقام). الثاني هو جني الأرباح الجزئي: عند rMult ≥ 1.0، يُغلق نصف الصفقة، لكن فقط إذا كان الحجم المتبقي على الأقل ضعف خطوة اللوت (حماية بنيوية ضد الإغلاق تحت الحد الأدنى للوسيط). الثالث هو وقف الخسارة المتحرّك: المسافة = 2.5 * ATR(14)، مع خطوة دنيا 30 نقطة حتى لا يتحرك الوقف إلا عند حركة حقيقية. الرابع هو الخروج بوقت محدد: 240 شمعة على الإطار الزمني للدخول — 20 ساعة على M5 — وتُغلق الصفقة بغض النظر عن الربح/الخسارة.
مسارا خروج إضافيان مُوصَّلان في ManageExits(). خروج الإشارة المعاكسة يستدعي Signal() ويُغلق الصفقة إذا انعكس الاتجاه المنشور. روتين OnTester() يُرجع (صافي الربح * عامل الربح) / (1 + نسبة السحب للرصيد%) مع أرضية 30 صفقة؛ تُستخدم النتيجة من قبل strategy tester لترتيب توليفة المدخلات.
مؤشرات iMA الـ 12 (6 EMA لتتابع T3، و2 LWMA لأنصاف هول، وATR، وADX، وبولينجر، وH1 EMA) كلها تُنشأ في OnInit() وتُحرر في OnDeinit(). الدوال الـ 31، والمدخلات الـ 21، وثوابت #define الـ 34 منظمة في الطبقات الـ 12 المُعلنة في الترويسة: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, وOnTester. وقف الخسارة دائمًا 2.0 * ATR(14) من الدخول، وجني الأرباح دائمًا 4.0 * ATR(14)، والعلاقة بينهما تُتحقق منها بفحص MinRR على كل شمعة مرشحة.
تفاصيل الاستراتيجية
في كل تيكت، OnTick() يُحدّث متوسط النشر EMA، ويستدعي CalcRegime() لتصنيف السوق إلى واحدة من سبع حالات، ثم يمشي ManageExits() لخدمة المراكز المفتوحة. فحص الإشارة الثنائي في قلب المستثمر الآلي — T3Slope (انحدار OLS لـ 3 شموع) وHullSlope (فرق شمعة واحدة) — لا يُصدر اتجاهًا إلا عندما تتوافق جميع فحوصات الأسعار والميل الأربعة، لذا فإن التوافق انتقائي حقًا. التأكيد يضيف مرشح اتجاه H1 EMA(21)، ونافذة جلسة الخادم 7:00–21:00، وبوابة نشر 3x متحركة، وتحقق مخاطرة إلى عائد أدنى 1.5 فوق مصنّف نظام السوق. ثم NoTrade() يرفض الشمعة إذا كان مفتاح الإيقاف يعمل، أو نظام السوق CHOPPY، أو النشر غير طبيعي، أو تم انتهاك أرضية رأس المال، أو انكسرت سقوف الخسارة اليومية 3% أو الأسبوعية 9%، أو كانت فترة تهدئة 5 شموع من خسارة حديثة لا تزال سارية. تحديد حجم الصفقة يأتي من CalcLot() عند 0.5% من رأس المال الفعال، بسقف كيلي 5%، مع فحص هامش مسبق، وكل أمر يُبَوَّاب بـ InpDryRun (افتراضي true) قبل إرسال buy أو sell الفعلي. ترويسة الـ 12 طبقة هي بنية حقيقية، ليست حشوًا — الدوال الـ 31 منظمة في REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, وOnTester، ومؤشرات iMA الـ 12 (ستة EMA لتتابع T3، واثنان LWMA لأنصاف هول، بالإضافة إلى ATR وADX وبولينجر وH1 EMA) كلها تُنشأ في OnInit وتُحرر في OnDeinit.
الدخول للشراء يتطلب أن تكون قيمة T3 وقيمة Hull أعلى في آخر شمعة مغلقة مقارنة بالشمعة السابقة، مع T3Slope (انحدار OLS لـ 3 شموع) وHullSlope (فرق شمعة واحدة) كلاهما موجب. الدخول للبيع يعكس نفس الفحوصات الأربعة في الاتجاه المعاكس. التأكيد يتطلب أيضًا توافق H1 EMA(21)، ونشاط جلسة 7:00–21:00 بتوقيت الخادم، والنشر الحالي ضمن 3 أضعاف متوسطه المتحرك لـ 50 شمعة، ونظام سوق غير CHOPPY. ثم يُحجم الأمر عند 0.5% من رأس المال الفعال بسقف كيلي 5% وفحص هامش مسبق.
تُغلق الصفقة إذا انعكس إشارة الميل الثنائي إلى الاتجاه المعاكس، أو إذا انقضت 240 شمعة (20 ساعة على M5) والصفقة لا تزال مفتوحة. يُفحص خروج الإشارة المعاكسة كل تيكت عبر ManageExits()، لذا يمكن التصرف بالانعكاس دون انتظار إغلاق الشمعة التالية. لا يوجد وقف خسارة ثابت على الرصيد؛ بوابات الخروج هي وقف الخسارة نفسه، ووقف الوقت، والجزئي عند 1R، وانعكاس الإشارة.
يُحدد وقف الخسارة عند سعر الدخول ± 2.0 × نقاط ATR(14)، ويبقى ثابتًا من الفتح. تُطبق إزاحة نقطة التعادل 50 نقطة (5 بيبات على عرض أسعار XAUUSD من 5 أرقام) على الوقف بمجرد وصول rMultiple إلى 1.0، مما يُقفل الصفقة عند سعر الدخول + 50 نقطة. يُحرّك وقف الخسارة المتحرّك 2.5 × ATR(14) بخطوة دنيا 30 نقطة وقف الخسارة للأمام (للشراء) أو للخلف (للبيع) مع تحرك الصفقة في صالحها.
يُحدد جني الأرباح عند سعر الدخول ± 4.0 × نقاط ATR(14)، مما يعطي نسبة مخاطرة إلى عائد ثابتة 1:2 مقارنة بوقف 2.0 × ATR. يعمل مدخل InpMinRR=1.5 كتحقق أمان فوق المضاعف المثبت 2.0 — يُفرض داخل Confirm() بدلاً من قياس TP. يُفعَّل إغلاق جزئي 50% عند علامة 1R باستخدام مسافة ATR نفسها، مما يُصفّي نصف الصفقة قبل تفعيل TP الكامل.
شغّل هذا المستثمر الآلي على XAUUSD M5 برصيد بداية 100$ أو أكثر ووسيط يدعم مراكز XAUUSD بالميكرو-لوت مع تحمّل انزلاق 30 نقطة. المخاطرة الافتراضية 0.5% لكل صفقة وسقف كيلي 5% يُبقيان ملف السحب صغيرًا، لذا حسابات تحديات شركات التمويل prop في نطاق 5K$–10K$ خيار مناسب. بوابة جلسة الخادم 7:00–21:00 وسقف النشر 3x المتحرك يعملان أفضل مع حساب ECN أو خام بنشر منخفض يُعيد تنفيذات في أقل من 200 مللي ثانية خلال تداخلات جلستَي لندن ونيويورك.
منطق الاستراتيجية
Pipsgrowth EX18072 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218072
الإصدار: 2.00
الوصف:
T3 (Tillson 6-EMA cascade) + Hull MA (LWMA-based) dual-slope consensus, regime-gated entries. Signal = Hull slope direction + T3 slope direction agreement on the last CLOSED bar
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
EffCapital()TodayRealizedPnL()WeekRealizedPnL()CountMyPositions()CountSymbolPositions()NormalizePrice()RespectStops()ClampVolume()CopyBufSafe()CopiedReset()
// Pipsgrowth EX18072 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// T3 (Tillson 6-EMA cascade) + Hull MA (LWMA-based) dual-slope consensus, regime-gated entries. Signal = Hull slope direction + T3 slope direction agreement on the last CLOSED bar
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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagicNumber | 22218072 | Magic number (unique id) |
| InpTradeComment | "Psgrowth.com Expert_18072" | Trade comment |
| InpSlippagePts | 30 | Slippage cap (points) |
| InpDryRun | true | Dry-run (no real sends) |
| InpRiskPercent | 0.5 | Risk per trade (% effective capital) |
| InpDailyLossPct | 3.0 | Max daily loss (% effective capital) |
| InpWeeklyLossPct | 9.0 | Max weekly loss (% effective capital) |
| InpMaxConcurrent | 1 | Max concurrent trades (all symbols) |
| InpMaxSymbolPos | 1 | Max positions per symbol |
| InpCapAmount | 0.0 | Capital cap amount ($ real money) |
| InpCapFloor | 50.0 | Floor below which no new entries ($) |
| InpT3Period | 14 | T3 EMA period (all 6 cascades) |
| InpT3Coeff | T3_VOLUME_FACTOR | T3 volume factor v (0..1) |
| InpHullPeriod | 20 | Hull MA period (>=4) |
| InpRequireHTF | true | Require HTF trend agreement |
| InpRequireSession | true | Require trading-session window |
| InpMinRR | 1.5 | Minimum reward:risk ratio |
| InpUseBreakEven | true | Use break-even |
| InpUseATRTrail | true | Use ATR trailing stop |
| InpExitOnReverse | true | Exit on opposite signal |
| InpKillSwitch | false | Kill switch (halt everything) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18072 T3Hull Adaptive — T3 + Hull MA dual-slope consensus, regime-gated, full 12-layer stack."
//
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
CTrade trade;
CPositionInfo position;
CSymbolInfo sym;
CAccountInfo acc;
//====================== TUNABLE #define CONSTANTS ===================
#define T3_VOLUME_FACTOR 0.7 // Tillson volume factor v (0..1)
#define T3_SLOPE_BARS 3 // bars used for T3 slope regression
#define ADX_PERIOD 14 // ADX period
#define ADX_STRONG_TREND 25 // ADX >= this = StrongTrend
#define ADX_WEAK_TREND 20 // ADX >= this = WeakTrend
#define ADX_CHOPPY 15 // ADX <= this = Choppy
#define ATR_PERIOD 14 // ATR period for SL/trail
#define ATR_PCTILE_LOOKBACK 100 // bars for ATR percentile
#define ATR_PCTILE_EXPAND 80 // percentile >= this = Expand
#define ATR_PCTILE_COMPRESS 20 // percentile <= this = Compress
#define BB_PERIOD 20 // Bollinger period
#define BB_DEVIATION 2.0 // Bollinger stddev
#define BBW_LOOKBACK 100 // bars for BB width percentile
#define BBW_EXPAND_PCT 80 // BBW percentile >= = trend/breakout
#define HTF_TF PERIOD_H1 // higher-timeframe trend filter
#define HTF_T3_PERIOD 21 // HTF trend EMA period
#define SL_ATR_MULT 2.0 // SL = SL_ATR_MULT * ATR(points)
#define TP_ATR_MULT 4.0 // TP initial = TP_ATR_MULT * ATR (R:R 2)
#define BE_TRIGGER_R 1.0 // BE trigger at 1R
#define BE_OFFSET_POINTS 50 // BE lock-in offset
#define USE_PARTIAL_TP true // partial TP on by default
#define PARTIAL_AT_R 1.0 // partial close trigger at 1R
#define PARTIAL_RATIO 0.5 // fraction to close
#define TRAIL_ATR_MULT 2.5 // trail distance = TRAIL_ATR_MULT * ATR
#define TRAIL_STEP_POINTS 30 // trail min step
#define MAX_BARS_IN_TRADE 240 // time exit after N bars
#define SESSION_START_HOUR 7 // broker server time
#define SESSION_END_HOUR 21 // broker server time
#define MAX_SPREAD_MULT 3.0 // spread cap = rolling avg * mult
#define SPREAD_AVG_BARS 50 // bars for rolling spread avg
#define COOLDOWN_BARS 5 // bars of cooldown after a loss
#define KELLY_CAP_PCT 5.0 // never size > 5% effective capital risk
#define HULL_DIVISOR 2.0 // Hull half-period = period/divisor
#define IND_LOOKUP 200 // bars to keep in indicator series
//====================================================================
//------------------- INPUTS (grouped; 22 total) ---------------------
input group "=== Identity ==="
input int InpMagicNumber = 22218072; // Magic number (unique id)
input string InpTradeComment = "Psgrowth.com Expert_18072"; // Trade comment
input int InpSlippagePts = 30; // Slippage cap (points)
input bool InpDryRun = true; // Dry-run (no real sends)
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.