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

Pipsgrowth EX18019 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX18019 TrendFollow — Six native indicators (EMA fast/slow, RSI, MACD, ADX, Stochastic) vote each closed bar. Final signal = direction with >=. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يقوم EX18019 بالتصويت على كل شمعة مغلقة عبر خمسة مؤشرات فنية مستقلة ولا يدخل صفقة إلا عندما يتفق ما لا يقل عن ستين بالمئة منها على الاتجاه. المحكمون الخمسة هم تقاطع المتوسط المتحرك الأسي 20 مع المتوسط 50 الذي يتطلب أيضاً ميلاً صاعداً وإغلاقاً على نفس الجانب، ومنعطف مؤشر القوة النسبية 14 من منطقة التشبع البيعي تحت 30 أو التشبع الشرائي فوق 70، وتقاطع خط الـ MACD 12-26-9 مع خط الإشارة، ومؤشر ADX 14 فوق عتبة InpADXMin مع ميل صاعد وإغلاق مؤيد، وتقاطع Stochastic 14-3-3 داخل مناطق 20 و 80 القصوى. كل محكم يساهم بصوت واحد فقط، والنتيجة هي نسبة مئوية للصعود ونسبة أخرى للهبوط، ولا يتم فتح صفقة إلا عندما تتجاوز إحدى النسبتين عتبة InpMinConfirmation (60 بالمئة افتراضياً، أي ما يعادل اتفاق ثلاثة من خمسة محكمين) وتكون أعلى من النسبة المقابلة. هذا التصميم التوافقي هو جوهر الـ EA: لا يمكن لمؤشر واحد صاخب أن يفتح صفقة.

قبل الرجوع إلى التصويت، يصنف كاشف النظام السوق إلى سبع حالات. يقرأ الكاشف مؤشر ADX 14 و ATR 14 على نافذة مئوية بطول 60 شمعة، وأشرطة بولنجر 20 بانحراف معياري 2. قيمة ADX عند 30 أو أعلى تعني REG_STRONG_TREND، بين InpADXMin الافتراضي 20 و 30 تعني REG_WEAK_TREND. إذا كان الـ ATR في أعلى 30 بالمئة من نافذته وكان عرض شريط بولنجر الحالي أكبر بـ 1.15 مرة من عرض الشمعة السابقة فالحالة هي REG_EXPAND. شريط بولنجر ضيق بعرض أقل من 0.0015 مع ADX صاعد يعني REG_BREAKOUT. ATR في أدنى 25 بالمئة يعني REG_COMPRESS، والحالة الافتراضية المتبقية هي REG_RANGE، ويعيد الكاشف REG_CHOPPY عند فشل نسخ أي من مخازن المؤشرات. يسمح النظام بفتح الصفقات في STRONG_TREND و WEAK_TREND و BREAKOUT و EXPAND، ويحجب COMPRESS و RANGE و CHOPPY. النتيجة نظام يتوقف في الأسواق العرضية المضطربة ويعود للعمل عند تمدد التذبذب ووجود حركة اتجاهية.

بعد اجتياز فلتر النظام، تتحقق ConfirmEntry من المتوسط المتحرك على الإطار الزمني الأعلى. InpHTF الافتراضي هو 8، وهو ما تعامله الدالة MapTimeframeInt كقيمة خارج النطاق، لذا فإن الإطار الأعلى الفعلي هو H1 بمتوسط 50 فترة. إشارة شراء يكون إغلاقها تحت H1 EMA 50 تُرفض بسبب HTF EMA bearish، وإشارة بيع بإغلاق فوق H1 EMA 50 تُرفض بسبب HTF EMA bullish. تتحقق نفس الدالة من السبريد الحالي مقارنة بـ InpMaxSpreadPts (35 نقطة) ومن وقت الجلسة. بعدها تضيف NoTradeBlock بقية البوابات: مفتاح الإيقاف، السبريد الشاذ، نافذة الجلسة 6:00-21:00 بتوقيت السيرفر، فلتر التشتت، فلتر الشمعة الكبيرة الذي يطلق عندما يكون مدى الشمعة السابقة أكبر من ثلاثة أضعاف ATR 14 (كاشف أخبار بدائي)، مؤقت التهدئة، أرضية رأس المال، حد الخسارة اليومية، حد الصفقة الواحدة، وقطع يوم الجمعة عند 21:00 قبل نهاية الأسبوع.

