Pipsgrowth EX18040 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX18040 TrendFollow — Gaussian EMA + ATR band breakout confirmed by inline Heikin-Ashi color and inline SuperTrend side. Layered upgrade adds . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
EX18040 هو مستشار خبير لتتبع الاتجاه على زوج واحد، لا يُطلق إشارة إلا عندما تتفق ثلاثة مرشحات مستقلة على نفس الشمعة. جوهره هو المتوسط المتحرك الأسي بأسلوب غاوسي بفترة 10 على سعر الإغلاق، يُرسم مع غلافين متوازيين من مؤشر ATR(14) على بُعد 0.85 من قيمة ATR لكل جهة؛ إشارة الشراء تتطلب أن يُغلق الشمعة السابقة فوق الغلاف العلوي، وإشارة البيع تتطلب أن يُغلق تحت الغلاف السفلي. هذا الاختراق للغلاف وحده لا يكفي — يتم رفض الدخول ما لم تكن لون Heikin-Ashi وقراءة SuperTrend(3.0, ATR14) المحسوبة داخلياً تشير إلى الاتجاه ذاته على الشمعة نفسها. تنتج البوابة الثلاثية درجة ثقة ثنائية بقيمة 100% عند التوافق، و0% عند عدم التوافق، لذلك لا يحاول المستشار تنفيذ أي أمر إلا بتوافق كامل بدلاً من درجات ثقة جزئية.
قبل أي منطق إشارة، يستدعي المستشار دالة ClassifyRegime() التي تُرجع إحدى أربع حالات. تتطلب StrongTrend أن يكون ADX(14) ≥ 22 وأن يكون متوسط النطاق الحقيقي الحالي ضمن أعلى 50% من آخر 50 شمعة — وهي الحالة النادرة عالية الطاقة. تنطلق WeakTrend عندما يكون ADX ≥ 18 لكن شرط نسبة التذبذب غير محقق. أما Range فهي نظام التذبذب المنخفض (ADX < 18 و نسبة ATR < 40%). كل ما عدا ذلك يُصنَّف Choppy، ووسم Choppy على التيك الحي هو حظر صارم لأي دخول جديد. يُعتبر كل من WeakTrend وRange وStrongTrend سياقات تداول صالحة؛ يُستبعد Choppy فقط.
تضيف خطوة التأكيد المنفصلة في HTFTrendAgrees() اختبار توافق مع الإطار الزمني الأعلى. يبني المستشار متوسطاً أسياً بفترة 50 على H1 ولا يسمح بالشراء إلا عندما يُغلق شمعة H1 فوق ذلك المتوسط، ولا يسمح بالبيع إلا عندما يُغلق تحته. مُدخل مُحدد الإطار الزمني الأعلى مكشوف (InpHTFTimeframe) لكن قيمته الافتراضية 8 تجعل الإطار المُحوَّل دائماً H1. يفصل هذا الصفقة عن ضوضاء الرسم البياني لخمس دقائق دون الحاجة إلى حزمة مؤشرات متعددة الإطار الزمني على كل تيك.
يُحسَب حجم الصفقة من متوسط ATR(14) الأصلي: وقف الخسارة على بُعد 1.8×ATR، وجني الأرباح على بُعد 3.0×ATR، ما يعطي نسبة مخاطرة إلى عائد تقارب 1:1.67. تحسب دالة CalcLot() اللوت من 0.5% من رأس المال الفعلي مقسوماً على خسارة اللوت الواحد عند مسافة الوقف تلك، مع تثبيت للحجم وفق خطوة اللوت والحد الأدنى والأعلى لدى الوسيط. رأس المال الفعال هو أصغر قيمة بين حقوق الحساب وInpCapitalCapAmount إذا تم تعيينه؛ مع القيمة الافتراضية 0.0، يُعطَّل الحد وتُستخدم الحقوق مباشرة. يفرض عتبة رأس مال 50 دولار (InpCapitalCapFloor) حظراً على الدخول الجديد عندما تكون الحقوق صغيرة جداً لجعل الحساب مجدياً. يتم فحص متطلب الهامش مسبقاً عبر OrderCalcMargin قبل إرسال الأمر؛ إذا كان الهامش الحر غير كافٍ، يُتخطى الدخول بصمت.
تنفيذ الأمر له مسار إعادة محاولة واحد. إذا أرجع الوسيط REQUOTE أو PRICE_OFF أو TIMEOUT، يُعيد المستشار إرسال الأمر مرة واحدة بسعر السوق الحالي. أما الرموز المرتجعة الأخرى فتُسجَّل ويُسقط الدخول. يتم اكتشاف وضع التعبئة تلقائياً لكل رمز عبر SetTypeFillingBySymbol، وتُضبط درجة تحمل الانزلاق على 20 نقطة. InpDryRun=true هي القيمة الافتراضية؛ في وضع التجربة الجافة يطبع المستشار سطر الصفقة الافتراضية بالكامل في السجل — الاتجاه، الثقة، اللوت، الأسعار، ATR، الهامش — لكنه لا يُرسل أي أمر، وهو أمر مفيد للاختبار الموازي على حساب حقيقي.
يتم فحص بوابات المخاطر في NoTradeReason(). تشمل المفتاح الكوني InpKillSwitch (يوقف جميع الدخول الجديدة)، وعتبة رأس المال، وسقف السبريد (60 نقطة افتراضياً)، ونافذة جلسة الخادم (8:00 إلى 20:00 افتراضياً)، وعطلات نهاية الأسبوع، وحد الصفقات المفتوحة لكل سحر (3)، وفحص خسارة يومية محققة قدرها 3% من رأس المال الفعال. تُحسب أرباح وخسائر اليوم عبر RealizedPnLToday() التي تفحص تاريخ الصفقات للبحث عن تلك المطابقة لكل من الرقم السحري للـ EA والرمز الحالي وتجمع الربح والتمويل والعمولة. الفحص مقيَّد بالرقم السحري، لذا لا تحتسب الصفقة اليدوية على نفس الحساب ضمن ميزانية خسارة الـ EA اليومية.
تُدار المراكز المفتوحة عبر ManagePositions(). القاعدة الأولى هي نقل وقف الخسارة إلى نقطة التعادل لمرة واحدة عند 1R: بمجرد أن يتحرك السعر بمقدار مسافة الوقف الكاملة لصالح الصفقة، يُرفع الوقف إلى open + StopsLevelPrice (أو open - StopsLevelPrice للبيع)، مقفلاً الخطر الصفري على ما تبقى من الصفقة. القاعدة الثانية هي trailing بمقدار 1.5×ATR(14) للأمام فقط — يمكن للـ trailing أن يرتفع على الشراء لكنه لا ينزل أبداً. القاعدة الثالثة هي إغلاق جزئي بنسبة 50% عند نصف مسافة جني الأرباح، ولا تنطلق هذه القاعدة إلا إذا ظل الحجم المتبقي ضعف الحد الأدنى للوت لدى الرمز. القاعدة الرابعة هي الخروج عند انعكاس الإطار الزمني الأعلى: في كل تيك، يعيد المستشار تقييم إغلاق H1 مقابل المتوسط الأسي 50 على H1؛ إذا انعكس اتجاه الاتجاه على الإطار الزمني الأعلى، تُغلق الصفقة فوراً عبر TryClose_EX18040(). هذا هو منطق الخروج المهيمن في أيام الاتجاه البطيء حيث قد لا تظهر إشارة اختراق الغلاف لفترة طويلة. تستخدم TryClose وModify وPartial كل منها حلقة إعادة محاولة 3 محاولات مع نوم 200ms للرموز المرتجعة من فئة requote، و100ms على التعديل.
معيار OnTester المخصص هو (صافي الربح * عامل الربح) / (1 + الحد الأقصى(نسبة التراجع, 1.0))، مع عتبة لا تقل عن 30 صفقة — الاستراتيجيات التي لا تصل للحد الأدنى من حجم العينة تُرجع 0.0 وتُستبعد من ترتيب المحسن. لأن الصيغة تضرب صافي الربح في عامل الربح وتقسم على التراجع، فإنها تكافئ العائد المطلق والاتساق معاً، وتعاقب أشكال المنحنى التي تبدو رائعة بصافي الربح وحده لكن بها تراجع عميق في منتصف الاختبار.
EX18040 مصمم لتداول XAUUSD على الإطار M5 بحد أدنى للإيداع 100 دولار، لكن المدخلات قابلة للنقل لأي رمز لدى الوسيط. الافتراضات هي إعداد لزوج واحد بصفقة واحدة تُفتح لكل إشارة، وثلاث صفقات متزامنة كحد أقصى، وميزانية خسارة يومية 3%. على حساب صغير تصبح عتبة رأس المال هي القيد المُلزِم قبل حد الخسارة. وضع التجربة الجافة الافتراضي مقصود: القصد أن يُلاحظ المستشار في السجل لبضع جلسات على الأقل قبل تفعيل الأوامر الحية.
تفاصيل الاستراتيجية
في كل تيك يُحدِّث المستشار أولاً رأس المال الفعال ويفحص تاريخ الصفقات لحساب الأرباح والخسائر اليومية المحققة لرقمه السحري، ثم يستدعي ClassifyRegime() لقراءة ADX(14) وATR(14) وعرض بولينجر على الرسم البياني M5. تُحسَب نسبة ATR عبر 50 شمعة داخلياً للتفريق بين StrongTrend وWeakTrend وRange وChoppy. إذا كان النظام Choppy، تُحظر الدخول الجديدة؛ وإلا يستدعي المستشار CoreSignal() الذي يفحص إغلاق الشمعة المغلقة مقابل نطاق المتوسط الأسي الغاوسي(10) ± 0.85×ATR(14)، ثم يشغّل إعادة بناء Heikin-Ashi لـ 12 شمعة داخلياً ومسار SuperTrend لـ 50 شمعة داخلياً على الشمعة نفسها. يجب أن تتفق الثلاثة جميعاً. تتحقق HTFTrendAgrees() بعد ذلك من إغلاق H1 مقابل المتوسط الأسي 50 على H1. فقط بعد ذلك يُحسب اللوت من 0.5% من رأس المال الفعال مقسوماً على خسارة اللوت الواحد عند الوقف، وفقط عندئذٍ يُرسل TryEntry() الأمر — مع إعادة محاولة واحدة للرموز المرتجعة من فئة requote، وفحص هامش مسبق، وبوابة InpDryRun للتحكم في الإرسال الفعلي. بمجرد فتح المراكز، تعمل ManagePositions() كل تيك: نقل وقف الخسارة إلى نقطة التعادل عند 1R، trailing بمقدار 1.5×ATR للأمام فقط، إغلاق جزئي بنسبة 50% عند نصف مسافة جني الأرباح، وخروج بانعكاس الإطار الزمني الأعلى يعيد قراءة اتجاه H1 ويُغلق الصفقة فوراً إذا انعكس.
يدخل EX18040 على الشمعة المغلقة عندما تتوافق ثلاثة شروط: أن يُغلق الشمعة السابقة خارج نطاق المتوسط الأسي الغاوسي(10) ± 0.85×ATR(14)، وأن يكون اتجاه Heikin-Ashi (المُحسب داخلياً عبر إعادة بناء 12 شمعة) صاعداً أو هابطاً، وأن يتفق SuperTrend الداخلي(3.0, ATR14) عبر مسار 50 شمعة. يُحظر الدخول أيضاً عندما يُرجع مصنف النظام Choppy، ويجب أن يتفق المتوسط الأسي 50 على H1 مع اتجاه الصفقة (إغلاق[1] مقابل المتوسط على H1). يمنع حارس الشمعة المكررة فتح دخولين على نفس الشمعة المغلقة.
يُغلق EX18040 المراكز عبر أربعة مسارات خروج. ينقل نقل وقف الخسارة إلى نقطة التعادل لمرة واحدة عند 1R الوقف إلى سعر الفتح ± StopsLevelPrice بمجرد أن يتحرك السعر بمقدار مسافة الوقف الكاملة لصالح الصفقة. ينطلق إغلاق جزئي بنسبة 50% عند نصف مسافة جني الأرباح، تاركاً الباقي تحت جني الأرباح الأصلي. يحرك trailing بمقدار 1.5×ATR(14) الوقف للأمام فقط ولا يعود للخلف أبداً. الخروج المهيمن هو انعكاس الإطار الزمني الأعلى: في كل تيك يعيد المستشار تقييم إغلاق H1 مقابل المتوسط الأسي 50 على H1، ويغلق الصفقة فوراً إذا انعكس اتجاه الاتجاه على الإطار الزمني الأعلى.
وقف الخسارة ثابت عند 1.8×ATR(14) عند الدخول، ويُقَص عند الحد الأدنى لمسافة الوقف لدى الوسيط (StopsLevelPrice) عندما تكون المسافة المحسوبة ضيقة جداً. ينقل نقل نقطة التعادل لمرة واحدة الوقف إلى سعر الفتح ± StopsLevelPrice بمجرد أن يتحرك السعر بمقدار 1R لصالح الصفقة، ثم يتولى trailing بمقدار 1.5×ATR(14) للأمام فقط بقية الصفقة.
جني الأرباح يُضبط على 3.0×ATR(14) عند الدخول، والذي مع وقف 1.8×ATR يعطي نسبة مخاطرة إلى عائد تقارب 1:1.67. ينطلق إغلاق جزئي بنسبة 50% عند نصف مسافة جني الأرباح (≈1.5×ATR) ليكون للباقي مسافة جني أرباح فعلية أصغر لكن مع وسادة أفضل من نقطة التعادل إذا تولاى trailing.
EX18040 مناسب بشكل أفضل لرسوم بياني واحد لـ XAUUSD على M5 على حساب ECN أو RAW بسبريد منخفض، مع حد أدنى موصى به للرصيد 100 دولار (عتبة رأس المال). تحافظ نافذة جلسة الخادم 8:00–20:00 على نشاط المستشار داخل تداخل جلستي لندن ونيويورك، حيث تكون تذبذبات الذهب وقراءات ADX أكثر اتساقاً. يُشترط وسيط يدعم SetTypeFillingBySymbol ويتعامل مع الحد الأدنى لمسافة الوقف بشكل محكم؛ ستُستبعد الرموز الغريبة وحسابات السنت عالية السبريد بواسطة سقف السبريد 60 نقطة. وضع InpDryRun=true الافتراضي هو الحالة المبدئية الموصى بها — راقب السجل ليوم تداول كامل على الأقل قبل التبديل إلى الأوامر الحية.
منطق الاستراتيجية
Pipsgrowth EX18040 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218040
الإصدار: 2.00
الوصف:
Gaussian EMA + ATR band breakout confirmed by inline Heikin-Ashi color and inline SuperTrend side. Layered upgrade adds ADX/ATR-pct/BB-width regime gate, HTF EMA agreement, ATR-based SL/TP, one-shot break-even + ATR trail, partial TP, session/spread/no-trade filters, capital-allocation cap (effective_capital used everywhere), per-magic daily-loss tracking, kill switch, dry-run, custom OnTester criterion. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
NormPrice()StopsLevelPrice()ValidBuf()ClampVolume()CountOpenPositions()RealizedPnLToday()HeikinAshiDir()SuperTrendDir()CoreSignal()HTFTrendAgrees()
// Pipsgrowth EX18040 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Gaussian EMA + ATR band breakout confirmed by inline Heikin-Ashi color and inline SuperTrend side. Layered upgrade adds ADX/ATR-pct/BB-width regime gate, HTF EMA agreement, ATR-based SL/TP, one-shot break-even + ATR trail, partial TP, session/spread/no-trade filters, capital-allocation cap (effective_capital used everywhere), per-magic daily-loss tracking, kill switch, dry-run, custom OnTester criterion. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpTradeComment | "Psgrowth.com Expert_18040" | Order comment |
| InpLength | 10 | Gaussian EMA period (bars) |
| InpDistanceMultiplier | 0.85 | ATR band distance multiplier (x) |
| InpATRPeriod | 14 | ATR period for bands/trail (bars) |
| InpSuperTrendMult | 3.0 | SuperTrend ATR multiplier (x) |
| InpHTFTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF trend timeframe |
| InpADXPeriod | 14 | ADX period (bars) |
| InpADXStrongTrendMin | 22.0 | ADX min for StrongTrend gate |
| InpATRPctLookback | 50 | ATR percentile lookback (bars) |
| InpCapitalCapAmount | 0.0 | Capital cap amount ($, real money equity) |
| InpCapitalCapFloor | 50.0 | Capital floor; block new entries below ($) |
| InpRiskPercent | 0.5 | Risk per trade (% of effective capital) |
| InpDailyLossLimitPercent | 3.0 | Daily loss limit (% of effective capital) |
| InpMaxOpenTrades | 3 | Max concurrent open trades (count) |
| InpSLATRmult | 1.8 | Stop-loss distance (x ATR) |
| InpTPATRmult | 3.0 | Take-profit distance (x ATR) |
| InpTrailATRmult | 1.5 | ATR trailing distance (x ATR) |
| InpMaxSpreadPoints | 60 | Max allowed spread (points) |
| InpSessionStartHour | 8 | Session start hour (broker server time) |
| InpSessionEndHour | 20 | Session end hour (broker server time) |
| InpDryRun | true | Dry-run: log signals, do NOT send orders |
| InpKillSwitch | false | Kill switch: halt all new entries |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18040 GB10OOO — Gaussian EMA + ATR band breakout trend EA, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#define EA_MAGIC 22218040
input string InpTradeComment = "Psgrowth.com Expert_18040"; // Order comment
#define EA_COMMENT InpTradeComment
//+------------------------------------------------------------------+
//| INPUTS (22 total, grouped) |
//+------------------------------------------------------------------+
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_InpHTFTimeframe = PERIOD_H1;
input group "=== Strategy & Signal ==="
input int InpLength = 10; // Gaussian EMA period (bars)
input double InpDistanceMultiplier = 0.85; // ATR band distance multiplier (x)
input int InpATRPeriod = 14; // ATR period for bands/trail (bars)
input double InpSuperTrendMult = 3.0; // SuperTrend ATR multiplier (x)
input int InpHTFTimeframe = 8; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF trend timeframe
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.