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

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

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

Pipsgrowth EX18014 TrendFollow — EMA(fast/slow) + RSI + MACD voting each closed bar; final direction = side with >= MinConfirmation% of votes. Augmented . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يعمل إكس 18014 على تصويت توافقي من خمسة مؤشرات عند كل إغلاق شمعة، ثم يقرر إما فتح صفقة شراء، أو بيع، أو البقاء خارج السوق. يُجرى التصويت داخل الدالة CoreSignal()، التي تستعلم خمس مقابض — المتوسط المتحرك السريع (InpFastMA، الافتراضي 20)، البطيء (InpSlowMA، الافتراضي 50)، مؤشر القوة النسبية (InpRSIPeriod، الافتراضي 14)، الماكد (12-26-9، مُعرَّف برمجياً)، مؤشر ADX (14، مُعرَّف برمجياً)، ومؤشر الاستوكاستك (14-3-3 بطيء، مُعرَّف برمجياً). يُساهم كل مؤشر بصوت صاعد أو هابط عند تحقق شرطه المحدد على الشمعة [1]. لا يفتح المستشار صفقة إلا عندما تصل حصة أحد الجانبين من إجمالي الأصوات إلى InpMinConfirmation (50% افتراضياً) وتتفوق على الجانب الآخر. عتبة 50% تعني أن أغلبية بسيطة 3 من 5 تكفي؛ وعند رفعها إلى 60-70% يحتاج المستشار إلى أربعة من خمسة ليتفقوا قبل الدخول. تُعاد الثقة كنسبة التصويت لذلك الجانب، بين 0 و100.

المصوتون الخمسة بالترتيب: (1) تصويت تقاطع المتوسطات — صاعد إذا كان المتوسط 20 فوق 50 والشمعة المغلقة فوق المتوسط 20، هابط بالعكس. (2) تصويت انعكاس RSI — صاعد عندما ينعكس المؤشر صعوداً من منطقة تشبع بيعي (rsi[1] < 30 و rsi[1] > rsi[2])، هابط عند انعكاس هبوطي من تشبع شرائي. (3) تقاطع الماكد — صاعد عند تقاطع صاعد جديد لخط الإشارة على الشمعة المغلقة، هابط عند تقاطع هابط. (4) تصويت ADX — صاعد فقط عندما يكون ADX فوق InpADXMin (20)، ومرتفعاً، والإغلاق فوق إغلاق الشمعة السابقة. (5) تصويت الاستوكاستك — صاعد عند تقاطع صاعد لـ %K مع %D بينما %K تحت 20، هابط عند تقاطع هابط فوق 80. الثلاثة الأولى من أطروحة 1223 الأصلية التي بُني عليها هذا المستشار؛ أُضيف ADX والاستوكاستك لتعزيز التوافق.

التصويت ليس صفقة. البوابة التالية هي مصنف النظام في DetectRegime()، الذي يمشي عبر سبع حالات باستخدام ADX، ومئين ATR على InpATRPctLookback (60 شمعة)، وعرض بولنجر باند. ADX ≥ 30 → REG_STRONG_TREND؛ ADXInpADXMin (20) → REG_WEAK_TREND؛ مئين ATR > 70% مع توسع 15%+ في عرض BBREG_EXPAND؛ مئين ATR < 25% → REG_COMPRESS؛ BB ضيق جداً (العرض < 0.0015) مع ADX صاعد → REG_BREAKOUT؛ وإلا REG_RANGE. REG_CHOPPY هو الاحتياط عند فشل أي نسخ منBuffers، وهو أيضاً محظور بقوة داخل NoTradeBlock(). يُسمح للقرار بالمرور في كل الأنظمة — إكس 18014 لا يقيّد الدخول بالنظام كما يفعل إكس 18011/12. يُستشار النظام مرة أخرى على جانب الخروج، حيث يؤدي الانتقال إلى CHOPPY أو RANGE أو COMPRESS إلى إغلاق قسري.

