P
PipsGrowth
متابعة الاتجاهمفتوح المصدر - مجاني

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()
الرمز الزائف (Pseudocode)
// 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)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
EURUSD
الأطر الزمنية المُحسّنة:
H1

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2افتح برنامج MetaTrader 5 على حاسوبك
  3. 3من القائمة العلوية اختر File → Open Data Folder
  4. 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  5. 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  6. 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
  7. 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

معاملات الإكسبرت

المعاملالافتراضيالوصف
InpLots0.1Lots
InpStopLoss150Stop Loss (in pips)
InpTakeProfit150Take Profit (in pips)
InpTrailingStop5Trailing Stop (in pips)
InpTrailingStep5Trailing Step (in pips)
InpCount10Number of elements (check iHighest and iLowest)
Inp_MA_First_ma_period10MA First: averaging period
Inp_MA_First_ma_shift0MA First: horizontal shift
Inp_MA_First_ma_methodMODE_SMAMA First: smoothing type
Inp_MA_First_applied_price1Applied 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_period100MA Second: averaging period
Inp_MA_Second_ma_shift0MA Second: horizontal shift
Inp_MA_Second_ma_methodMODE_SMAMA Second: smoothing type
Inp_MA_Second_applied_price1Applied 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_period12MACD: period for Fast average calculation
Inp_MACD_slow_ema_period26MACD: period for Slow average calculation
Inp_MACD_signal_period9MACD: period for their difference averaging
Inp_MACD_applied_price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // MACD: type of price
InpMagicNumber22216008Magic Number (222 + Expert ID)
InpTradeComment"Psgrowth.com Expert_16008"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16008.mq5
#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);

//---

الكود المصدري الكامل متاح عند التحميل

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

الوسوم:ex16008trendpipsgrowthfreemt5eurusd

تحذير صريح: لأغراض تعليمية فقط

تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.

وسطاء موصى بهم لهذا الإكسبرت

هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض

مجتمع المستخدمين

سجّل دخولك للمشاركةتسجيل الدخول

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

اسم الملفPipsgrowth_com_EX16008.mq5
حجم الملف26.5 KB
الإصدارv2.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةمتابعة الاتجاه
المخاطرةمخاطرة متوسطة
الأطر الزمنية
H1
أزواج العملات
EURUSD
الحد الأدنى للإيداع$100