Pipsgrowth EX16008 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · EURUSD · H1
Pipsgrowth EX16008 Trend — 1H EUR/USD trend EA using dual SMA crossover with MACD histogram signals and breakout entry. BUY when MACD turns up belo. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16008 Trend هو روبوت اتجاه يتبع حركة السعر على إطار H1 لزوج EURUSD حصرياً. يجمع بين زوج من المتوسطات المتحركة البسيطة (10 و100 فترة، MODE_SMA على الإغلاق) مع خط الـ MACD الرئيسي (12,26,9) وتأكيد اختراق من نافذة قصيرة. الهدف هو التوافق مع الاتجاه السائد على الإطار الساعي، ثم الدخول فقط عندما ينعكس الزخم في هذا الاتجاه، وأخيراً ترك أمر إيقاف الخسارة المتحرك (trailing stop) يتولى إدارة الصفقة.
المتوسط السريع مضبوط على 10 أعمدة والمتوسط البطيء على 100 عمود — بنسبة 1:10 تجعل الخط البطيء يعمل كمصفى نظام (regime filter) لا كشريك تقاطع تقليدي. خط MACD الرئيسي هو طبقة التأكيد، لكن EX16008 لا يستخدم تقاطع خط الصفر كما تفعل أغلب روبوتات الاتجاه. بدلاً من ذلك، يبحث عن انعكاس صاعد تحت خط الصفر على عمود H1 مغلق، أي أن قيمة الخط الرئيسي للعمود السابق تتجاوز قيمة العمود الذي قبله، بينما كان هذا العمود (الذي قبله) قاعاً محلياً. ثم تُكرَّر الحالة مع تأخير عمودين، ليتسامح الـ EA مع تأخير ظهور الإشارة بمقدار عمود واحد.
الاختراق هو المُحفّز لا مصفّي الاتجاه. في كل عمود H1 جديد، يحسب الـ EA أعلى high وأقل low عبر آخر InpCount=10 أعمدة. للشراء، يجب أن يخترق سعر Ask الـ high للعمود السابق؛ للبيع، يجب أن يخترق سعر Bid الـ low للعمود السابق. ويعطي تناوب الشرط بعمودين فرصة ثانية في العمود التالي إذا لم يكسر السعر تماماً عموداً واحداً قبله. هذا يكوّن نافذة اختراق بعرض 10 أعمدة وأفق إشارة MACD بعرض 3 أعمدة.
بوابة OnTick مبنية على عمود جديد. تقارن PrevBars (datetime ثابت) مع iTime(NULL,0,0)؛ عند التطابق تعود الدالة فوراً، لذا كل المنطق يعمل مرة واحدة لكل عمود H1 مغلق. تسحب الدالة بعد ذلك 5 قيم من مخزن MACD الرئيسي، وتقرأ المتوسطين عند الفهرس 0، وتحسب أعلى/أسفل نافذة الـ 10 أعمدة، وتتحقق من الأسعار عبر RefreshRates، وتنقل 3 أسعار للمقارنة. فقط إذا نجحت كل هذه القراءات، تُفعَّل كُتل شرط الشراء/البيع ويُستدعى OpenBuy/OpenSell.
إدارة المخاطرة والخروج متحفظة افتراضياً. وقف الخسارة ثابت عند 150 نقطة وجني الأرباح 150 نقطة أيضاً، مما يعطي نسبة مخاطرة:عائد 1:1 عند الدخول. كلاهما يُرفق على جانب الخادم عند فتح الأمر ولا يتغير خلال عمر الصفقة — لا يوجد تدرّج لوقف الخسارة، ولا إغلاق جزئي، ولا دالة تعادل، ولا جني أرباح سلة، ولا خروج زمني، ولا خروج بإشارة عكسية، ولا سقف سحب إجمالي. الإدارة الوحيدة بعد الدخول هي دالة Trailing، التي تُستدعى في كل تيک (وليس فقط على الأعمدة الجديدة). للشراء، لا يتحرك الإيقاف إلا بعد أن يتجاوز السعر InpTrailingStop + InpTrailingStep = 5 + 5 = 10 نقاط، ثم يتدرّج إلى السعر_الحالي − 5 نقاط. الانعكاس ينطبق على البيع. مع TrailingStop=5 وTrailingStep=5، يشدّ الـ EA الإيقاف بزيادات 5 نقاط ولا يحركه للخلف أبداً.
تحديد حجم اللوت ثابت: InpLots=0.10 هو المسار الوحيد. لا يوجد وضع نسبة رصيد، ولا حساب لوت آلي، ولا مضاعف تعافي، ولا مارتينجال. تتحقق دالة CheckVolumeValue في OnInit من 0.10 مقابل SYMBOL_VOLUME_MIN وSYMBOL_VOLUME_MAX وSYMBOL_VOLUME_STEP. الانزلاق مضبوط عالمياً على 10 نقاط (m_slippage=10) ويُمرَّر إلى m_trade.SetDeviationInPoints في OnInit، إلى جانب استكشاف نمط التعبئة التلقائي عبر SetTypeFillingBySymbol.
نمط إعادة المحاولة الثلاثية هو سقالة الأمان في الملف. TryClose_EX16008 وTryClosePartial_EX16008 وTryModify_EX16008 تكرر كل منها حتى 3 مرات عند REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED، مع 200 مللي ثانية بين المحاولات للإغلاق و100 للتعديل. Trailing يربط TryModify_EX16008 مباشرة بنداء التدرّج، لذا كل تحرك للإيقاف يُعاد 3 مرات قبل إعلان الفشل. الدالتان TryClose وTryClosePartial مُعرّفتان للمرونة لكن لا تُستدعيان في أي مسار كود نشط — EX16008 لا يُغلق جزئياً ولا يُغلق صفقة خاسرة استباقياً. الخروج يحدث حصرياً من خلال وقف الخسارة/جني الأرباح على الخادم أو عبر تدرّج الإيقاف المتحرك.
ما ليس فيه الـ EA. لا يوجد فحص لعدّاد المراكز، لذا يمكنه فتح أكثر من صفقة واحدة على نفس magic-الرمز إذا سمح العمود؛ عملياً، بوابة العمود الجديد ونافذة الاختراق البالغة 10 أعمدة تحدّ الإيقاع عند دخول واحد لكل عمود H1. لا مارتينجال، ولا طبقة شبكة، ولا هرمية، ولا تحوط، ولا إيقاف حقوقي، ولا إيقاف زمني، ولا مصفّي أخبار، ولا مصفّي جلسة، ولا مصفّي سبريد، ولا إيقاف خسارة يومية. معالج OnTradeTransaction فارغ. لا توجد دالة OnTester رغم أن الوصف يعلن عن واحدة. ما تحصل عليه هو منطق عمود بعمود أعلاه، قوس 150 نقطة ثابت عند الدخول، وإيقاف متحرك بفرامل 5 نقاط في الربح. إذا كنت تريد روبوت اتجاه نقياً وخفيف المعاملات ينتظر توافق اتجاه H1 ثم يركب مع فرامل ضيقة، يبقى EX16008 بعيداً عن طريق صفقاته بعد الدقيقة الأولى من عمرها.
تفاصيل الاستراتيجية
يشغّل Pipsgrowth EX16008 ثلاث مقابض مؤشرات — handle_iMA_First (iMA فترة 10، MODE_SMA، إغلاق)، handle_iMA_Second (iMA فترة 100، MODE_SMA، إغلاق)، وhandle_iMACD (12,26,9، إغلاق) — تُهيَّأ في OnInit، وتُستخدم فقط داخل كتلة OnTick الخاصة بالعمود الجديد، وتُحرَّر ضمنياً عند تفريغ الـ EA. زوج SMA 10/100 يعمل كبوابة نظام: الشراء يتطلب MA10 > MA100، والبيع MA10 < MA100. تُعاد حساب نافذة الاختراق كل عمود من iHighest وiLowest على 10 أعمدة، ثم تُقارن مع high/low للعمود السابق المخزّن في مصفوفة rates المنسوخة في بداية التيك. يسحب الـ MACD تاريخاً بعرض 5 أعمدة، وكتلة الدخول هي AND خماسي: انعكاس صاعد تحت الصفر (أو تأخيره بعمودين)، مصفّي MA، الاختراق، وموقع القاع نسبة إلى الصفر. بعد إطلاق OpenBuy أو OpenSell (كل منهما يتحقق من الحجم عبر m_trade.CheckVolume ويُطبيع SL/TP عبر m_symbol.NormalizePrice)، تخضع الصفقة لقوس 150/150 لدى الوسيط. Trailing تعمل في كل تيک وتستدعي TryModify_EX16008 ثلاث مرات على requote/timeout قبل الاستسلام. OnDeinit فارغ — لا توجد نداءات IndicatorRelease ولا تنظيف للرسم البياني، لذا يسترد الطرف النهائي المقابض.
يدخل Pipsgrowth EX16008 في صفقة شراء عندما يكون المتوسط 10 فوق المتوسط 100 (مصفّي نظام)، وينعكس خط MACD الرئيسي صعوداً من قاع محلي في عمود H1 السابق (أو عمود أبعد) مع كون قيمة هذا القاع تحت الصفر، ويخترق سعر Ask الـ high للعمود السابق ضمن نافذة اختراق 10 أعمدة. ينطبق الشرط المعاكس على البيع: المتوسط 10 تحت المتوسط 100، وينعكس MACD هبوطاً من قمة فوق الصفر، ويخترق سعر Bid الـ low للعمود السابق.
تخرج المراكز حصرياً من خلال جني الأرباح 150 نقطة على جانب الخادم، أو وقف الخسارة 150 نقطة على جانب الخادم، أو إيقاف متحرك بفرامل يُفعَّل بعد أن تحقق الصفقة ربحاً قدره 10 نقاط ويشدّ الإيقاف بزيادات 5 نقاط (TrailingStop=5، TrailingStep=5). لا يوجد خروج بإشارة عكسية، ولا خروج زمني، ولا تعادل، ولا إغلاق جزئي، ولا جني أرباح سلة — بمجرد فتح الصفقة يحكمها فقط القوس الأصلي مع الفرامل المتحركة.
وقف الخسارة ثابت عند 150 نقطة في كل دخول ومُرفق على جانب الخادم. لا يُنقل إلى نقطة التعادل ولا يتدرّج؛ التعديل الوحيد على SL يأتي من دالة Trailing بمجرد أن تحقق الصفقة ربحاً يتجاوز 10 نقاط (TrailingStop=5 + TrailingStep=5)، وعندها يشدّ الإيقاف بخطوات 5 نقاط ولا يتحرك للخلف أبداً.
جني الأرباح ثابت عند 150 نقطة في كل دخول، بنفس حجم وقف الخسارة، مما يعطي نسبة مخاطرة:عائد 1:1 على القوس الافتتاحي. TP مُرفق على جانب الخادم، ولا يُعدَّل، ولا يُغلق جزئياً — إما أن تصل الصفقة إلى هدف 150 نقطة أو تُؤخذ من خلال SL أو الفرامل المتحركة أو الوسيط.
مناسب للإطار H1 على EURUSD في حسابات ECN أو القياسية بحد أدنى للرصيد 100 دولار (يحتاج الـ EA فقط إلى أن يسمح الوسيط بأوامر 0.10 لوت، لذا الحسابات المايكرو والميني كلاهما قابل للتطبيق). يُفضَّل إقرانه مع تغذية EURUSD منخفضة السبريد (نموذجياً 0.5-1.0 نقطة) — يحتاج قوس SL/TP البالغ 150 نقطة مع فرامل 5/5 إلى سبريد نظيف لإبقاء انزلاق منتصف الصفقة داخل إعداد الانحراف البالغ 10 نقاط. النافذة الزمنية المفضلة: جلستا لندن ونيويورك عندما يكون تذبذب EURUSD في أعلى مستوياته ويكون للاختراق على H1 أكبر متابعة. يكافئ قوس 150 نقطة الثابت مع فرامل 5 نقاط على الصبر — هذا ليس سكالبر عالي الدوران، ويتوقع الـ EA من المتداول أن يتركه على H1 EURUSD لجلسات مستدامة بدلاً من التقاط أعمدة فردية.
منطق الاستراتيجية
Pipsgrowth EX16008 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216008
الإصدار: 2.00
الوصف:
1H EUR/USD trend EA using dual SMA crossover with MACD histogram signals and breakout entry. BUY when MACD turns up below zero, fast MA > slow MA, and price breaks recent high. SELL on the mirror condition. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTradeTransaction()RefreshRates()CheckVolumeValue()iMAGet()iMACDGetArray()OpenBuy()OpenSell()PrintResultTrade()Trailing()PrintResultModify()
// Pipsgrowth EX16008 Trend — Execution Flow (from source analysis)
// Family: Trend
// 1H EUR/USD trend EA using dual SMA crossover with MACD histogram signals and breakout entry. BUY when MACD turns up below zero, fast MA > slow MA, and price breaks recent high. SELL on the mirror condition. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpLots | 0.1 | Lots |
| InpStopLoss | 150 | Stop Loss (in pips) |
| InpTakeProfit | 150 | Take Profit (in pips) |
| InpTrailingStop | 5 | Trailing Stop (in pips) |
| InpTrailingStep | 5 | Trailing Step (in pips) |
| InpCount | 10 | Number of elements (check iHighest and iLowest) |
| Inp_MA_First_ma_period | 10 | MA First: averaging period |
| Inp_MA_First_ma_shift | 0 | MA First: horizontal shift |
| Inp_MA_First_ma_method | MODE_SMA | MA First: smoothing type |
| Inp_MA_First_applied_price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MA First: type of price or handle |
| Inp_MA_Second_ma_period | 100 | MA Second: averaging period |
| Inp_MA_Second_ma_shift | 0 | MA Second: horizontal shift |
| Inp_MA_Second_ma_method | MODE_SMA | MA Second: smoothing type |
| Inp_MA_Second_applied_price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MA Second: type of price or handle |
| Inp_MACD_fast_ema_period | 12 | MACD: period for Fast average calculation |
| Inp_MACD_slow_ema_period | 26 | MACD: period for Slow average calculation |
| Inp_MACD_signal_period | 9 | MACD: period for their difference averaging |
| Inp_MACD_applied_price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MACD: type of price |
| InpMagicNumber | 22216008 | Magic Number (222 + Expert ID) |
| InpTradeComment | "Psgrowth.com Expert_16008" | Trade Comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16008 H_EUR_USD — dual SMA + MACD breakout trend EA, full 12-layer stack."
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
CPositionInfo m_position; // trade position object
CTrade m_trade; // trading object
CSymbolInfo m_symbol; // symbol info object
//--- input parameters
input double InpLots = 0.1; // Lots
input ushort InpStopLoss = 150; // Stop Loss (in pips)
input ushort InpTakeProfit = 150; // Take Profit (in pips)
input ushort InpTrailingStop = 5; // Trailing Stop (in pips)
input ushort InpTrailingStep = 5; // Trailing Step (in pips)
input int InpCount = 10; // Number of elements (check iHighest and iLowest)
//--- Moving Average First
input int Inp_MA_First_ma_period = 10; // MA First: averaging period
input int Inp_MA_First_ma_shift = 0; // MA First: horizontal shift
input ENUM_MA_METHOD Inp_MA_First_ma_method = MODE_SMA; // MA First: smoothing type
input int Inp_MA_First_applied_price = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MA First: type of price or handle
//--- Moving Average Second
input int Inp_MA_Second_ma_period = 100; // MA Second: averaging period
input int Inp_MA_Second_ma_shift = 0; // MA Second: horizontal shift
input ENUM_MA_METHOD Inp_MA_Second_ma_method = MODE_SMA; // MA Second: smoothing type
input int Inp_MA_Second_applied_price = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MA Second: type of price or handle
//--- MACD
input int Inp_MACD_fast_ema_period = 12; // MACD: period for Fast average calculation
input int Inp_MACD_slow_ema_period = 26; // MACD: period for Slow average calculation
input int Inp_MACD_signal_period = 9; // MACD: period for their difference averaging
input int Inp_MACD_applied_price = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MACD: type of price
//---
input ulong InpMagicNumber = 22216008; // Magic Number (222 + Expert ID)
input string InpTradeComment = "Psgrowth.com Expert_16008"; // Trade Comment
//---
ulong m_slippage=10; // slippage
double ExtStopLoss=0.0;
double ExtTakeProfit=0.0;
double ExtTrailingStop=0.0;
double ExtTrailingStep=0.0;
int handle_iMA_First; // variable for storing the handle of the iMA indicator
int handle_iMA_Second; // variable for storing the handle of the iMA indicator
int handle_iMACD; // variable for storing the handle of the iMACD indicator
double m_adjusted_point; // point value adjusted for 3 or 5 points
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
g_Inp_MA_First_applied_price = MapAppliedPriceInt(Inp_MA_First_applied_price);
g_Inp_MA_Second_applied_price = MapAppliedPriceInt(Inp_MA_Second_applied_price);
g_Inp_MACD_applied_price = MapAppliedPriceInt(Inp_MACD_applied_price);
//---الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.