Pipsgrowth EX18075 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX18075 TrendFollow — EMA(fast/slow) crossover on the last CLOSED bar is the core signal. A SuperTrend computed inline from ATR + HL2 must agr. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
ينتظر إكسبرت Pipsgrowth EX18075 TrendFollow تقاطع المتوسطين EMA(9) وEMA(21) على آخر شمعة مغلقة، ثم يطلب من مؤشر SuperTrend المحسوب داخلياً (ATR(10) مضروباً في 3.0 على نقطة HL2) أن يؤكد الاتجاه. إذا تجاوز المتوسط السريع خط EMA البطيء للأعلى وكان SuperTrend عند +1، يبحث الإكسبرت عن صفقة شراء؛ التقاطع الهابط مع SuperTrend عند -1 يهيّئ صفقة بيع. هذا التوافق بشرطين هو جوهر المحرك: التقاطع الواحد للمتوسطات دون تأييد SuperTrend لا يصدر أي إشارة على الإطلاق.
الطبقة الثانية هي مصنّف النظام داخل UpdateRegime(). يسحب قيمة ATR على مدى 100 شمعة لاحتساب الرتبة المئوية، ويجلب ADX(14)، ويقرأ عرض بولنجر من مظروف 20 فترة بانحراف معياري 2.0. الحالات الثماني المحتملة (CHOPPY, COMPRESS, RANGE, WEAK_TREND, STRONG_TREND, EXPAND, BREAKOUT) يتم تقليصها وفق قاعدة الفلترة التي تلي ذلك: CHOPPY (ADX<15) وCOMPRESS (عرض النطاق دون 0.0005) وRANGE جميعها تُرجع false من UpdateRegime()، فلا تخرج أي إشارة من هذه الدالة عندما يكون السوق في وضع الارتداد أو الطاقة المنخفضة. لا يتداول الإكسبرت إلا في STRONG_TREND وWEAK_TREND وEXPAND وBREAKOUT — وهي طريقته في القول إنه غير مهتم بالظروف المسطحة أو المنكمشة.
إذا نجحت الإشارة من فلتر النظام، يجب أن تتجاوز أيضاً ConfirmPasses()، وهو كتلة تصويت 2 من 4. الأصوات الأربعة هي: يجب أن يتفق إغلاق آخر شمعة مغلقة مع اتجاه EMA(50) للإطار الزمني الأعلى (قابل للتعديل عبر InpHTF وInpHTFEMA، افتراضياً H1)؛ يجب أن يقع الإغلاق داخل مظروف بولنجر (بحيث لا يطارد الإدخال شمعة تجاوزت النطاق بالفعل)؛ يجب أن يتفق اتجاه الإغلاق إلى الإغلاق للشمعة نفسها مع الإشارة؛ وأخيراً يجب ألا يتجاوز الفارق السعري الحالي 1.5× متوسط آخر 10 شموع. يجب أن يتحقق شرطان من الأربعة، وإلا تُرفض الصفقة. يذكر ترويسة الكود فلتر RSI، لكن التطبيق يستبدله بفحص موقع بولنجر (يشير التعليق داخل ComputeSignal إلى "استخدم موقع BB كبديل")، لذا يُرفض الإدخال عندما يكون الإغلاق خارج النطاق.
بوابة عدم التداول في NoTradePasses() هي شبكة الأمان. تتحقق من مفتاح الإيقاف، ومؤقت التهدئة الذي يتفعّل بعد InpCooldownLosses خسائر متتالية (افتراضياً 3، يقفل لمدة ساعة)، وحد خسارة يومي 3% وأسبوعي 6% بالدولار، وحد سبريد 35 نقطة، وجلسة 07:00–21:00 بتوقيت الخادم، وحظر النافذة الإخبارية 30 دقيقة حول منتصف الليل (بالإضافة إلى الجمعة من الساعة 22:00 فصاعداً وعطلة نهاية الأسبوع كاملة)، ووضع هامش الوسيط (يُقبل فقط حسابات التحوط أو الصافي). علاوة على ذلك، تضيف EntryPasses() حاجزاً لكل شمعة لمنع الإشارات المكررة، وفحص الحد الأقصى للصفقات المتزامنة وهو 3.
يستخدم تحديد حجم الصفقة المخاطرة الكسرية الثابتة بناءً على رأس المال الفعّال. مع InpRiskPercent عند 0.5، يخاطر الإكسبرت بنصف بالمئة من الرصيد في كل صفقة جديدة، ويحوّل مسافة الوقف المعتمدة على ATR(10) إلى تكات، ويقسم مبلغ المخاطرة بالدولار على القيمة الدولارية لكل تكة، ويقرّب الناتج نزولاً إلى درجة اللوت لدى الوسيط. يوفر غطاء رأس المال (InpCapitalCapAmount، افتراضي 0 = معطل) سقفاً إضافياً عندما يريد المتداول المخاطرة بجزء فقط من الحساب؛ وعندها يقوم InpCapitalCapFloor بقيمة 50 دولاراً بحظر أي إدخالات جديدة حال هبوط الرصيد دون هذا المستوى. يحترم تحديد الحجم الحد الأدنى للوت لدى الوسيط، ويرفض الفحص المسبق OrderCalcMargin الإرسال إذا كان الهامش الحر غير كافٍ.
طبقات الخروج متعددة. تعمل ManageExits() على كل تكة. لكل صفقة مفتوحة تحسب المضاعف R الحالي (تقدم السعر مقسوماً على مسافة الوقف الأولية)، ثم تطبق قاعدة جني الأرباح الجزئي (50% عند 1R افتراضياً)، ونقل وقف الخسارة إلى نقطة التعادل (SL إلى سعر الفتح عند 1R)، وتتبع ATR (2.0× ATR خلف السعر، قابل للتعديل للأمام فقط، مع بوابة R ≥ 1). يفرض وقف الوقت 200 شمعة إغلاق الصفقة إذا ظلت مفتوحة طوال هذا العدد من شموع الإطار الزمني العامل (نحو 16.7 ساعة على M5). فوق هذه القواعد، يُغلق الخروج من الإشارة المعاكسة أي صفقة اتجاهها يخالف أحدث إشارة، ويمسح خروج تغيير النظام الكتاب كله عندما ينزلق السوق إلى CHOPPY أو RANGE.
تحتوي إدارة الصفقات على طبقة إعادة محاولة مدمجة. تحلق كل من TryClose_EX18075 وTryClosePartial_EX18075 وTryModify_EX18075 لما يصل إلى ثلاث مرات مع سكون 200 مللي ثانية عند الاستجابات Requote أو Timeout أو Price Off أو Price Changed. يحصل PositionOpen نفسه على محاولة إضافية واحدة عند نفس الأكواد العابرة. تعليق الأمر مبرمج على Psgrowth.com Expert_18075، والماجيك 22218075، وInpDryRun افتراضياً true بحيث يمكن اختبار الإكسبرت ورقياً قبل تعريض أي رأس مال حقيقي. تُرجع OnTester() القيمة (net * profit_factor) / (1 + relative_drawdown_percent) مع حد أدنى 30 صفقة — رقم مركّب واحد يوازن بين العائد والانسحاب.
التحجيم مهيأ لكنه معطل افتراضياً. مع InpPyramidEnabled المضبوط على true يسمح الإكسبرت بما يصل إلى 3 إدخالات إضافية (حد أقصى قاسي 5) متباعدة بمقدار InpPyramidStepATR × ATR(10)؛ ومع تعطيله، ترفض OpenEntry() أي إدخال ما دامت هناك صفقة أخرى من هذا الماجيك لا تزال مفتوحة. النتيجة وضع افتراضي لصفقة واحدة في كل مرة متوافق مع حد المخاطرة، ووضع تحجيم قابل للتهيئة للمستخدمين الذين يريدون الانحناء نحو الترندات.
هذه استراتيجية للمتداولين الذين يثقون بفلاتر الترند ويريدون أتمتة كل قرار آخر. معايير المخاطرة والتأكيد مشددة بما يكفي لأن الإكسبرت من غير المرجح أن يكون مصدر الانسحاب بحد ذاته — أوضاع الفشل (التقلب الحاد في نظام WEAK_TREND، وسوء تصنيف النظام، والانزلاق على زوج رقيق، وإعادة تسعير الوسيط خلال النافذة الإخبارية) هي أبعد من الكود ويجب اختبارها في الباك تستر بافتراضات سبريد واقعية وحد أدنى 30 صفقة قبل أن تُؤتمن الاستراتيجية على رأس مال حقيقي.
تفاصيل الاستراتيجية
على كل تكة يُحدّث الإكسبرت مجموعة المؤشرات (EMA(9)، EMA(21)، ATR(10)، ADX(14)، بولنجر(20، 2)، وEMA(50) للإطار الزمني الأعلى على HTF المختار، افتراضياً H1)، ويُصنّف السوق إلى واحدة من ثماني حالات نظام، ولا يسمح للإشارات بالمضي قدماً إلا من STRONG_TREND أو WEAK_TREND أو EXPAND أو BREAKOUT. يجب أن تتجاوز الإشارة الجديدة تصويت 2 من 4 للتأكيد، وحاجز الشمعة المكررة لكل شريط، ومؤقت التهدئة الذي يتفعّل بعد ثلاث خسائر متتالية، وحدود الخسارة اليومية/الأسبوعية (3% و6% من رأس المال الفعّال) قبل أن يُحوّل محرك التحديد الكسري الثابت وقف 1.5× ATR(10) إلى حجم صفقة. مع وجود صفقة مفتوحة، تنقل حلقة الإدارة وقف الخسارة إلى التعادل عند 1R، وتُحقق 50% من الربح عند 1R، وتُتابع 2.0× ATR(10) خلف السعر، وتُغلق قسرياً عند تغيير النظام إلى CHOPPY/RANGE، أو إشارة معاكسة، أو وقف الوقت 200 شمعة. جميع عمليات الفتح والتعديل والإغلاق تملك حلقة إعادة محاولة بثلاث محاولات و200 مللي ثانية على استجابات Requote وTimeout وPrice Off وPrice Changed، وترتّب OnTester() مرشحي الاستراتيجية وفق (net * profit_factor) / (1 + relative_drawdown_percent) مع حد أدنى 30 صفقة.
تُفعَّل صفقة شراء عندما يتجاوز المتوسط EMA(9) المتوسط EMA(21) على آخر شمعة مغلقة بينما يكون مؤشر SuperTrend المحسوب داخلياً (ATR(10) × 3.0 على HL2) في منطقة +1؛ أما البيع فهو المرآة المعاكسة. يجب أن تتجاوز الإشارة بعد ذلك مصنّف النظام (واحد من STRONG_TREND أو WEAK_TREND أو EXPAND أو BREAKOUT) وأن تنجح في صوتين على الأقل من تصويتات التأكيد الأربعة — التوافق مع EMA(50) للإطار الأعلى، والإغلاق داخل بولنجر، وتوافق اتجاه الشمعة، وسبريد ضمن 1.5× متوسط آخر 10 شموع.
تعمل ManageExits() على كل تكة وتُطبّق إغلاقاً جزئياً بنسبة 50% عند 1R، ونقل وقف الخسارة إلى سعر التعادل عند 1R، ووقفاً متحركاً للأمام فقط بمقدار 2.0× ATR(10). تُغلق الصفقات المفتوحة قسرياً أيضاً عند ورود إشارة معاكسة جديدة، أو انتقال النظام إلى CHOPPY أو RANGE، أو إذا ظلت الصفقة مفتوحة لمدة 200 شمعة من الإطار الزمني العامل (نحو 16.7 ساعة على M5).
يُوضع وقف الخسارة الابتدائي على بُعد 1.5× ATR(10) من سعر الدخول (يُقرَّب إلى 1.2× مستوى الوقف لدى الوسيط إذا كانت المسافة المعتمدة على ATR ضيقة جداً)، ثم يُحرّك الإكسبرت هذا الوقف إلى نقطة التعادل بمجرد أن تصل الصفقة إلى 1R، ويُتابعه على بُعد 2.0× ATR(10) خلف السعر على كل تكة بعد ذلك.
يُحدَّد جني الأرباح على بُعد 1.5× مسافة وقف الخسارة من سعر الدخول (InpRRmin = 1.5)، لذا فإن نسبة المخاطرة إلى العائد الافتراضية هي 1:1.5 مع إغلاق جزئي بنسبة 50% عند 1R. إذا لم تبلغ الصفقة جني الأرباح أبداً، فإن الوقف المتحرك هو الخروج الفعلي ويُثبّت الربح مع امتداد الترند.
الحد الأدنى للرصيد 100 دولار — حد الـ50 دولاراً لرأس المال يتفعّل أدنى من ذلك بكثير، لذا يجب أن يكون الرصيد العامل فوق الحد الأدنى بهامش مريح. يُفضَّل تشغيله على XAUUSD M5 مع وسيط سبريد منخفض: سقف الـ35 نقطة القاسي يعني أن أي شيء يتجاوز 3.0 نقاط باستمرار سيُرفض، ووقف 1.5× ATR(10) يحتاج متوسط 2–3 نقاط لجعل نسبة المخاطرة إلى العائد 1:1.5 مجدية. تغطي جلسة 07:00–21:00 بتوقيت الخادم ساعات لندن ونيويورك على معظم وسطاء GMT+2، مع حظر نافذة إخبارية 30 دقيقة حول منتصف الليل وإغلاق تلقائي في أمسيات الجمعة وعطلات نهاية الأسبوع.
منطق الاستراتيجية
Pipsgrowth EX18075 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218075
الإصدار: 2.00
الوصف:
EMA(fast/slow) crossover on the last CLOSED bar is the core signal. A SuperTrend computed inline from ATR + HL2 must agree on side. Entries pass a 12-layer pipeline: REGIME (ADX + ATR-percentile + Bollinger width), CONFIRM (HTF EMA + RSI + spread + candle-close + min R/R), NO-TRADE gates, CAPITAL ALLOCATION CAP, fixed-fractional sizing, ATR-SL, multi-target partials, ATR trailing, break-even, regime-change exit, opposite-signal exit, time exit. Pyramid default OFF. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
UpdateRegime()ComputeSignal()EntryPasses()ConfirmPasses()NoTradePasses()OpenEntry()ManageExits()NormalizeInitialSL()RespectsStops()ModifySL()
// Pipsgrowth EX18075 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// EMA(fast/slow) crossover on the last CLOSED bar is the core signal. A SuperTrend computed inline from ATR + HL2 must agree on side. Entries pass a 12-layer pipeline: REGIME (ADX + ATR-percentile + Bollinger width), CONFIRM (HTF EMA + RSI + spread + candle-close + min R/R), NO-TRADE gates, CAPITAL ALLOCATION CAP, fixed-fractional sizing, ATR-SL, multi-target partials, ATR trailing, break-even, regime-change exit, opposite-signal exit, time exit. Pyramid default OFF. 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 (no real sends) |
| InpKillSwitch | false | Kill switch (immediate stop) |
| InpMagic | 22218075 | Magic number (unique per EA) |
| InpTradeComment | "Psgrowth.com Expert_18075" | Order comment |
| InpSlippagePts | 20 | Max slippage in points |
| InpFastEMA | 9 | Fast EMA period (bars) |
| InpSlowEMA | 21 | Slow EMA period (bars) |
| InpSTMultiplier | 3.0 | SuperTrend ATR multiplier |
| InpSTPeriod | 10 | SuperTrend/ATR period (bars) |
| InpHTFEMA | 50 | HTF EMA period (bars) |
| InpHTF | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF timeframe for trend agreement |
| InpADXPeriod | 14 | ADX period (bars) |
| InpADXMinTrend | 20.0 | ADX min for trend regime |
| InpATRPctLookback | 100 | ATR percentile lookback (bars) |
| InpBBWidthMin | 0.0005 | BB width min (ratio to mid) for non-squeeze |
| InpRiskPercent | 0.5 | Risk per trade (% of effective capital) |
| InpATRSLmult | 1.5 | ATR multiple for hard SL |
| InpRRmin | 1.5 | Minimum reward:risk for entry |
| InpDailyLossLimitPct | 3.0 | Daily loss limit (% of effective capital) |
| InpWeeklyLossLimitPct | 6.0 | Weekly loss limit (% of effective capital) |
| InpMaxConcurrent | 3 | Max concurrent positions (this magic/symbol) |
| InpCooldownLosses | 3 | Loss streak cooldown (count) |
| InpCapitalCapAmount | 0.0 | Capital cap amount ($ equity, not notional) |
| InpCapitalCapFloor | 50.0 | Floor below which new entries block ($) |
| InpBEtriggerR | 1.0 | Break-even trigger (R multiples) |
| InpTrailATRmult | 2.0 | ATR trailing multiple |
| InpPartialR | 1.0 | Partial-TP trigger (R multiples, 0=off) |
| InpPartialPct | 50.0 | Partial close size (% of position) |
| InpMaxBarsInTrade | 200 | Max bars in trade (0=off) |
| InpPyramidEnabled | false | Enable pyramiding (default OFF) |
| InpPyramidMaxLevels | 3 | Max pyramid levels (hard-cap 5) |
| InpPyramidStepATR | 1.0 | Pyramid spacing in ATR multiples |
| InpMaxSpreadPts | 35.0 | Max spread (points) |
| InpSession | "07:00-21:00" | Trading session HH:MM-HH:MM (server time) |
| InpBlockNewsWindow | true | Block trades near midnight (proxy news) |
| InpNewsBlockMin | 30 | News-window size (minutes each side of midnight) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18075 TrendFollow — EMA cross + SuperTrend, 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 =======================================
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 bool InpDryRun = true; // Dry-run (no real sends)
input bool InpKillSwitch = false; // Kill switch (immediate stop)
input int InpMagic = 22218075; // Magic number (unique per EA)
input string InpTradeComment = "Psgrowth.com Expert_18075"; // Order comment
input int InpSlippagePts = 20; // Max slippage in points
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;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.