Pipsgrowth EX18082 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX18082 TrendFollow — AlphaTrend EA for XAUUSD M5 using EMA fast/slow crossover with RSI pullback/breakout confirmation, Donchian channel, and. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 18082 ألفاترند هو مستشار خبير لتتبع الاتجاه مُصمم خصيصاً لزوج XAUUSD على الإطار الزمني M5. تعتمد محركات إشاراته على ثلاث طبقات قرار مستقلة: تقاطع المتوسطين المتحركين السريع والبطيء، ومؤشر RSI بسبعة فترات لاكتشاف الارتدادات، وقناة دونشيان لإمساك الاختراقات. فوق هذه الطبقات يعمل مرشح ميل هيكن آشي الداخلي الذي يحدد أي اتجاه مسموح له بالانطلاق أصلاً. النتيجة نظام يمكنه إما شراء الارتدادات داخل اتجاه قائم أو شراء الاختراق عند كسر النطاق، وكل ذلك من مسار كود واحد.
يتم حساب مرشح الاتجاه داخل دالة CalculateHASlope(). تبني الدالة إغلاق هيكن آشي للشمعة المغلقة الأخيرة ((فتح+أعلى+أدنى+إغلاق)/4) ولنفس الشمعة قبل فترة lookback (افتراضياً 10 شموع)، ثم تأخذ الفرق بالنقاط. علامة هذا الميل تعطي trend_dir: موجبة عند صعود هيكن آشي، وسالبة عند هبوطه، وصفر عند الميل المسطح أو شبه المسطح. مدخل InpMinSlopePoints مضبوط افتراضياً على 0.0، مما يسمح للفلتر بتأكيد أي انحياز اتجاهي غير صفري؛ ورفعه يُشدد البوابة. لا يمكن لأي دخول ارتداد أو اختراق أن ينطلق ضد trend_dir.
فرع الارتداد (يُفعَّل عبر InpEnablePullback، افتراضياً true) هو الدخول الأكثر شيوعاً. يتطلب توافق ثلاثة شروط على الشمعة المغلقة الأخيرة: المتوسط السريع EMA(21) فوق المتوسط البطيء EMA(55)، ومؤشر RSI(7) أقل من مستوى ارتداد الثيران (افتراضياً 40)، وtrend_dir موجب للدخول الطويل. وال Short هو المرآة: سريع تحت بطيء، وRSI أعلى من 60، وtrend_dir سالب. مستويات ارتداد RSI متعمدة داخل المنطقة المحايدة، فالنظام لا يشتري قيعان التشبع البيعي بل يشتري الانخفاضات داخل الاتجاه الصاعد.
فرع الاختراق (يُفعَّل عبر InpEnableBreakout، افتراضياً true) لا ينطلق إلا إذا لم يُطلق فرع الارتداد. تستخدم دالة GetDonchian() الدالتين iHighest/iLowest على مدى 30 شمعة سابقة (بتجاهل الشمعة 0) لاسترجاع الأعلى والأدنى السابقين. الإغلاق فوق أعلى 30 شمعة السابقة مع trend_dir موجب يعني دخول شراء؛ والمرآة للدخول على Short. ولأن فحص الاختراق يعمل على الشمعة المغلقة، فإن النظام لا يلاحق القمة الجديدة، بل ينتظر الشمعة التالية للتأكيد.
يتم فلترة التذبذب عبر ATR(14) وموضعه الطبيعي في النطاق 0-1، الذي يتحكم فيه InpMinAtrNorm (0.15) وInpMaxAtrNorm (0.85). عندما يكون الوضع النسبي لـ ATR الحالي خارج هذا النطاق، يتخطى المستشار الدخول. والهدف هو تجنب كل من الانضغاط (تذبذب محدود) والتمدد (فوضى ما بعد الأخبار). كما يوجد فحص current_atr <= 0 للعودة المبكرة. السبريد محدد بسقف صلب: أي تيك يتجاوز فيه سبريد الرمز 200 نقطة يُسقَط على الأرض قبل تشغيل الإدارة.
يتم تحديد حجم كل صفقة جديد عبر GetLotSize() بميزانية مخاطرة افتراضية 1% من الرصيد، مع العودة إلى 0.01 لوت ثابت عندما يكون InpRiskPercent صفراً. مسافة وقف الخسارة بالنقاط تُحسب كـ ATR(14) * InpSlAtrMult (افتراضياً 1.4)، لذا فإن وقف الخسارة ديناميكي ويتنفس مع السوق. جني الأرباح هو ATR(14) * InpTpAtrMult (افتراضياً 2.2)، أي ما يعادل نسبة مخاطرة إلى عائد 1:1.57 تقريباً. الحد الأقصى للوت لكل صفقة محدد بـ 10 عبر InpMaxLotSize، والنتيجة تُقرَّب لأسفل إلى خطوة اللوت، ثم تُقصَّ إلى حدود الرمز.
التحوط الآمن (InpUsePyramid = true افتراضياً) يسمح بحد أقصى 3 مراكز على نفس الرمز بنفس الرقم السحري. ترفض دالة CheckPyramidSafety() الإضافة إذا كان مركز في الاتجاه المعاكس مفتوحاً، وترفض الإضافة إذا كان وقف الخسارة للصفقة الحالية لم يُدفع بعد إلى منطقة الربح بمقدار InpPyramidMinProfit (100 نقطة) على الأقل، وترفض الإضافة إذا وصل العدد إلى InpMaxPyramidTrades. هذا تحوط بـ'ربح مؤمَّن' وليس مارتينجال — كل دخول إضافي مشروط بمركز أخضر بالفعل بمبلغ محدد.
تعمل إدارة المراكز في كل تيك عبر ManageProfitLock(). عندما يكون المركز رابحاً بمقدار InpLockTrigger (300) نقطة على الأقل، تتم إعادة كتابة وقف الخسارة إلى السعر الحالي ± InpLockDistance (100 نقطة)، لكن فقط إذا كان وقف الخسارة الجديد أفضل من وقف الخسارة الحالي بفارق InpLockStep (50 نقطة) على الأقل. ينتج عن ذلك قفل تدريجي تصاعدي: وقف الخسارة لا يرتخي أبداً، بل يشتد فقط، ويتقدم بزيادات 50 نقطة بمجرد أن يصل الصفقة إلى 300 نقطة ربح. جني الأرباح لا يُمَس.
فلتر الوقت مُفعَّل افتراضياً. تحلل دالة IsTradingTime() المدخلات InpStartTime ("08:00") وInpEndTime ("20:00") ولا تسمح بالدخول إلا بين هذه الساعات بتوقيت السيرفر. خارج النافذة، يستمر المستشار في إدارة المراكز المفتوحة لكنه يحظر الدخول الجديد؛ ومع InpCloseAtEnd، يُجبر السلة على الإغلاق في وقت النهاية. تمنع بوابة الشمعة الجديدة (iTime shift 0) تعدد الدخول لكل شمعة.
على جانب التنفيذ، يستخدم المستشار CTrade مع ORDER_FILLING_FOK وتسامح انزلاق 10 نقاط. تُعيد TryModify_EX18082() المحاولة 3 مرات بسكون 100 مللي ثانية عند requote/timeout؛ وتُعيد TryClose_EX18082() وTryClosePartial_EX18082() المحاولة 3 مرات بسكون 200 مللي ثانية عند نفس أكواد الإعادة المؤقتة. لا توجد لوحة معلومات على الشارت ولا دالة OnTester مخصصة — يعتمد المستشار على مقاييس تحسين MT5 القياسية.
تفاصيل الاستراتيجية
تبدأ دالة OnTick بإسقاط أي تيك يتجاوز فيه السبريد 200 نقطة، ثم تُشغِّل ManageProfitLock() على كل مركز موجود، ثم تطبّق فلتر الوقت (08:00-20:00 بتوقيت السيرفر، مفعَّل افتراضياً). عند شمعة M5 الجديدة تقرأ خلية واحدة من كل مؤشر (EMA21 وEMA55 وRSI7 وATR14)، وتحسب ميل HA داخلياً على مدى 10 شموع، وتجعل trend_dir يفلتر الإشارة. ينطلق فرع الارتداد عندما يكون المتوسط السريع في الاتجاه الصحيح من البطيء وRSI(7) دخل منطقة الارتداد 40/60؛ وينطلق فرع الاختراق عندما يكون الإغلاق في الاتجاه الصحيح من نطاق دونشيان 30 شمعة. تُتجاوَز الشمعة الجديدة إذا كان الوضع النسبي لـ ATR خارج 0.15-0.85. تحديد الحجم هو 1% من الرصيد مقسوماً على مسافة وقف الخسارة بالنقاط المعتمدة على ATR، مع التقريب لأسفل إلى خطوة اللوت والاقتصار بـ InpMaxLotSize. الإضافات في التحوط مشروطة بـ CheckPyramidSafety: يجب أن يكون وقف الخسارة لكل مركز مفتوح في الربح بـ 100 نقطة على الأقل، ويجب ألا يتجاوز العدد 3. يدفع قفل الربح 300/50/100 وقف الخسارة للأمام بخطوات 50 نقطة بمجرد تجاوز الربح 300 نقطة، تاركاً مسافة 100 نقطة من السعر الحالي.
تُولَّد الإشارات عند إغلاق كل شمعة M5 عبر أحد فرعين قابلين للتبديل. فرع الارتداد (افتراضي مفعَّل): المتوسط السريع EMA(21) فوق البطيء EMA(55)، ومؤشر RSI(7) تحت مستوى الثيران (40) للشراء، مع بوابة trend_dir > 0 من ميل HA. فرع الاختراق (افتراضي مفعَّل): إغلاق الشمعة السابقة فوق أعلى 30 شمعة دونشيان (أو تحت الأدنى للبيع) مع نفس البوابة. يجب أن يكون ATR(14) داخل النطاق الطبيعي 0.15-0.85 وأن يكون السبريد تحت 200 نقطة.
ثلاثة مسارات للخروج: (1) تحقيق جني الأرباح المعتمد على ATR (2.2x)، (2) تفعيل وقف الخسارة، (3) قفل الربح يدفع وقف الخسارة للأمام بخطوات 50 نقطة بمجرد أن يصل الصفقة إلى 300 نقطة ربح، مع ترك مسافة قفل 100 نقطة، لذا فإن الاتجاه الممتد لا يعيد أبداً أكثر من 100 نقطة من الربح المفتوح. مع InpCloseAtEnd، تُغلَق جميع المراكز قسراً عند نهاية نافذة التداول (20:00 بتوقيت السيرفر).
وقف الخسارة ديناميكي: ATR(14) * 1.4 (افتراضي 1.4x) يُحسب على كل شمعة جديدة من مقبض المؤشر. يعمل مرشح ميل HA والنطاق الطبيعي لـ ATR كبوابات للصفقة لكنهما لا يحركان وقف الخسارة. يمكن لقفل الربح بخطوة 50 نقطة أن يشدد وقف الخسارة لما يصل إلى 100 نقطة خلف السعر الحالي بمجرد أن يصل الصفقة إلى 300 نقطة ربح.
جني الأرباح هو ATR(14) * 2.2 (افتراضي 2.2x) يُقاس من سعر الدخول على لقطة الشمعة الجديدة، مما يعطي نسبة مخاطرة إلى عائد ثابتة 1:1.57 تقريباً مقارنة بوقف ATR 1.4x. جني الأرباح لا يُتابَع — قفل الربح يحرك وقف الخسارة فقط.
الحد الأدنى للرصيد: 100 دولار. الأنسب لزوج XAUUSD على M5 بمخاطرة 1% من الرصيد لكل صفقة. شغّله خلال نافذة السيرفر النشطة 08:00-20:00 حتى تجد مشغلات HA وميل دونشيان سيولة لندن ونيويورك خلفها؛ المستشار مصمم لأنظمة الذهب متوسطة التذبذب ويرفض الدخول عندما يتجاوز الوضع الطبيعي لـ ATR 0.85 (فوضى ما بعد الأخبار) أو ينخفض تحت 0.15 (انضغاط). يُفضَّل حساب ECN أو حساب سبريد منخفض حتى لا يبدأ سقف 200 نقطة في رفض إعدادات M5 الصالحة.
منطق الاستراتيجية
Pipsgrowth EX18082 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218082
الإصدار: 2.00
الوصف:
AlphaTrend EA for XAUUSD M5 using EMA fast/slow crossover with RSI pullback/breakout confirmation, Donchian channel, and ATR-normalized volatility filter. Includes Heiken Ashi slope filter, safe pyramiding, profit lock/trailing, and time filter. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CalculateHASlope()GetDonchian()CheckPyramidSafety()ManageProfitLock()GetLotSize()RefreshRates()IsTradingTime()StrToTime()CloseAllPositions()TryClose_EX18082()
// Pipsgrowth EX18082 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// AlphaTrend EA for XAUUSD M5 using EMA fast/slow crossover with RSI pullback/breakout confirmation, Donchian channel, and ATR-normalized volatility filter. Includes Heiken Ashi slope filter, safe pyramiding, profit lock/trailing, and time filter. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagicNumber | 22218082 | Magic Number |
| InpEmaFast | 21 | Fast EMA Period |
| InpEmaSlow | 55 | Slow EMA Period |
| InpRsiPeriod | 7 | RSI Period |
| InpRsiBullPB | 40 | RSI Bull Pullback Level |
| InpRsiBearPB | 60 | RSI Bear Pullback Level |
| InpDonchianPeriod | 30 | Donchian Period |
| InpAtrPeriod | 14 | ATR Period |
| InpMinAtrNorm | 0.15 | Min ATR Normalized (0-1) |
| InpMaxAtrNorm | 0.85 | Max ATR Normalized (0-1) |
| InpEnablePullback | true | Enable Pullback Entry |
| InpEnableBreakout | true | Enable Breakout Entry |
| InpHaSlopeLookback | 10 | HA Slope Lookback |
| InpMinSlopePoints | 0.0 | Minimum Slope (Points) |
| InpRiskPercent | 1.0 | Risk per trade (% of Balance) |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpMaxLotSize | 10.0 | Max Lot Size per trade |
| InpSlAtrMult | 1.4 | Stop Loss ATR Multiplier |
| InpTpAtrMult | 2.2 | Take Profit ATR Multiplier |
| InpTrailAtrMult | 1.0 | Trailing ATR Multiplier |
| InpSlippage | 10 | Max Slippage (Points) |
| InpMaxSpread | 200 | Max Spread (Points) |
| InpUsePyramid | true | Enable Safe Pyramiding |
| InpMaxPyramidTrades | 3 | Max Open Positions |
| InpPyramidMinProfit | 100 | Min Secured Profit (Points) for Next Add |
| InpUseProfitLock | true | Enable Profit Lock / Trailing |
| InpLockTrigger | 300 | Trigger Distance (Points in Profit) |
| InpLockStep | 50 | Step to advance SL (Points) |
| InpLockDistance | 100 | Distance to keep SL from Price (Points) |
| InpUseTimeFilter | true | Enable Time Filter |
| InpStartTime | "08:00" | Start Trading Time (Server) |
| InpEndTime | "20:00" | End Trading Time (Server) |
| InpCloseAtEnd | false | Close all at end time |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18082 AlphaTrend_XAUUSD_5M — EMA+RSI+Donchian trend EA with pyramiding, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\AccountInfo.mqh>
// --- Global Objects ---
CTrade m_trade;
CSymbolInfo m_symbol;
CPositionInfo m_position;
CAccountInfo m_account;
// --- Inputs ---
input group "=== Identity ==="
input ulong InpMagicNumber = 22218082; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_18082";
input group "=== Signal Settings ==="
input int InpEmaFast = 21; // Fast EMA Period
input int InpEmaSlow = 55; // Slow EMA Period
input int InpRsiPeriod = 7; // RSI Period
input int InpRsiBullPB = 40; // RSI Bull Pullback Level
input int InpRsiBearPB = 60; // RSI Bear Pullback Level
input int InpDonchianPeriod = 30; // Donchian Period
input int InpAtrPeriod = 14; // ATR Period
input double InpMinAtrNorm = 0.15; // Min ATR Normalized (0-1)
input double InpMaxAtrNorm = 0.85; // Max ATR Normalized (0-1)
input bool InpEnablePullback = true; // Enable Pullback Entry
input bool InpEnableBreakout = true; // Enable Breakout Entry
input group "=== Heiken Ashi Slope Filter ==="
input int InpHaSlopeLookback = 10; // HA Slope Lookback
input double InpMinSlopePoints = 0.0; // Minimum Slope (Points)
input group "=== Money Management ==="
input double InpRiskPercent = 1.0; // Risk per trade (% of Balance)
input double InpFixedLot = 0.01; // Fixed Lot (if Risk=0)
input double InpMaxLotSize = 10.0; // Max Lot Size per trade
input group "=== Trade Management ==="
input double InpSlAtrMult = 1.4; // Stop Loss ATR Multiplier
input double InpTpAtrMult = 2.2; // Take Profit ATR Multiplier
input double InpTrailAtrMult = 1.0; // Trailing ATR Multiplier
input int InpSlippage = 10; // Max Slippage (Points)
input int InpMaxSpread = 200; // Max Spread (Points)
input group "=== Pyramid / Scaling ==="
input bool InpUsePyramid = true; // Enable Safe Pyramiding
input int InpMaxPyramidTrades = 3; // Max Open Positions
input int InpPyramidMinProfit = 100; // Min Secured Profit (Points) for Next Add
input group "=== Profit Lock & Trail ==="
input bool InpUseProfitLock = true; // Enable Profit Lock / Trailing
input int InpLockTrigger = 300; // Trigger Distance (Points in Profit)
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.