البوابة الثالثة هي NoTradeBlock()، التي تشغل سلسلة طويلة من الفيتوات: قفل القتل، الانفراق فوق InpMaxSpreadPts (35 نقطة، سقف ثابت — ليس نسبة من ATR، وليس متوسطاً متحركاً)، خارج الجلسة، نظام CHOPPY، كشف الشمعة الكبيرة (مدى الشمعة المغلقة > 3× ATR)، تهدئة بعد ثلاث خسائر متتالية، رأس مال فعلي تحت الحد الأدنى 50$، خسارة يومية محققة فوق InpDailyLossLimit (3% من سقف رأس المال الفعلي)، بلوغ MAX_OPEN_TRADES (1)، وقرب عطلة نهاية الأسبوع (الجمعة 21:00 فما بعد، السبت كله، الأحد كله). OnTradeTransaction() يعدّ الخسائر ويُفعّل تهدئة لـ 3 شموع — يبرد المستشار لثلاث PeriodSeconds من الإطار الحالي إذا أُغلقت ثلاث صفقات حمراء متتالية، وصفقة خضراء تُصفّر العداد.

إذا مر التصويت والبوابات، تتحقق ConfirmEntry() من توافق الاتجاه في الإطار الزمني الأعلى. تسحب EMA(50) للإطار HTF (الفترة تُضبط بـ InpHTF، الذي يستخدم كوداً رقمياً 1-7؛ 1=M1، 2=M5، 3=M15، 4=M30، 5=H1، 6=H4، 7=D1، مع الافتراضي 8 الذي يسقط إلى H1 الافتراضي) وترفض الشراء إذا كان إغلاق الشمعة تحت HTF EMA، أو البيع إذا كان فوقها. مرشح الانفراق وفحص الجلسة (06:00-21:00 بتوقيت الخادم، SESSION_START_HOUR 6 إلى SESSION_END_HOUR 21) مكررة هنا كحماية نهائية.

يستخدم التحجيم CalcLots()، الذي يحجم الصفقة بحيث يمثل مسافة وقف الخسارة (InpATRSLMult × ATR(14) = 2.0× ATR افتراضياً) InpRiskPercent (0.5%) من رأس المال الفعلي. رأس المال الفعلي هو أقل من InpCapitalCapAmount (0 = معطل، لا سقف) وحقوق الملكية الحالية، مع حد أدنى 50$. يوضع وقف الخسارة على بُعد 2× ATR(14) من سعر الدخول، وجني الأرباح بنسبة 1:2 R:R (4× ATR). فحص الهامش المسبق عبر OrderCalcMargin() يعمل قبل إرسال الأمر. إذا كان InpDryRun صحيحاً (الافتراضي)، يُسجل الإرسال في السجل لكن يُمنع؛ يجب على المستخدم إيقاف التشغيل الجاف صراحةً للانتقال للحساب الحقيقي. الأمر يمر عبر g_trade.Buy()/g_trade.Sell() مع إعادة محاولة واحدة بعد 150ms من النوم عند فشل TRADE_RETCODE_DONE.

إدارة المراكز تعمل كل تيick، ليس فقط عند إغلاق الشمعة. ManageExits() يمشي كل مركز بالسحر 22218014 ويطبق أربع طبقات إدارية بالترتيب: (1) عند +1R ربح، يُرفع وقف الخسارة إلى سعر الدخول (التعادل) عبر TryModify_EX18014() — اللقطة الأحادية مُقيّدة بـ USE_BREAK_EVEN، المُعرَّف برمجياً كصحيح. (2) عند +1R، يُفعّل إغلاق جزئي 50% (PARTIAL_TP_PCT 50.0، مقيّد بـ partVol >= g_vol_min). (3) يبدأ أثر ATR في InpATRTrailMult × ATR(14) = 2.5× ATR — وقف الخسارة الجديد يتبع bid للشراء، ask للبيع، ولا يتراجع أبداً. (4) عند MAX_BARS_IN_TRADE (60 شمعة) يُغلق المركز بغض النظر عن الربح/الخسارة — وقف زمني. بعد ManageExits()، تتحقق OppositeAndRegimeExit() من التصويت مرة ثانية: يُغلق المركز إذا كان اتجاه CoreSignal() الجديد يعاكسه، أو إذا انقلب النظام إلى CHOPPY أو RANGE أو COMPRESS. كل إعادة محاولة داخل TryClose_EX18014() و TryModify_EX18014() تمشي حتى 3 محاولات عند requote/timeout/price-off مع 200ms (إغلاق) أو 100ms (تعديل) من النوم.

