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

Pipsgrowth EX16084 Trend — إكسبرت أدفايزر متابعة اتجاه

إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1

Pipsgrowth EX16084 Trend — Trend Master Pro EA using EMA 20/50 crossover with ADX trend-strength filter and SMA200 directional bias. Enters on EMA . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EX16084 TrendMasterPro يدير كومة من أربعة مؤشرات على الإطار الزمني M5 لزوج XAUUSD — المتوسط المتحرك الأسي السريع بفترة 20، والمتوسط المتحرك الأسي البطيء بفترة 50، ومتوسط SMA بفترة 200 لقياس الانحياز الاتجاهي، ومؤشر ADX بفترة 14 لتأكيد قوة الاتجاه — ويتداول تقاطع المتوسطين الأسيين فقط عندما يؤكد مؤشر ADX أن السوق يتجه فعلياً ويكون السعر على الجانب الصحيح من المتوسط الطويل. يصف تعليق الترويسة هذا الـ EA بأنه "Trend Master Pro"، والنوع الوحيد من الأوامر التي يصدرها هو أمر سوقي في اتجاه التقاطع؛ فهو لا يشغّل منطق شبكة، ولا تدرج مارتينغال، ولا أي نوع من المتوسط.

تُحسب الإشارات عند إغلاق الشمعة. يسجّل OnTick أولاً وقت افتتاح الشمعة الحالية ويعود فوراً إذا كانت تلك الشمعة قد عولجت بالفعل في الجلسة، مما يعني أنه يُتخذ قرار واحد على الأكثر لكل شمعة. تُشغّل جولة التتبع أولاً — تتجاوز ManageTrailing() كل المراكز المفتوحة، وتصفّيها حسب الرقم السحري 22216084 ورمز الشارت، وبالنسبة لمركز الشراء تشدّ الوقف إلى bid - 50 نقطة فقط عندما يكون هذا المستوى فوق سعر الدخول وفوق الوقف الحالي؛ وبالنسبة للبيع، تشدّ الوقف إلى ask + 50 نقطة فقط عندما يكون هذا المستوى تحت سعر الدخول وتحت الوقف الحالي. ولأن الوقف المرشّح يُقارَن بسعر الافتتاح، لا تنطلق عملية الشدّ إلا بعد أن يتحرك السعر مسافة تتبع واحدة على الأقل beyond سعر الدخول، لذلك في أول تكة مربحة يبقى الوقف عند أو قرب سعر الدخول بدل الانتقال إلى مستوى ربح جزئي. TryModify_EX16084() هو المساعد الوحيد لإعادة المحاولة الذي يُستدعى فعلاً من مسار التيك المباشر؛ إذ يدور في حلقة تصل إلى ثلاث مرات مع نوم لمدة 100 مللي ثانية بين المحاولات عند requote أو timeout.

منطق الإشارة هو AND بثلاثة شروط صارمة. للشراء، يجب أن يكون المتوسط السريع قد تجاوز البطيء للتو على الشمعة الأخيرة (emaF[0] > emaS[0] && emaF[1] <= emaS[1])، وأن يكون سعر الـ bid الحالي فوق SMA-200، وأن تكون قراءة ADX عند 25 أو أعلى. والبيع هو المرآة. إذا رفض مرشح ADX، تعود الدالة دون إرسال أي أمر — لا يوجد بديل بقوة جزئية ولا دخول عكسي عندما يكون ADX تحت العتبة، وهذا مقصود: يفضّل الـ EA الجلوس خارج السوق خلال القطع العرضي بدل عكس النطاق. Helper CountOpenTrades() يعدّ المراكز على رمز الشارت بالرقم السحري للـ EA؛ إذا وصل هذا العد إلى InpMaxTrades (افتراضياً 1)، يُتخطى بلوك الدخول كلياً، لذا فإن EX16084 هي استراتيجية ذات مركز واحد لكل رمز افتراضياً.

تأتي إدارة المخاطر بنكهتين. مع ترك InpAutoLot على وضعه الافتراضي false، يُرسل كل أمر بحجم لوت ثابت InpLotSize قدره 0.10. إذا فعّلت المفتاح، يُستدعى CalcLot(): يقرأ رصيد الحساب، ويضربه في InpRiskPct (افتراضياً 1.0%) مقسوماً على 100، ويقسمه على القيمة الاسمية للنقطة الواحدة لمسافة الوقف البالغة 50 نقطة، ثم يقرّب النتيجة إلى منزلتين عشريتين بحد أدنى 0.01 لوت. يحدد مسار OnInit هامش انزلاق قدره 20 نقطة عبر trade.SetDeviationInPoints(20) ويتأكد من جميع مقابض المؤشرات الأربعة قبل إرجاع INIT_SUCCEEDED؛ إذا فشل أي من مقابض EMA أو SMA أو ADX، يلغي الـ EA قبل أن يتمكن من تنفيذ أي صفقة.

