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

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

ملف التحسين

الوسطاء المُحسّنون:
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

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

المعاملالافتراضيالوصف
InpDryRuntrueDry-run (no real sends)
InpKillSwitchfalseKill switch (immediate stop)
InpMagic22218075Magic number (unique per EA)
InpTradeComment"Psgrowth.com Expert_18075"Order comment
InpSlippagePts20Max slippage in points
InpFastEMA9Fast EMA period (bars)
InpSlowEMA21Slow EMA period (bars)
InpSTMultiplier3.0SuperTrend ATR multiplier
InpSTPeriod10SuperTrend/ATR period (bars)
InpHTFEMA50HTF EMA period (bars)
InpHTF8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF timeframe for trend agreement
InpADXPeriod14ADX period (bars)
InpADXMinTrend20.0ADX min for trend regime
InpATRPctLookback100ATR percentile lookback (bars)
InpBBWidthMin0.0005BB width min (ratio to mid) for non-squeeze
InpRiskPercent0.5Risk per trade (% of effective capital)
InpATRSLmult1.5ATR multiple for hard SL
InpRRmin1.5Minimum reward:risk for entry
InpDailyLossLimitPct3.0Daily loss limit (% of effective capital)
InpWeeklyLossLimitPct6.0Weekly loss limit (% of effective capital)
InpMaxConcurrent3Max concurrent positions (this magic/symbol)
InpCooldownLosses3Loss streak cooldown (count)
InpCapitalCapAmount0.0Capital cap amount ($ equity, not notional)
InpCapitalCapFloor50.0Floor below which new entries block ($)
InpBEtriggerR1.0Break-even trigger (R multiples)
InpTrailATRmult2.0ATR trailing multiple
InpPartialR1.0Partial-TP trigger (R multiples, 0=off)
InpPartialPct50.0Partial close size (% of position)
InpMaxBarsInTrade200Max bars in trade (0=off)
InpPyramidEnabledfalseEnable pyramiding (default OFF)
InpPyramidMaxLevels3Max pyramid levels (hard-cap 5)
InpPyramidStepATR1.0Pyramid spacing in ATR multiples
InpMaxSpreadPts35.0Max spread (points)
InpSession"07:00-21:00"Trading session HH:MM-HH:MM (server time)
InpBlockNewsWindowtrueBlock trades near midnight (proxy news)
InpNewsBlockMin30News-window size (minutes each side of midnight)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18075.mq5
#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;

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

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

الوسوم:ex18075trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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