يأتي إكس 18014 مع بضعة تحذيرات مهمة مدمجة في الكود. أولاً، صيغة التهدئة تستخدم PeriodSeconds(_Period) — على M15، ثلاث خسائر تقفل المستشار 45 دقيقة؛ على M5، 15 دقيقة فقط. ثانياً، MAX_OPEN_TRADES مُعرَّف برمجياً كـ 1، مما يعني أنه رغم وصف مسار الهرم في المصدر، فإن التقييد يعطله فعلياً. ثالثاً، معيار OnTester المخصص هو (net * pf) / (1 + abs(dd)) — الربح العالي وعامل الربح العالي كلاهما يساهمان، لكن السحب العميق يعاقب النتيجة بشدة، ويجب تجاوز عتبة 30 صفقة وإلا تكون النتيجة 0. رابعاً، g_trade.SetDeviationInPoints(20) هو تسامح الانزلاق — متواضع، مناسب لحساب ECN أو raw spread. أخيراً، يقرأ المستشار USDJPY افتراضياً لكنه قابل للنقل إلى أي رئيسي FX بسقف انفراق 35 نقطة، لأن المدخلات التي تحكم الجلسة وHTF مكشوفة و SL/TP نسبة إلى ATR وليست نقطاً ثابتة.

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

تغذي خمس مقابض مؤشر (EMA20، EMA50، RSI14، MACD 12-26-9، الاستوكاستك 14-3-3، إضافة إلى ADX14 للنظام) تصويتاً داخل CoreSignal() عند كل إغلاق شمعة — أغلبية بسيطة (50% افتراضياً) من الأصوات الصاعدة مقابل الهابطة تختار الاتجاه. يصنّف DetectRegime() النظام الحالي عبر سبع حالات باستخدام ADX، ومئين ATR على 60 شمعة، وعرض بولنجر. تشغل NoTradeBlock() قائمة فيتو طويلة (قفل القتل، انفراق > 35 نقطة، خارج الجلسة 06:00-21:00 بتوقيت الخادم، نظام CHOPPY، مدى شمعة كبير > 3× ATR، تهدئة بعد 3 خسائر، رأس مال تحت 50$، خسارة يومية > 3%، MAX_OPEN_TRADES=1، عطلة نهاية الأسبوع) قبل أن يحجم الأمر. يستخدم التحجيم 0.5% من رأس المال الفعلي (محدود بـ InpCapitalCapAmount، أرضية 50$) مقابل مسافة وقف 2× ATR(14)، مما يعطي 1:2 R:R. طبقات إدارة المراكز: تعادل عند +1R، جزئي 50% عند +1R، أثر 2.5× ATR إلى الأمام فقط، ووقف زمني 60 شمعة؛ تعيد OppositeAndRegimeExit() التحقق من التصويت والنظام كل دورة وتغلق قسرياً عند الانعكاس. معيار OnTester المخصص هو (net × PF) / (1 + |DD|) مع عتبة 30 صفقة.

إشارة الدخول

عند كل إغلاق شمعة، تجمع CoreSignal() أصوات خمسة مؤشرات (تقاطع EMA20/50، انعكاس RSI14، تقاطع الماكد 12-26-9، صعود ADX14 مع جانب الإغلاق، تقاطع الاستوكاستك 14-3-3 في المنطقة القصوى). يُفعَّل الشراء عندما تصل الحصة الصاعدة إلى InpMinConfirmation (50% افتراضياً) وتتجاوز الحصة الهابطة؛ البيع هو المرآة. تشترط ConfirmEntry() بعد ذلك موافقة EMA(50) للإطار الزمني الأعلى، وانفراق ≤ 35 نقطة، وساعة الخادم بين 06:00 و21:00.

إشارة الخروج