أوامر الإيقاف والهدف هي الأزرار الوحيدة في مجموعة إدارة الصفقات. InpStopLoss افتراضياً 50 نقطة، وInpTakeProfit 100 نقطة، وInpTrailingStop 50 نقطة مع InpUseTrailing=true. نسبة المخاطرة إلى العائد 1:2 مغروسة في الإعدادات الافتراضية — عند 50 نقطة مخاطرة يُحجم المركز للقبض على 100 نقطة ربح، ووقف التتبع يشدّ فقط بعد أن يتحرك السعر 50 نقطة على الأقل beyond سعر الدخول، مما يعني أن طبقة التتبع عموماً تنشط في النصف الثاني من الهدف فقط. لا يوجد منطق إغلاق جزئي، ولا شدّ للتعادل، ولا خروج سلة؛ دالة التتبع لا تقلل حجم المركز أبداً، وTryClosePartial_EX16084() وTryClose_EX16084() معرّفتان لكن لم تُستدعَ من مسار التشغيل. EX16084 أيضاً لا يحتوي على مرشح جلسة، ولا مرشح أخبار، ولا مرشح سبريد، ولا قاطع دائرة ربح/خسارة يومي، ولا ممر OnTester — البوابات الأمنية الوحيدة beyond وقف التتبع هي سقف InpMaxTrades لكل رمز وبوابة الشمعة الجديدة.

عملياً، هذا يعني أن الـ EA متابع اتجاه كلاسيكي نظيف. عتبة ADX عند 25 تعني أن زوجاً ظل في نطاق لعدة ساعات لن يصدر عنه إشارة إطلاقاً، وهو القرار الصحيح عادة على XAUUSD M5 حيث كثيراً ما يقطع الشمعة بالسعر عرضياً لساعة أو أكثر بين دفعات اتجاهية. انحياز SMA-200 هو مرشح بطيء يميل بالـ EA إلى أخذ إشارات الشراء فقط في النظام الصاعد المهيمن وإشارات البيع فقط في النظام الهابط المهيمن، لذا فإن الـ EA لا يحاول عكس التراجعات العميقة back إلى SMA الطويل في سوق هابطة. سقف InpMaxTrades=1 هو الشيء الوحيد الذي يمنع الـ EA من البناء الهرمي — إذا أردت التوسع على اتجاهات مؤكدة، يمكنك رفعه، لكن يجب أيضاً خفض حجم اللوت بما يتناسب لأن CalcLot لا تعرف بشأن الطبقات الإضافية. فحص CountOpenTrades() يعمل قبل قراءة الإشارة، لذا في شمعة تقاطع جديدة سيدخل الـ EA فقط إذا لم يكن هناك مركز آخر بهذا الرقم السحري مفتوحاً على رمز الشارت — لا يوجد طابور، ولا إشارة مؤجلة، ولا إعادة دخول في الشمعة التالية بعد إيقاف. للاختبار التاريخي، توقع منحنى حقوق ملكية مسطحاً طويلاً مع دفعات اتجاهية حادة دورية وخسائر متجمعة خلال فترات ADX تحت 25.

تفاصيل الاستراتيجية

في كل تكة، يسجّل OnTick وقت افتتاح الشمعة الحالية ويخرج مبكراً إذا كانت الشمعة دون تغيير — بوابة قرار واحد لكل شمعة. في شمعة جديدة يستدعي أولاً ManageTrailing() التي تمرّ على المراكز المفتوحة على رمز الشارت مفلترة بالرقم السحري 22216084، وللشراء تشدّ الوقف إلى bid-50p فقط عندما يتجاوز هذا المستوى كلاً من سعر الدخول والوقف الحالي (باتجاه واحد، للأمام فقط)، باستخدام TryModify_EX16084 لاستدعاء OrderModify. إذا ظل CountOpenTrades() على رمز الشارت أقل من InpMaxTrades، يقرأ بعدها شمعتين من EMA20 وشمعتين من EMA50 وشمعة واحدة من SMA200 وشمعة واحدة من ADX(14)، ويتطلب ADXInpADXMin=25، ويكشف تقاطع EMA في الفهرس 0 مقابل الفهرس 1، ويتأكد أن السعر على الجانب الصحيح من SMA200. الشراء يطلق أمر Buy بسعر ask مع SL وTP المهيأين؛ والبيع يطلق أمر Sell بسعر bid. اللوت هو InpLotSize (0.10) افتراضياً، أو ناتج CalcLot() إذا كان InpAutoLot=true، مع هامش انزلاق 20 نقطة يُضبط في OnInit. مساعدات إعادة المحاولة TryClose_EX16084 وTryClosePartial_EX16084 معرّفة لكن لم تُستدعَ من المسار المباشر؛ إعادة المحاولة الوحيدة في التنفيذ الحي هي مساعد التعديل.