يربط حساب حجم الصفقة بين المخاطرة والتذبذب. تقرأ CalcLots قيمة ATR 14 الحالية وتضربها في InpATRSLMult (2.0) للحصول على مسافة وقف الخسارة. ميزانية المخاطرة هي 0.5 بالمئة من رأس المال الفعال، وهو الأصغر بين InpCapitalCapAmount (سقف بالدولار، افتراضياً 0 = معطل) وحساب equity، مع أرضية 50 دولار. يُحسب حجم اللوت بقسمة مبلغ المخاطرة على خسارة اللوت عند مسافة الوقف المستندة إلى ATR، ثم يُقرّب لأقرب مضاعف لخطوة الحجم لدى الوسيط ويُحصر بين الحد الأدنى والأقصى. جني الأرباح هو InpRRTP (2.0) أضعاف مسافة الوقف، أي بنسبة مخاطرة إلى عائد واحد إلى اثنين.

تُدار الصفقات المفتوحة على كل تيك بواسطة ManageExits. عندما تصل الصفقة إلى R واحد من الربح، يُنقل وقف الخسارة إلى نقطة التعادل، ويُغلق 50 بالمئة من الصفقة كجني أرباح جزئي. بعد التعادل، يحل وقف متابع قائم على ATR بمعامل 2.5 محل الوقف الأصلي ويتحرك صعوداً مع كل تيك يصل إلى قمم جديدة مواتية. إذا ظلت الصفقة مفتوحة لـ MAX_BARS_IN_TRADE شمعة مغلقة (60)، تُغلق بصرف النظر عن السعر؛ أي ما يعادل أربع ساعات على M15 وساعة على M5 وثمان ساعات على M30. بعد جولة الإدارة لكل تيك، تعيد OppositeAndRegimeExit تشغيل التوافق وفحص النظام؛ إذا انعكس التصويت ضد الاتجاه المفتوح تُغلق الصفقة بقاعدة الإشارة المعاكسة، وإذا انتقل النظام إلى CHOPPY أو RANGE أو COMPRESS تُغلق الصفقة بقاعدة تغير النظام. يسمح الـ EA بصفقة واحدة فقط مفتوحة في كل مرة، مما يجعله نظام دخول منفرد لا يضاعف المراكز.

معالجة الخسائر مدفوعة بالأحداث من خلال OnTradeTransaction. كل صفقة خاسرة تزيد g_consec_losses، وحالما تتراكم ثلاث خسائر متتالية يُضبط مؤقت تهدئة لثلاث شموع مستقبلية لا يُفتح خلالها أي دخول. RealizedPnLToday مفلتر بالـ magic والرمز الخاصين بالـ EA، لذا فإن حد الخسارة اليومي 3 بالمئة يطبق فقط على صفقات الـ EA نفسه وليس على بقية الحساب. معيار OnTester المخصص يضرب صافي الربح في عامل الربح ويقسمه على واحد زائد سحب الرصيد المطلق، مع حد أدنى 30 صفقة لكبح التحسينات قليلة العينات. InpDryRun افتراضياً true، لذا يسجل الـ EA الأمر المفترض بكامل تفاصيله عند كل إشارة لكن لا يرسله؛ تحويل DryRun إلى false هو المفتاح الوحيد الذي يجب على المستخدم الحقيقي قلبه. أوامر الإرسال ملفوفة بمحاولتين لمعالجة الردود requote و price-changed و price-off و timeout، وعمليات الإغلاق والتعديل ملفوفة بثلاث محاولات بفواصل 200 أو 100 ميلي ثانية. يستخدم الـ EA انحرافاً ثابتاً 20 نقطة ويطلب من الوسيط تلقائياً نمط التعبئة المفضل للرمز.

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