ثلاث آليات تتقاسم الإغلاق. ManageExits() يرفع وقف الخسارة إلى نقطة التعادل عند +1R، ويُفعّل إغلاق جزئي 50% عند +1R، ويُحرّك الوقف تتبعاً عند 2.5× ATR(14) إلى الأمام فقط. يُغلق الوقف الزمني الصفقة عند 60 شمعة (MAX_BARS_IN_TRADE). بعد حلقة المراكز، تعيد OppositeAndRegimeExit() التحقق من التصويت والنظام: يُغلق المركز قسرياً إذا أشارت CoreSignal() الآن للاتجاه المعاكس، أو إذا انقلب DetectRegime() إلى CHOPPY أو RANGE أو COMPRESS.

وقف الخسارة

وقف الخسارة الثابت على بُعد 2.0× ATR(14) من الدخول، مع أرضية 5 نقاط أو مستوى وقفات الوسيط، أيهما أكبر. بعد +1R، ترفع ManageExits() وقف الخسارة إلى سعر الدخول (نقطة التعادل). ثم يبدأ أثر ATR عند 2.5× ATR(14) ولا يحرك الوقف إلا إلى الأمام — أبداً إلى الخلف. كل تعديل يمر عبر TryModify_EX18014() مع حتى 3 محاولات عند requote/timeout.

جني الأرباح

جني الأرباح على بُعد 1:2 R:R من الدخول، أي 4.0× ATR(14) مع InpATRSLMult الافتراضي 2.0 وInpRRTP 2.0. جني الأرباح الكامل نادراً ما يُفعّل دون لمس — يُحرَّر 50% من المركز عند +1R كإغلاق جزئي، والباقي يتبع أثر ATR أو يُوقف عند جني الأرباح الأصلي إذا توقف السعر في منتصف القناة.

الأنسب لـ

الحد الأدنى الموصى به للرصيد: 100$. زوج USDJPY على M15 الافتراضي، مع M5 وM30 كنطاق عمل وفقاً لرأس المصدر. سقف الانفراق 35 نقطة و g_trade.SetDeviationInPoints(20) معايران لحساب ECN أو raw spread بتنفيذ ضيق. أفضل الجلسات هي نافذة 06:00-21:00 بتوقيت الخادم — تشمل تداخل لندن ونيويورك لمعظم الوسطاء، وتصويت المؤشرات الخمسة يستفيد أفضل من سيولة التداخل بدلاً من الافتتاح الآسيوي. تصنيف MEDIUM للمخاطر صادق: المخاطرة 0.5% لكل صفقة، سقف خسارة يومية 3%، وتهدئة 3 خسائر تحمي من التتابع، لكن 1:2 R:R وأثر ATR يفترضان أن السعر يستطيع الجري بعد تفعيل مُحفّز الدخول.

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

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

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

الوصف: EMA(fast/slow) + RSI + MACD voting each closed bar; final direction = side with >= MinConfirmation% of votes. Augmented with ADX + Stochastic for a 5-indicator confluence panel. 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 + partial-TP + ATR trail + opposite-signal + regime-change + time-based exits, 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()
  • CountMyPositions()
  • CoreSignal()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18014 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// EMA(fast/slow) + RSI + MACD voting each closed bar; final direction = side with >= MinConfirmation% of votes. Augmented with ADX + Stochastic for a 5-indicator confluence panel. 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 + partial-TP + ATR trail + opposite-signal + regime-change + time-based exits, 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

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

المعاملالافتراضيالوصف
InpMagic22218014Magic number
InpTradeComment"Psgrowth.com Expert_18014"Trade comment
InpFastMA20Fast EMA period (bars)
InpSlowMA50Slow EMA period (bars)
InpRSIPeriod14RSI period (bars)
InpMinConfirmation50.0Min % of votes required
InpADXMin20.0Min ADX for WeakTrend
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_EX18014.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18014 USDJPY_Efficient_MultiIndicator — 5-indicator confluence 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            = 22218014;   // Magic number
input string  InpTradeComment     = "Psgrowth.com Expert_18014"; // Trade comment

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

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

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

الوسوم:ex18014trendfollowpipsgrowthfreemt5usdjpy

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

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

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

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

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

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

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

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