Pipsgrowth EX18031 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX18031 TrendFollow — Trend-following breakout above ATR band around a Gaussian EMA. ADX/ATR%/BB-width regime gates entries and sizing; signal. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يبني Pipsgrowth EX18031 منطق تداوله على ملاحظة بصرية قابلة للتكرار: على الإطار الزمني السريع، يقضي السعر معظم وقته متكتلاً حول المتوسط المتحرك الأسي قصير الفترة، واللحظات التي يبتعد فيها فعلاً عن هذا التكتل هي وحدها الجديرة بالتداول. يعرّف EA هذا التكتل كحزمة عرضها InpBandMult * ATR(14) على جانبي متوسط أسي طوله InpEMALength = 10 — متوسط مُنعَّم بأسلوب غاوسي لعشرة أعمدة. تُفعَّل إشارة الشراء عند أول عمود مغلق يدفع إغلاقه فوق الحزمة العلوية بمقدار InpBreakDistATR = 0.30 * ATR على الأقل، وبحيث يكون جسم الشمعة 60% على الأقل من المدى الكامل للعمود. يجب أن يبقى الإغلاقان السابقان تحت الحزمة ليكون الاختراق جديداً وليس استمراراً متأخراً، وأن يميل المتوسط الأسي نفسه للأعلى. تعكس إشارة البيع نفس الشرط ضد الحزمة السفلية. تُعيد ComputeSignal() قيمة ±1 مع درجة ثقة افتراضية 60، تُضاف إليها 15 نقطة إذا كان النظام الحالي مؤهلاً كترند، و15 نقطة إضافية إذا كان هذا الترند قوياً.
قبل السماح بأي أمر، يمر EA بيئة الشمعة الحالية عبر مصنف نظام من 7 حالات داخل UpdateRegime(). تُقرأ قيم ADX(14) وATR(14) وحزمة بولينجر للفترة 20 بانحراف 2.0 على العمود المغلق. يجب أن يتجاوز الـ ATR بوحدات السعر InpATRMinPrice = 0.30 لإبقاء EA بعيداً عن جلسات الذهب منخفضة التذبذب حيث يأكل السبريد الحركة. إذا كانت قراءة ADX ≥ InpADXMinTrend = 20.0 وكان عرض بولينجر يتسع (بأكثر من 5% مقارنة بالعمود السابق)، يكون النظام REG_STRONG_TREND. ADX ≥ 20 وحده يعني REG_WEAK_TREND. اتساع العرض بلا ADX يعني REG_EXPAND. انضغاط العرض يعني REG_COMPRESS. نسبة width/ATR أعلى من 3 تعني REG_BREAKOUT. أي شيء آخر هو REG_RANGE، والحالة الوحيدة المحظورة حظراً قاطعاً هي REG_CHOPPY التي تُضبط تلقائياً عند سقوط الـ ATR تحت الحد الأدنى. تذكر NoTradeReason() سبب REGIME_CHOPPY صراحة، مما يفرض وضعاً مسطحاً في السوق الهادئ.
لا تُحاول أي صفقة إلا إذا كانت بوابة عدم التداول نظيفة. تجمع البوابة بين حد أقصى InpMaxConcurrent = 3 صفقات مفتوحة وEX_MAX_SYMBOL_POS = 3 صفقات لكل رمز، ونافذة خادم من EX_SESSION_START إلى EX_SESSION_END بين 08:00 و22:00، ومفتاح InpKillSwitch اليدوي، وسقف سبريد InpMaxSpreadPoints = 50، وحد خسارة يومية 3% بالنسبة إلى رأس المال الفعال، وفترة تهدئة مدتها ساعة تُفعَّل بعد EX_COOLDOWN_LOSSES = 3 خسائر متتالية. تضيف NewsBlock() نافذتين ثابتتين للتعتيم — 12:30 و14:00 بتوقيت الخادم، كل منها بحاشية EX_NEWS_BLOCK_MIN = 30 دقيقة — وهي تقريب بسيط لأشهر أوقات إصدارات البيانات الأمريكية من دون الحاجة إلى موجز أخبار خارجي. عندما يكون العمود قيد المعالجة (تُرجع IsNewBar() القيمة false)، يُحدِّث EA منطق التتبع فقط، لكن يتم حجب الدخول الجديد — محاولة واحدة فقط لكل عمود مغلق عبر حارس g_lastEntryBarTime.
التأكيد داخل Confirm() قصير لكنه منضبط. يجب أن يتفق متوسط الاتجاه للإطار الزمني الأعلى (hHTF = iMA(InpTrendEMA = 50) على الإطار الزمني المختار من InpHTF = 6 → PERIOD_H4) مع اتجاه الإشارة: الشراء يتطلب أن يكون سعر العرض فوق EMA(50) للإطار H4، والبيع يتطلب أن يكون تحته. يجب أن تكون نسبة مضاعفات TP/SL InpATR_TP_Mult / InpATR_SL_Mult على الأقل 1.0 (الإعدادات الافتراضية 1.5 / 1.2 = 1.25 تجتاز طبيعياً). يجب أن يبقى ATR(14) للشمعة المغلقة فوق الحد الأدنى. إذا فشل أي فحص، تُعيد Confirm() سبباً نصياً ويُتخطى الدخول.
حجم الصفقة هو نسبة المخاطر القياسية: تقسم CalcLot() قيمة effective_capital * InpRiskPercent / 100 على خسارة اللوت الواحد بالدولار عند مسافة ATR للدخول، ثم تُقيِّد بخطوة حجم الرمز وحدوده. يكون EffectiveCapital() هو min(InpCapitalCapAmount, equity) عندما يكون InpCapitalCapAmount > 0، وإلا فهو كامل حقوق الملكية؛ مع الافتراضي 0.0 يكون السقف معطلاً ويُستخدم كامل الرصيد. لا يزال InpCapitalCapFloor = 50.0 يحجب الدخول الجديد عندما تكون حقوق الملكية صغيرة جداً لحجم لوت منطقي. تتحقق MarginOK() من كفاية الهامش قبل إرسال trade.Buy() / trade.Sell(). يعيد المساعد التجاري المحاولة مرة واحدة في حالة إعادة التسعير أو انتهاء المهلة.
بمجرد الدخول في الصفقة، تعمل ManagePositions() على كل تيك. يُغلق الخروج من الإشارة المعاكسة (EX_OPP_EXIT) المركز فوراً عند الانعكاس. يُغلق الخروج من تغير النظام (EX_REGIME_EXIT) المركز إذا انتقل النظام إلى REG_RANGE أو REG_CHOPPY — أي عندما يموت الترند الذي بُررَّ به الدخول. يُفعَّل الخروج الزمني عند InpMaxBarsInTrade = 240 شمعة (20 ساعة على M5). يُفعَّل وقف التعادل عندما يصل السعر إلى 1R: يُنقل وقف الخسارة إلى سعر الدخول مضافاً إليه مستوى الوقف عند الوسيط بالسعر. يُغلق جني الأرباح الجزئي نصف المركز عند 0.5 * InpATR_TP_Mult * ATR(14) من سعر الدخول (أي 0.75× ATR للإعدادات الافتراضية). يتدرج وقف التتبع عند InpATRTrailMult = 2.0 × ATR، مع احترام مستوى وقف الوسيط. تمر كل استدعاءات التعديل عبر TryModify_EX18031() مع حلقة من 3 محاولات تنام 100 مللي ثانية في حالة إعادة التسعير/انتهاء المهلة. EX_PYRAMID_ON مُعطَّل برمجياً بشكل ثابت، لذا فإن الإضافة إلى صفقة رابحة معطلة عمداً — كل دخول إشارة جديدة مستقلة.
للضبط، أهم الروافع هي مضاعف الحزمة (InpBandMult) ومسافة الاختراق (InpBreakDistATR). رفع InpBandMult إلى 1.2–1.5 يقلل الإشارات إلى أشد حالات الانفصال؛ خفضه إلى 0.5 يزيد التكرار. حد ADX (InpADXMinTrend) هو مفتاح التشغيل/الإيقاف لتحمل الترند — اتركه عند 20 لنطاق ADX المعتاد للذهب 18–28، ارفعه إلى 25–30 لطلب حركة مؤكدة قبل الدخول. اختيار الإطار الزمني الأعلى (InpHTF = 6 = H4) مناسب لـ M5: EMA(50) للإطار H1 يميل لأن يكون مفرط التفاعل على الذهب، بينما يعمل الإطار اليومي لكنه يولد إشارات على حدود اليوم فقط. يعطي زوج TP/SL (InpATR_TP_Mult = 1.5، InpATR_SL_Mult = 1.2) نسبة مخاطرة إلى عائد 1.25:1 على مستوى الصفقة، لكن مجموعة BE+الجزئي+التتبع تحوّل ذلك إلى نسبة محققة أفضل بكثير عند الربح. توقع نسبة إصابة في نطاق 35–50%، مع أداء الجزء الأكبر من العمل على جانب الربح عبر الجزئي والتتبع.
حالة الاستخدام العملية هي تداخل لندن–نيويورك على الذهب، حيث يتجاوز ATR 0.30 بشكل موثوق وتعطي حزم الاختراق 2–4 إشارات لكل جلسة. عادةً ما تتوافق نافذة 08:00–22:00 للخادم في هذا EA مع هذا التداخل بحسب فرق توقيت GMT للوسيط، وتساعد حالات التعتيم عند 12:30/14:00 على تجنب الوقوع في ارتفاع مفاجئ عند صدور البيانات الأمريكية. هذه ليست استراتيجية تتطلب سبريد منخفض — سقف 50 نقطة سبريد متساهل — لكن على حسابات ECN الرفيعة يمكن تضييق فلتر السبريد إلى 25–30 لتجنب اتساع ما بعد ساعات التداول الذي يشتهر به الذهب.
تفاصيل الاستراتيجية
يقيس EX18031 الفجوة بين EMA(10) وسعر إغلاق العمود المغلق، ثم يُفعِّل الإشارة عندما تتجاوز تلك الفجوة 0.85× ATR(14) مع شمعة ذات جسم قوي وظل الإغلاقان السابقان داخل الحزمة. تقرأ UpdateRegime() قيم ADX(14) وATR(14) وعرض بولينجر(20, 2.0) على نفس العمود لاختيار إحدى الحالات السبع — STRONG_TREND أو WEAK_TREND أو RANGE أو BREAKOUT أو COMPRESS أو EXPAND أو CHOPPY — وCHOPPY هي الحالة الوحيدة التي تحجب الدخول حظراً قاطعاً. حد خسارة يومية 3%، وتهدئة ساعة بعد ثلاث خسائر متتالية، ونافذة الخادم 08:00–22:00، وحالات تعتيم الأخبار 12:30/14:00، وسقف سبريد 50 نقطة، وحد أقصى 3 مراكز مفتوحة على الرمز — كل ذلك يحرس الدخول، بينما يعمل EMA(50) للإطار H4 كفلتر اتجاه. تعمل إدارة الصفقة على كل تيك: إغلاق من الإشارة المعاكسة، إغلاق من تغير النظام إلى RANGE/CHOPPY، خروج زمني عند 240 شمعة، نقطة تعادل عند 1R، إغلاق نصفي 50% عند 0.75× ATR، ووقف تتبع 2.0× ATR إلى الأمام فقط — كل ذلك عبر حلقات إعادة محاولة من 3 محاولات عند إعادة التسعير وانتهاء المهلة.
تُفعَّل عند عمود مغلق يدفع إغلاقه فوق حزمة ATR العلوية (EMA(10) ± 0.85 × ATR(14)) بمقدار لا يقل عن 0.30 × ATR، مع جسم شمعة قوي (60% على الأقل من مدى العمود) وظل الإغلاقان السابقان داخل الحزمة. تعكس إشارة البيع نفس الشرط على الحزمة السفلية. يجب أن يتفق EMA(50) للإطار الزمني الأعلى على H4 مع اتجاه الإشارة، وتُسجَّل درجة الثقة عند 60 افتراضياً، +15 إذا كان النظام ترنداً، +15 إضافية إذا كان ترنداً قوياً.
يُغلق بناءً على ثلاثة محفزات تعمل بالتوازي: الخروج من الإشارة المعاكسة عندما تنقلب إشارة ComputeSignal()، والخروج من تغير النظام عندما يهبط المصنف إلى REG_RANGE أو REG_CHOPPY، والخروج الزمني عند 240 شمعة على M5 (نحو 20 ساعة). يُغلق جني الأرباح الجزئي نصف المركز عند 0.75× ATR(14) من سعر الدخول، ثم يتدرج وقف التتبع عند 2.0× ATR إلى الأمام فقط فوق سعر الدخول.
وقف الخسارة الأولي على بعد 1.2× ATR(14) تحت سعر الدخول للشراء / فوقه للبيع، مع تطبيق حد أدنى لمستوى وقف الوسيط عبر StopsLevelPoints(). يُنقل بعد ذلك وقف الخسارة إلى نقطة التعادل (الدخول ± مستوى الوقف بالسعر) بمجرد أن يصل السعر إلى +1R، ثم يتولى وقف التتبع عند 2.0× ATR المهمة. البيرميد معطل برمجياً بشكل ثابت، لذا فإن وقف الخسارة لا يُحكم إلا على دخول واحد.
جني الأرباح الأولي على بعد 1.5× ATR(14) من سعر الدخول (1.25:1 R:R مع وقف 1.2× ATR)، لكن الخروج المحقق يأتي عادةً من الإغلاق النصفي عند 0.75× ATR مع وقف التتبع عند 2.0× ATR. نسبة 1.25:1 الاسمية هي قاعدة منخفضة — معظم الصفقات الرابحة ستصبح 2–4× ATR بمجرد تفعيل التتبع، وتتجمع الخاسرات قرب وقف 1.2× ATR.
الأفضل نشره على XAUUSD M5 مع وسيط ECN أو سبريد منخفض (سقف 50 نقطة سبريد متساهل، لكن تضييقه إلى 25–30 يساعد خارج ساعات الذروة). تستهدف نافذة الخادم 08:00–22:00 تداخل لندن–نيويورك وصباح جلسة نيويورك، مع حالات تعتيم مدمجة مدتها 30 دقيقة حول 12:30 و14:00 بتوقيت الخادم لتفادي إصدارات البيانات الأمريكية. الحد الأدنى الموصى به للرصيد: 100 دولار (يتطابق مع حد رأس المال البالغ 50 دولاراً في الاستراتيجية بالإضافة إلى هامش لحجم المخاطرة 0.5%). مستوى المخاطرة: متوسط — مخاطر 0.5% لكل صفقة، وحد يومي 3%، وعتبة خسارة أسبوعية 9% تحمي من يوم سيئ واحد يخرج عن السيطرة، لكن نسبة R:R الأساسية 1.25:1 تعني أن EA يحتاج إلى نسبة إصابة ≥45% لتحقيق صافي ربح، لذا فإن كومة التتبع تؤدي عملاً ذا معنى على الصفقات الرابحة.
منطق الاستراتيجية
Pipsgrowth EX18031 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218031
الإصدار: 2.00
الوصف:
Trend-following breakout above ATR band around a Gaussian EMA. ADX/ATR%/BB-width regime gates entries and sizing; signal fires on closed-bar close crossing the ATR band with strong body; HTF trend + candle strength + R/R confirm; ATR-based SL/TP with break-even, partial TP, ATR trail, regime-change and opposite-signal exits; capital allocation cap governs all risk; pyramid OFF by default. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
NormPrice()ClampVolume()StopsLevelPoints()EffectiveCapital()TodayRealizedPnL()CountMyPositions()CountSymbolPositions()IsNewBar()InSession()NewsBlock()
// Pipsgrowth EX18031 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Trend-following breakout above ATR band around a Gaussian EMA. ADX/ATR%/BB-width regime gates entries and sizing; signal fires on closed-bar close crossing the ATR band with strong body; HTF trend + candle strength + R/R confirm; ATR-based SL/TP with break-even, partial TP, ATR trail, regime-change and opposite-signal exits; capital allocation cap governs all risk; pyramid OFF by default. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpDryRun | true | Dry-run mode (no live orders) |
| InpKillSwitch | false | Global kill switch |
| InpMagic | 22218031 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_18031" | Trade comment |
| InpEMALength | 10 | Gaussian EMA length (bars) |
| InpBandMult | 0.85 | ATR band multiplier (ratio) |
| InpTrendEMA | 50 | HTF trend EMA period (bars) |
| InpHTF | 6 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF timeframe for trend EMA |
| InpADXMinTrend | 20.0 | Min ADX for StrongTrend (ratio) |
| InpATRMinPrice | 0.30 | Min ATR price units (volatility floor) |
| InpBreakDistATR | 0.30 | Min breakout distance (ATR multiples) |
| InpRiskPercent | 0.5 | Risk per trade (% effective_capital) |
| InpATR_SL_Mult | 1.2 | ATR SL multiplier (ratio) |
| InpATR_TP_Mult | 1.5 | ATR TP multiplier (ratio) |
| InpMaxConcurrent | 3 | Max concurrent positions (int) |
| InpDailyLossLimitPct | 3.0 | Daily loss limit (% effective_capital) |
| InpCapitalCapAmount | 0.0 | Cap amount (REAL $, not notional) |
| InpCapitalCapFloor | 50.0 | Floor below which no new entries |
| InpATRTrailMult | 2.0 | ATR trailing multiplier (ratio) |
| InpMaxBarsInTrade | 240 | Max bars in trade (int, 0=off) |
| InpMaxSpreadPoints | 50.0 | Max allowed spread (points) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18031 EX20 — Trend-following breakout above ATR band around an EMA, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>
//=== INPUTS (TOTAL = 22) ============================================
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_InpHTF = PERIOD_H1;
input group "=== System ==="
input bool InpDryRun = true; // Dry-run mode (no live orders)
input bool InpKillSwitch = false; // Global kill switch
input long InpMagic = 22218031; // Magic number
input string InpTradeComment = "Psgrowth.com Expert_18031"; // Trade comment
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;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.