Pipsgrowth EX18021 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · USDJPY · M15، M5، H1
Pipsgrowth EX18021 TrendFollow — UT Bot Alert ATR trailing-stop trend-follow EA. Each closed bar the trail is walked forward using the canonical Pine por. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
EA EX18021 من Pipsgrowth هو مستشار خبير لتتبع الاتجاه بأسلوب UT Bot مخصص لزوج USDJPY. تعتمد الاستراتيجية على وقف متحرك يعتمد على ATR ومأخوذ من نص Pine الكلاسيكي، ثم نُقل إلى MT5 وطُبّق على 250 شمعة مغلقة، حيث تنطلق الإشارات فقط عند انعكاس السعر فوق أو تحت هذا الوقف.
تدور كل المنطق في دالة OnTick. في كل شمعة جديدة تصنّف دالة DetectRegime() السوق باستخدام مؤشر ADX(14) إلى جانب مرتبة percentile لمؤشر ATR على 60 شمعة وعرض بولينجر(20, 2.0). تُستخدم ثماني حالات: لا اتجاه، اتجاه قوي، اتجاه ضعيف، نطاق، اختراق، انضغاط، توسّع، وتذبذب. عند ADX أعلى من 30 يُصنَّف الاتجاه قوياً، وبين 20 و30 ضعيفاً، وإذا كانت مرتبة ATR أقل من 25 يُعتبر السوق منضغطاً، وفوق 70 مع توسّع في عرض بولينجر بنسبة 15% يُعتبر متوسعاً، وعند انخفاض العرض مع صعود ADX يُصنَّف كاختراق، وما تبقى فهو نطاق. حالة CHOPPY وحدها هي التي تحظر الدخول بالكامل، أما RANGE وCOMPRESS فتُسمَح عند الإشارة لكنها تُفعّل الخروج عند تغيّر الحالة.
تمشي دالة CoreSignal() وقف UT Bot إلى الأمام عبر TRAIL_SYNC_LOOKBACK (250) شمعة مغلقة. يبدأ الوقف من أقدم إغلاق ثم يُحدَّث لكل شمعة باستخدام مخزن 2.0×ATR(10) مع القواعد الكلاسيكية: استمرار الصعود، استمرار الهبوط، والانعكاس الجانبي. تنطلق إشارة الشراء عندما يكون إغلاق آخر شمعة فوق الوقف بينما الإغلاق السابق لم يكن كذلك، وإشارة البيع هي المعاكس. تحسب هذه الدالة أيضاً درجة ثقة بين 0 و100 من مدى ابتعاد السعر عن الوقف نسبة إلى نطاق 2×ATR، وهي قيمة تُسجَّل في السجل فقط دون أن تشترط الدخول — الصفقة تمر أو لا تمر وفق الانعكاس.
قبل إرسال أي أمر، تمر دالة NoTradeBlock() عبر تسعة بوابات: قفل الإيقاف (Kill Switch)، فروق سعرية فوق 35 نقطة، جلسة سيولة منخفضة (خارج نافذة 6 إلى 21 بتوقيت الخادم)، حالة تذبذب CHOPPY، كشف الأخبار/الشموع الكبيرة (شمعة بمدى أعلى وأدنى أعلى من 3×ATR)، تهدئة بعد ثلاث خسائر متتالية، رأس مال تحت 50$، خسارة يومية تتجاوز 3% من رأس المال الفعّال، وعدد صفقات مفتوحة بحد أقصى 1. كما تحظر الدالة التداول في عطلات نهاية الأسبوع: الجمعة بعد الساعة 21:00 بتوقيت الخادم، ويومي السبت والأحد بالكامل. تضيف دالة ConfirmEntry() المتوسط المتحرك الأسي HTF EMA(50) على إطار H1: تتطلب صفقات الشراء أن يكون آخر إغلاق فوقه، والبيع أن يكون دونه. إذا عاد نسخ الإطار الأعلى بأقل من شمعتين، يُعتبر التأكيد ناجحاً (وضع متراجع دون حظر).
يعتمد تحديد حجم الصفقة على نسبة المخاطرة. تحسب المعادلة: riskMoney = رأس المال الفعّال × 0.5%، ثم تُقسم على خسارة اللوت الواحد = مسافة وقف الخسارة × قيمة التيك / حجم التيك، قبل تقريبها إلى خطوة الحجم لدى الوسيط وتقييدها بحدوده. يُعطَّل InpCapitalCapAmount افتراضياً عند 0 (يُستخدم رأس المال الإجمالي)، وأي قيمة موجبة تحدّ المخاطرة على الحد الأصغر بين رأس المال والسقف. يبقى حد الـ 50$ لرأس المال مفعّلاً في كل الحالات. يُقارن الحد الأدنى للناتج بـ volume_min لدى الوسيط، فإن سقط دونه يُحظر الدخول مع طباعة تشخيصية بدل إرسال صفقة أصغر من المسموح.
يُضبط وقف الخسارة على بُعد 1.5×ATR(14) من سعر الدخول، بحد أدنى يساوي مستوى stops level لدى الوسيط أو 5 نقاط، أيهما أكبر. يُضرب هذا البُعد في 2.0 لجني الأرباح، أي بنسبة مخاطرة إلى عائد 1:2. تتعامل TryEntry() أيضاً مع انعكاسات UT Bot بشكل صحيح: إذا كانت الإشارة الجديدة معاكسة لصفقة مفتوحة، تُغلق تلك الصفقة أولاً عبر TryClose_EX18021 ثم تُفتح الجهة الجديدة بالسوق. يُمنع إرسال أكثر من صفقة على الشمعة نفسها (حارس g_last_entry_bar)، وتتولى محاولة إعادة واحدة مع نوم 150 مللي ثانية التعامل مع requotes وأخطاء تغير السعر قبل إعلان الفشل القاسي.
تُدار المراكز في كل تيكت. تمشي ManageExits() على جميع المراكز التابعة لهذا السحر وتطبّق أربع طبقات بالترتيب: أولاً، نقطة التعادل: عند وصول السعر إلى +1R يُرفع الوقف إلى سعر الدخول. ثانياً، جني الأرباح الجزئي: عند +1R يُغلق 50% من الصفقة (مرة واحدة لكل تذكرة، تُسجَّل في g_partial_done_tickets بسعة 64 تذكرة). ثالثاً، وقف ATR المتحرك: يتبع الوقف السعر خلف bid أو أمام ask بمقدار 2.0×ATR(14)، ويتحرك للأمام فقط دون أن يتراجع، مع فحص الحد الأدنى للمسافة لتفادي وقوفه قريباً جداً من السعر. رابعاً، الخروج الزمني: أي صفقة عمرها 100 شمعة تُغلق قسرياً.
بعد هذه الحلقة تستدعى OppositeAndRegimeExit() لمرة واحدة. تستدعي CurrentTrend() (نفس مشي UT Bot لكن دون كشف الانعكاس — تكتفي بالإبلاغ عن الاتجاه الحالي) وDetectRegime(). إذا انعكس الاتجاه ضد صفقة مفتوحة، تُغلق الصفقة — هذا هو الخروج الثاني والأكثر صرامة فوق الوقف المتحرك لكل تيكت. إذا أصبحت الحالة CHOPPY أو RANGE أو COMPRESS، تُغلق كل الصفقات بصرف النظر عن الاتجاه، لأن انعكاسات UT Bot تُولّد ضوضاء في الأسواق المستقرة ولا يستطيع الوقف المتحرك الاستجابة بالسرعة الكافية.
يُسجَّل تتبّع الخسائر في OnTradeTransaction. بعد كل صفقة تخرج بمراكز تحقق خسارة محققة (ربح + سواب + عمولة)، يزيد g_consec_losses. عند بلوغ COOLDOWN_AFTER_LOSS (3) يُضبط g_cooldown_until لثلاث شموع قادمة ويُعاد العداد إلى الصفر. الصفقة الرابحة تُصفّر العداد. مفتاح Kill Switch هو إغلاق يدوي شامل: عند ضبطه على true، تُغلق كل التيكتات جميع المراكز عبر DoKillSwitch() متجاوزةً بقية المنطق.
تُعيد دالة OnTester() معيار تحسين مخصص: (صافي الربح × معامل الربح) / (1 + |سحب الرصيد|)، بحد أدنى 30 صفقة. هذا يكافئ العائد الإجمالي ويعاقب السحب، ويرفض تقييم أي اختبار خلفي بأقل من 30 صفقة، مما يمنع الإفراط في التوافق مع عينات صغيرة أثناء اختبار MetaTrader.
InpDryRun يكون افتراضياً true، أي أن EA يُسجّل نية الدخول مع لقطة كاملة للمعاملات دون استدعاء Buy() أو Sell(). اضبطه على false للتشغيل الفعلي. المنظومة بأكملها قابلة للنقل: تتضمن المدخلات محدد الإطار الزمني الأعلى (1 إلى 7 للإطارات M1 إلى D1، و8 افتراضياً تُحوَّل إلى H1 عبر MapTimeframeInt)، ومدخلات الحالة قابلة للضبط، ومعاملات الوقف قابلة لإعادة الضبط لتصرف ATR مختلف على أدوات مختلفة. تعليق الصفقة مضبوط على "Psgrowth.com Expert_18021" والسحر هو 22218021، مما يتيح تشغيل عدة نسخ على نفس الحساب وعلى أزواج مختلفة دون تصادم.
تفاصيل الاستراتيجية
تعتمد الاستراتيجية على منفذ لمؤشر UT Bot Alert من TradingView Pine، مع وقف ATR متحرك يمشي إلى الأمام عبر 250 شمعة مغلقة في كل تيكت قرار على شمعة جديدة. يصنّف مصنّف الحالات الثماني (ADX، مرتبة ATR، عرض بولينجر) الإشارات المؤهلة: تُحظر حالات التذبذب كلياً بينما تسمح حالات الاتجاه القوي والضعيف بالدخول. صُمم معيار OnTester المخصص (صافي × معامل الربح) / (1 + |السحب|) بحد أدنى 30 صفقة لتفضيل الاستراتيجيات التي تنتج صفقات كثيرة وتتسامح مع سحب معقول، بدلاً من مطاردة ربح واحد كبير. يمنع سقف رأس المال القابل للضبط (InpCapitalCapAmount، افتراضي 0=معطّل) وحد رأس المال 50$ المستشار من التداول عندما يكون حجم الحساب صغيراً جداً أو عندما يريد المشغّل تقييد المخاطرة. تتضمن فلاتر عدم التداول مفتاح القفل، وغطاء السبريد 35 نقطة، وكاشف شموع الأخبار عند 3×ATR، وحظر اقتراب نهاية الأسبوع يوم الجمعة عند 21:00، وحظر السبت والأحد، وفترة التهدئة بعد ثلاث خسائر.
تُطلق إشارة الشراء في EX18021 عندما ينتقل إغلاق آخر شمعة مغلقة فوق وقف UT Bot بينما كان إغلاق الشمعة السابقة عند الوقف أو دونه؛ وإشارة البيع هي المعاكس. يُحسب الوقف نفسه بالمشي للأمام عبر 250 شمعة مغلقة باستخدام مخزن 2.0×ATR(10) مع قواعد Pine الكلاسيكية للاستمرار الصعودي والاستمرار الهبوطي والانعكاس الجانبي. بعد صدور الإشارة يجب ألّا تكون الحالة CHOPPY، وأن يكون آخر إغلاق على الجهة الصحيحة من HTF EMA(50)، وألّا يتجاوز السبريد 35 نقطة قبل إرسال الأمر.
الخروج الأساسي هو جني الأرباح على بُعد 2.0×مسافة وقف الخسارة، مع إغلاق جزئي لمرة واحدة بنسبة 50% عند +1R. يتبع الوقف السعر بمقدار 2.0×ATR(14) خلف bid أو أمام ask دون أن يتراجع، ويُرفع إلى نقطة التعادل عند +1R. انعكاس الاتجاه على UT Bot، أو تغيّر الحالة إلى CHOPPY/RANGE/COMPRESS، أو بلوغ الصفقة 100 شمعة كلها تُفضي إلى إغلاق كامل.
يُضبط وقف الخسارة على بُعد 1.5×ATR(14) من سعر الدخول عند إرسال الأمر، بحد أدنى يساوي مستوى stops level لدى الوسيط أو 5 نقاط، أيهما أكبر. يُرفع الوقف إلى نقطة التعادل عند +1R، ويتحرك إلى الأمام بمقدار 2.0×ATR(14) دون أن يخطو إلى الخلف.
يُضبط جني الأرباح على بُعد 2.0×مسافة وقف الخسارة، أي بنسبة مخاطرة إلى عائد 1:2 عند إرسال الأمر. يُغلق نصف الصفقة عند +1R كجني أرباح جزئي، ويكمل النصف المتبقي إلى TP الكامل أو إلى أحد قواعد الوقف/الخروج.
صُمم EX18021 لزوج USDJPY على الإطار M15 مع M5 وH1 ضمن النطاق المدعوم. الحد الأدنى للرصيد 100$ لتشغيل سحر واحد، مع أن سقف رأس المال اختياري. شغّله على وسيط سبريد منخفض (InpMaxSpreadPts = 35) وحافظ على تزامن توقيت الخادم مع أسعار الوسيط؛ تستهدف نافذة الجلسة 6–21 بتوقيت الخادم تقاطع آسيا–لندن ولندن–نيويورك، حيث يحقق USDJPY أعمق سيولة.
منطق الاستراتيجية
Pipsgrowth EX18021 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218021
الإصدار: 2.00
الوصف:
UT Bot Alert ATR trailing-stop trend-follow EA. Each closed bar the trail is walked forward using the canonical Pine port; signal fires on trend flip. Layered with ADX+ATR-pctile+ BB-width REGIME gate, HTF-EMA CONFIRM, full NO-TRADE filter, CAPITAL-ALLOCATION CAP, ATR SL/TP, break-even + partial TP + ATR trail, opposite-flip & regime-change exit, time-based exit, news-window skip, spread filter, magic-isolated daily-loss, OnTester custom criterion. All inlined from primitives. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
ADXATRATRUTBBHTFEMA
الدوال الرئيسية:
NormPrice()ClampVol()MinStopsDist()SpreadPoints()InSession()IsNewBar()PartialAlreadyDone()MarkPartialDone()EffectiveCapital()RealizedPnLToday()
// Pipsgrowth EX18021 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// UT Bot Alert ATR trailing-stop trend-follow EA. Each closed bar the trail is walked forward using the canonical Pine port; signal fires on trend flip. Layered with ADX+ATR-pctile+ BB-width REGIME gate, HTF-EMA CONFIRM, full NO-TRADE filter, CAPITAL-ALLOCATION CAP, ATR SL/TP, break-even + partial TP + ATR trail, opposite-flip & regime-change exit, time-based exit, news-window skip, spread filter, magic-isolated daily-loss, OnTester custom criterion. All inlined from primitives. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
ON_INIT:
Create indicator handles: ADX, ATR, ATRUT, BB, HTFEMA
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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagic | 22218021 | Magic number (id) |
| InpTradeComment | "Psgrowth.com Expert_18021" | Trade comment |
| InpDryRun | true | Dry-run: no real sends |
| InpKillSwitch | false | Kill switch (closes all on tick) |
| InpMaxSpreadPts | 35.0 | Max spread (points) |
| InpATRPeriod | 10 | UT Bot ATR period (bars) |
| InpKeyValue | 2.0 | UT Bot sensitivity (x ATR) |
| InpADXMin | 20.0 | Min ADX for trend regime |
| InpATRPctLookback | 60 | ATR percentile lookback (bars) |
| InpHTF | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF trend time-frame |
| InpHTFEMA | 50 | HTF EMA period (bars) |
| InpCapitalCapAmount | 0.0 | Capital cap amount ($ equity) |
| InpCapitalCapFloor | 50.0 | Capital cap floor ($) |
| InpRiskPercent | 0.5 | Risk per trade (% of eff cap) |
| InpDailyLossPct | 3.0 | Daily loss limit (% eff cap) |
| InpATRSLMult | 1.5 | SL distance (x ATR) |
| InpRRTP | 2.0 | TP distance (x SL distance) |
| InpATRTrailMult | 2.0 | In-trade ATR trail (x ATR) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18021 USDJPY UT Bot — ATR trailing-stop trend follow, 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>
CTrade g_trade;
CPositionInfo g_pos;
CSymbolInfo g_sym;
CAccountInfo g_acc;
//=================== INPUTS (18 total) =============================
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 "=== Identity ==="
input long InpMagic = 22218021; // Magic number (id)
input string InpTradeComment = "Psgrowth.com Expert_18021"; // Trade comment
input bool InpDryRun = true; // Dry-run: no real sends
input bool InpKillSwitch = false; // Kill switch (closes all on tick)
input double InpMaxSpreadPts = 35.0; // Max spread (points)
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.