إشارة الدخول

يُطلق EX16084 إشارة شراء عندما يعبر المتوسط السريع 20 فوق البطيء 50 على الشمعة الأخيرة، ويكون سعر الـ bid الحالي فوق SMA-200، ويقرأ ADX(14) عند 25 على الأقل — AND بثلاثة شروط صارمة عند إغلاق الشمعة. البيع هو المرآة الدقيقة: المتوسط السريع يعبر تحت البطيء، bid تحت SMA-200، ADX ≥ 25. يعمل الفحص مرة واحدة لكل شمعة (بوابة lastBar) وفقط إذا كان CountOpenTrades() أقل من InpMaxTrades=1، لذا يدخل الـ EA مركزاً واحداً على الأكثر لكل رمز لكل شمعة إشارة.

إشارة الخروج

لا تُغلق المراكز إلا عبر وقف الخسارة 50 نقطة، أو جني الأرباح 100 نقطة، أو وقف التتبع 50 نقطة بمجرد أن يتحرك السعر مسافة تتبع واحدة على الأقل beyond سعر الدخول. تشدّ ManageTrailing() الوقف إلى الأمام فقط عندما يتغلب المستوى الجديد على كل من سعر الدخول والوقف الحالي (باتجاه واحد، لا تتراجع للخلف)، وتعيد TryModify_EX16084() المحاولة حتى ثلاث مرات عند requote أو timeout. لا يوجد إغلاق جزئي، ولا خروج سلة، ولا عكس قائم على الإشارة — مساعدات الإغلاق TryClose_EX16084 وTryClosePartial_EX16084 معرّفة لكن لم تُستدعَ من المسار المباشر.

وقف الخسارة

يُرفق وقف خسارة ثابت 50 نقطة بكل أمر سوقي، يُحسب كـ InpStopLoss * _Point * 10 داخل OnTick. ثم يتولى وقف التتبع 50 نقطة بمجرد أن يتحرك السعر 50 نقطة على الأقل beyond سعر الدخول — للشراء، تشدّ ManageTrailing الوقف إلى bid-50p فقط عندما يكون هذا المستوى فوق سعر الدخول والوقف الحالي، لذا فإن طبقة التتبع تدفع الوقف في الاتجاه المربح فقط. لا يُطبَّق سقف سحب على مستوى الصفقة أو الحساب.

جني الأرباح

يُرفق جني أرباح ثابت 100 نقطة بكل أمر، يُضبط عند ask+tp للشراء وbid-tp للبيع، مما يعطي نسبة مخاطرة إلى عائد 1:2 مغروسة مقابل وقف 50 نقطة. لا يتحرك جني الأرباح أبداً — طبقة التتبع تعدّل الوقف فقط، وTryModify_EX16084 تعيد دائماً إصدار POSITION_TP كما هو. لا يوجد تدرج جني أرباح جزئي ولا جني أرباح سلة.

الأنسب لـ

يناسب EX16084 المتداولين الذين يريدون متابع اتجاه XAUUSD M5 بلمسة منخفضة ولديهم 100 دولار على الأقل من رأس مال المخاطرة على حساب MetaTrader 5 — الـ EA نفسه لا يفرض حداً أدنى للإيداع، لكن اللوت الافتراضي 0.10 مع وقف 50 نقطة يعني تعرضاً اسمياً للصفقة الواحدة حوالي 50 دولار بأسعار الذهب الحالية. شغّله على وسيط ذهبي سبريده منخفض (أقل من 30 نقطة عادة على XAUUSD) لأن هيكل 50/100 نقطة ضيق؛ بيئات السبريد العالي ستلتهم نسبة المخاطرة إلى العائد 1:2. أفضل نافذة: ساعات لندن ونيويورك النشطة، حيث يكون ADX أكثر احتمالاً لتجاوز 25 وإنتاج تقاطع EMA نظيف. M5 هو الافتراضي وكاشف تقاطع EMA مبني لهذا الإيقاع، لكن نفس المنطق يعمل على H1 للمتداولين أبطأ الذين يفضلون تقاطعاً يومياً واحداً. لا توجد مخاوف توافق وسيط تجريبي أو حقيقي beyond رمز XAUUSD القياسي — يستخدم الـ EA iMA/iADX في وضع المؤشر دون اعتماديات تاريخية قد تنكسر على بناءات MT5 لشركات الـ prop firm.