على كل شمعة مغلقة يشغل الـ EA دالة DetectRegime لتصنيف السوق إلى إحدى سبع حالات بناءً على ADX 14 و ATR 14 على نافذة 60 شمعة، وعرض بولنجر 20 بانحراف 2.0، ولا يسمح بالدخول إلا في STRONG_TREND أو WEAK_TREND أو BREAKOUT أو EXPAND. بعد اجتياز فلتر النظام تستطلع CoreSignal خمسة مؤشرات على الشمعة المغلقة: تقاطع EMA 20 مع EMA 50 مع الميل، ومنعطف RSI 14 من التشبع، وتقاطع خط MACD 12-26-9 مع الإشارة، و ADX 14 فوق InpADXMin مع ميل صاعد، وتقاطع Stochastic 14-3-3 داخل مناطق 20 و 80، وكل واحد يصوّت بصوت. تُفتح صفقة عندما تبلغ إحدى الجهتين InpMinConfirmation (60 بالمئة) وتتفوق على الأخرى، ثم تتحقق ConfirmEntry من H1 EMA 50 وحد السبريد، وتضع NoTradeBlock بوابات الجلسة والشمعة الكبيرة والتهدئة وأرضية رأس المال والخسارة اليومية وقرب نهاية الأسبوع. تنقل ManageExits وقف الخسارة إلى التعادل عند +1R، وتنفذ إغلاقاً جزئياً 50 بالمئة عند +1R، وتطبق وقف متابعاً بمعامل 2.5 من ATR، وتغلق عند حد 60 شمعة، بينما تعيد OppositeAndRegimeExit تشغيل التوافق وفحص النظام وتغلق عند الإشارة المعاكسة أو تغير النظام. الـ EA بطبيعته أحادي المركز (MAX_OPEN_TRADES = 1) ويُسلَّم مع InpDryRun = true افتراضياً بحيث تُسجل الإشارات ولا تُرسل حتى يقلب المستخدم المفتاح.

إشارة الدخول

يدخل EX18019 بناءً على تصويت توافقي على الشمعة المغلقة: كل من تقاطع EMA 20 مع EMA 50 مع ميل صاعد، ومنعطف RSI 14 من التشبع البيعي أو الشرائي، وتقاطع خط MACD 12-26-9 مع خط الإشارة، و ADX 14 فوق عتبة InpADXMin مع ميل صاعد، وتقاطع Stochastic 14-3-3 داخل مناطق 20 و 80 يساهم بصوت واحد. لا تُفتح صفقة إلا عندما تصل إحدى الجهتين إلى عتبة InpMinConfirmation (60 بالمئة افتراضياً، أي 3 من 5 محكمين) وتتفوق على الجهة الأخرى. يجب أن يسمح نظام السوق السبعي بالدخول (STRONG_TREND أو WEAK_TREND أو BREAKOUT أو EXPAND)، وأن يتفق إغلاق الشمعة المغلقة مع H1 EMA 50 في ConfirmEntry، وأن يجتاز NoTradeBlock بوابات السبريد والجلسة والشمعة الكبيرة والتهدئة وأرضية رأس المال والخسارة اليومية ونهاية الأسبوع.

إشارة الخروج

يغلق EX18019 الصفقات بثلاثة محفزات في ManageExits: وقف زمني عند 60 شمعة مغلقة بصرف النظر عن السعر، وتحقيق جني الأرباح بنسبة 1:2 المحسوب من InpRRTP، وإغلاق جزئي 50 بالمئة عند +1R. بعد ManageExits، تعيد OppositeAndRegimeExit فحص التصويت المباشر والنظام: إذا انعكس التصويت إلى الاتجاه المعاكس تُغلق الصفقة بقاعدة الإشارة المعاكسة، وإذا انتقل النظام إلى CHOPPY أو RANGE أو COMPRESS تُغلق الصفقة بقاعدة تغير النظام.

وقف الخسارة

وقف الخسارة ثابت عند InpATRSLMult (2.0) أضعاف قيمة ATR 14 الحالية عند الدخول، مع أرضية صلبة تساوي مسافة مستوى الوقف لدى الوسيط. يُنقل الوقف إلى نقطة التعادل عند +1R، ثم يحل محله وقف متابع قائم على ATR بمعامل 2.5 يتحرك صعوداً مع كل تيك مواتٍ جديد.

جني الأرباح

جني الأرباح هو InpRRTP (2.0) أضعاف مسافة وقف الخسارة، بنسبة مخاطرة إلى عائد 1:2. يُنفذ أيضاً إغلاق جزئي 50 بالمئة عند +1R كتفريغ جزئي؛ والـ 50 بالمئة المتبقية تركب وقف المتابع القائم على ATR نحو الهدف الكامل أو إشارة الخروج المعاكسة.

الأنسب لـ