منطق الاستراتيجية

Pipsgrowth EX16084 Trend — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: Trend الماجيك: 22216084 الإصدار: 2.00

الوصف: Trend Master Pro EA using EMA 20/50 crossover with ADX trend-strength filter and SMA200 directional bias. Enters on EMA cross when ADX confirms a strong trend and price respects the SMA200 bias. Includes trailing stop and auto-lot sizing. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • مؤشرات قياسية

الدوال الرئيسية:

  • ManageTrailing()
  • CountOpenTrades()
  • CalcLot()
  • TryClose_EX16084()
  • TryClosePartial_EX16084()
  • TryModify_EX16084()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16084 Trend — Execution Flow (from source analysis)
// Family: Trend
// Trend Master Pro EA using EMA 20/50 crossover with ADX trend-strength filter and SMA200 directional bias. Enters on EMA cross when ADX confirms a strong trend and price respects the SMA200 bias. Includes trailing stop and auto-lot sizing. 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
الرموز المُحسّنة:
XAUUSD
الأطر الزمنية المُحسّنة:
M5H1

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
InpMagicNumber22216084Magic Number
InpLotSize0.10Lot Size
InpAutoLotfalseAuto Lot
InpRiskPct1.0Risk %
InpEMAFast20Fast EMA Period
InpEMASlow50Slow EMA Period
InpSMA200200Trend Bias SMA
InpADXPeriod14ADX Period
InpADXMin25.0Min ADX for trend
InpStopLoss50Stop Loss (pips)
InpTakeProfit100Take Profit (pips)
InpTrailingStop50Trailing Stop (pips)
InpUseTrailingtrueUse Trailing Stop
InpMaxTrades1Max trades per symbol
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16084.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16084 TrendMasterPro — EMA crossover with ADX filter and SMA200 bias, full 12-layer stack."

#include <Trade\Trade.mqh>

input group "=== Identity ==="
input int    InpMagicNumber   = 22216084; // Magic Number
input string InpTradeComment  = "Psgrowth.com Expert_16084";

input group "=== Money Management ==="
input double InpLotSize       = 0.10;  // Lot Size
input bool   InpAutoLot       = false; // Auto Lot
input double InpRiskPct       = 1.0;   // Risk %

input group "=== Trend Filters ==="
input int    InpEMAFast       = 20;    // Fast EMA Period
input int    InpEMASlow       = 50;    // Slow EMA Period
input int    InpSMA200        = 200;   // Trend Bias SMA
input int    InpADXPeriod     = 14;    // ADX Period
input double InpADXMin        = 25.0;  // Min ADX for trend

input group "=== Trade Management ==="
input int    InpStopLoss      = 50;    // Stop Loss (pips)
input int    InpTakeProfit    = 100;   // Take Profit (pips)
input int    InpTrailingStop  = 50;    // Trailing Stop (pips)
input bool   InpUseTrailing   = true;  // Use Trailing Stop

input group "=== Trade Settings ==="
input int    InpMaxTrades     = 1;     // Max trades per symbol

CTrade trade;
int    hEMAF, hEMAS, hSMA200, hADX;
datetime lastBar = 0;

//+------------------------------------------------------------------+
int OnInit()
{
   trade.SetExpertMagicNumber(InpMagicNumber);
   trade.SetDeviationInPoints(20);

   hEMAF  = iMA(_Symbol, PERIOD_CURRENT, InpEMAFast, 0, MODE_EMA, PRICE_CLOSE);
   hEMAS  = iMA(_Symbol, PERIOD_CURRENT, InpEMASlow, 0, MODE_EMA, PRICE_CLOSE);
   hSMA200= iMA(_Symbol, PERIOD_CURRENT, InpSMA200,  0, MODE_SMA, PRICE_CLOSE);
   hADX   = iADX(_Symbol, PERIOD_CURRENT, InpADXPeriod);

   if(hEMAF==INVALID_HANDLE || hEMAS==INVALID_HANDLE ||
      hSMA200==INVALID_HANDLE || hADX==INVALID_HANDLE)
   { Print("Indicator init failed"); return INIT_FAILED; }

   return INIT_SUCCEEDED;
}

void OnDeinit(const int reason)
{
   IndicatorRelease(hEMAF); IndicatorRelease(hEMAS);
   IndicatorRelease(hSMA200); IndicatorRelease(hADX);
}

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

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

الوسوم:ex16084trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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