الأنسب لزوج USDJPY على الإطار M15 افتراضياً (يعمل أيضاً على M5 و M30) مع رصيد بداية أدنى 100 دولار. عتبة InpMinConfirmation البالغة 60 بالمئة تصفي إلى إعدادات اتفاق ثلاثة من خمسة محكمين، لذا يُنصح بوسيط ECN بسبريد منخفض لتفادي رفض حد 35 نقطة لإشارات صحيحة خلال تداخل جلستي لندن ونيويورك (6:00-21:00 بتوقيت السيرفر). يعكس تصنيف MEDIUM للمخاطر وجود 0.5 بالمئة مخاطرة لكل صفقة و نسبة 1:2 وحد خسارة يومية 3 بالمئة وسقف لصفقة واحدة، وهي عناصر تحافظ معاً على بقاء حساب 100 دولار ضمن مظلة سحب مستدامة لمستخدم يدوي أو لشركة prop-firm.

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

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

العائلة: TrendFollow الماجيك: 22218019 الإصدار: 2.00

الوصف: Six native indicators (EMA fast/slow, RSI, MACD, ADX, Stochastic) vote each closed bar. Final signal = direction with >= MinConfirmation% of votes. Layered with ADX+ATR-pct+BB-width REGIME gate, HTF-EMA CONFIRM, full NO-TRADE filter, CAPITAL- ALLOCATION CAP, ATR-based hard SL/TP sizing, BE + ATR trail + partial TP, opposite-signal exit, regime-change exit, news- window skip, spread filter, OnTester custom criterion. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • MAFast
  • MASlow
  • RSI
  • MACD
  • ADX
  • Stoch
  • ATR
  • BB
  • HTFEMA

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

  • NormPrice()
  • ClampVol()
  • MinStopsDist()
  • SpreadPoints()
  • InSession()
  • IsNewBar()
  • EffectiveCapital()
  • RealizedPnLToday()
  • RegimeAllowsEntry()
  • CoreSignal()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18019 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Six native indicators (EMA fast/slow, RSI, MACD, ADX, Stochastic) vote each closed bar. Final signal = direction with >= MinConfirmation% of votes. Layered with ADX+ATR-pct+BB-width REGIME gate, HTF-EMA CONFIRM, full NO-TRADE filter, CAPITAL- ALLOCATION CAP, ATR-based hard SL/TP sizing, BE + ATR trail + partial TP, opposite-signal exit, regime-change exit, news- window skip, spread filter, OnTester custom criterion. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: MAFast, MASlow, RSI, MACD, ADX, Stoch, ATR, BB, HTFEMA
    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
الرموز المُحسّنة:
USDJPY
الأطر الزمنية المُحسّنة:
M15M5M30

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

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

المعاملالافتراضيالوصف
InpMagic22218019Magic number
InpTradeComment"Psgrowth.com Expert_18019"Trade comment
InpFastMA20Fast EMA period (bars)
InpSlowMA50Slow EMA period (bars)
InpRSIPeriod14RSI period (bars)
InpMinConfirmation60.0Min % of votes required
InpADXMin20.0Min ADX for StrongTrend
InpATRPctLookback60ATR percentile lookback (bars)
InpHTF8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF trend time-frame
InpHTFEMA50HTF EMA period (bars)
InpMaxSpreadPts35.0Max spread (points)
InpDryRuntrueDry-run: no real sends
InpKillSwitchfalseKill switch (closes all on tick)
InpCapitalCapAmount0.0Capital cap amount ($ equity)
InpCapitalCapFloor50.0Capital cap floor ($)
InpRiskPercent0.5Risk per trade (% of eff. cap)
InpDailyLossLimit3.0Daily loss limit (% of eff. cap)
InpATRSLMult2.0SL = ATR x mult
InpRRTP2.0TP = R x mult (R = SL dist)
InpATRTrailMult2.5ATR trail distance (x ATR)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18019.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18019 USDJPY_Simple_MultiIndicator — 6-indicator consensus vote, 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>

CTrade          g_trade;
CPositionInfo   g_pos;
CSymbolInfo     g_sym;
CAccountInfo    g_acc;

//=================== INPUTS (20 total) =============================
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 long    InpMagic            = 22218019;      // Magic number
input string  InpTradeComment     = "Psgrowth.com Expert_18019"; // Trade comment

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;

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

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

الوسوم:ex18019trendfollowpipsgrowthfreemt5usdjpy

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

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

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

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

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

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

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

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