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

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

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

Pipsgrowth EX18059 TrendFollow — Inline dual Hull-MA (fast=34/slow=89) slope-color consensus is the core signal. Entries are gated by an ADX/ATR- percent. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكسبيرت Hull2EA_Simple الإصدار 2.00 يبني كل إشارة دخول من متوسطَي هول متحركين محسوبين في الكود مباشرة من بدائيات المتوسط المرجح خطياً LWMA، دون أي استدعاء لـ iCustom. هول السريع بدورة 34 وهول البطيء بدورة 89، وكلاهما يُحسب على الشموع المغلقة بالمعادلة LWMA(2*LWMA(period/2) - LWMA(period), جذر(period)). في كل شمعة جديدة مغلقة تستدعي OnTick دالة HullConsensus() التي تقارن أحدث قيمة هول بسابقتها. الميلان فوق 2point يُلوّن الشمعة بالأخضر، والميلان تحت -2point يُلوّنها بالوردي، وما بينهما يُعتبر مسطحاً. ثم تأخذ الدالة تصويتاً: كلاهما أخضر = شراء بثقة 90، كلاهما وردي = بيع بثقة 90، سريع أخضر وبطيء مسطح = شراء بثقة 55، سريع وردي وبطيء مسطح = بيع بثقة 55، بطيء أخضر وسريع مسطح = شراء بثقة 45، بطيء وردي وسريع وردي = بيع بثقة 45. أي نتيجة أخرى تُرجع صفراً وتُسجّل OnTick تخطي NO_SIGNAL.

قبل فتح أي صفقة، يجب أن تجتاز الإشارة أربع مراحل في ConfirmEntry(). حركة السعر على الإطار الزمني للتداول يجب أن تتوافق مع المتوسط الأسي 50 على الإطار الأعلى: صفقات الشراء لا تُفتح إلا إذا كان سعر Ask الفوري فوق H1 EMA50، والبيع لا يُفتح إلا إذا كان سعر Bid الفوري تحته. مؤشر RSI(14) على الإطار الزمني للتداول يجب أن يكون تحت 70 للشراء وفوق 30 للبيع، مما يقتل الإشارات عند نضوب الزخم. إغلاق الشمعة يجب أن يكون على الجانب الصحيح من هول البطيء (فوقه للشراء، تحته للبيع) لتتوافق الصفقة مع الميلان المهيمن. وأخيراً قيمة InpTpRrMult يجب ألا تقل عن 1.0، بوابة أمان تمنع الإدخال 0.0 من إنشاء جني أرباح عند سعر الدخول.

مصنف النظام في ClassifyRegime() يعمل عند كل تيك ويكتب عدداً صحيحاً واحداً في g_regime. يسحب ADX(14) وATR(14) وBollinger Bands(20, 2.0) من الإطار الزمني للرسم البياني، ويحسب نسبة ATR كـ ATR الحالي مقسوماً على متوسط 100 شمعة، وعرض بولينجر كـ (العلوي - السفلي) / الأوسط. سبع حالات: StrongTrend عندما يكون ADX عند 32 أو أعلى (InpAdxTrendMin + 10)، WeakTrend عندما يكون ADX عند 22 أو أعلى، Breakout عندما يكون ADX تحت 22 لكن نسبة ATR عند 1.6 أو أعلى، Expand عندما تكون نسبة ATR عند 1.25 أو أعلى، Compress عندما تكون نسبة ATR عند 0.75 أو أقل وعرض بولينجر تحت 0.005، Choppy عندما تكون نسبة ATR عند 0.6 أو أقل، وRange كحالة افتراضية. بوابة NoTradeBlocked() تحظر Choppy وCompress تماماً؛ الحالات الخمس الأخرى حرة في التداول.

خارج فلتر النظام، NoTradeBlocked() يمر عبر كومة من الحراسات على مستوى الحساب. InpKillSwitch يوقف كل شيء. السبريد الفوري يجب ألا يتجاوز 30 نقطة (InpMaxSpreadPts). ساعة الخادم يجب أن تكون بين 8 و19 (من InpSessionStart إلى 20 حصرياً). رأس المال الفعال يجب ألا يقل عن 50.0 دولار وإلا ينكمش حجم اللوت إلى الحد الأدنى. الربح أو الخسارة المحققة لهذا اليوم، بهذا السحر وهذا الرمز فقط، يجب أن تكون فوق حد الخسارة اليومية 3% من رأس المال الفعال. مؤقت التهدئة g_cooldownUntil لمدة 4 ساعات يجب أن يكون في الماضي. عدد الصفقات المفتوحة بهذا السحر والرمز يجب أن يكون تحت InpMaxConcurrent = 3. الجمعة من الساعة 22 بتوقيت الخادم، وكل السبت، وكل الأحد محظورة. يُتحقق من إذن التداول في Terminal ورمز التداول في SymbolInfoInteger في النهاية. النتيجة هي ما تصفه ترويسة الإكسبيرت بسلسلة التشغيل: النظام والإشارة والدخول والتأكيد ومنع التداول وحد رأس المال والمخاطرة والتحجيم والإدارة والخروج والتوسع وOnTester.

حد رأس المال إلزامي وغير اختياري. ComputeEffectiveCapital() يُرجع MathMin(InpCapitalCapAmount, account equity)؛ لا يوجد مدخل لتعطيله. الحد الافتراضي 500 دولار، لذلك في حساب بـ 2 000 دولار يتداول الإكسبيرت بـ 500 دولار من رأس المال الفعال بغض النظر عن حجم حساب الأسهم. التحجيم يمر عبر CalcLot(): مخاطرة المال هي 0.5% من رأس المال الفعال (InpRiskPercent)، والخسارة لكل لوت تُحسب من مسافة وقف الخسارة بالتيكات ضرب قيمة التيك، واللوت الناتج يُقرّب لأقرب خطوة حجم في البروكر ويُقص إلى الحد الأدنى والأقصى للرمز. OrderCalcMargin يعمل قبل إرسال الطلب، وتُرفض الصفقة إذا كان الهامش الحر تحت المطلوب. إذا فشل الأمر الأصلي بـ requote أو price-off أو timeout، يعيد الإكسبيرت المحاولة مرة واحدة بسعر السوق قبل تسجيل ORDER_RETRY_FAIL.

InpDryRun افتراضياً true. عند تشغيل وضع المحاكاة الجافة، كل أمر وتعديل وإغلاق جزئي يُسجّل كسطر [DRYRUN] في السجل بدلاً من إرساله للبروكر. الهدف السماح للمستخدم بتشغيل باك تيست بصري ومعاينة ما كان سيفعله الإكسبيرت قبل تشغيل التداول الحقيقي. للانطلاق الحقيقي، اضبط InpDryRun = false وتأكد من InpKillSwitch = false.

حلقة إدارة الصفقات في ManageAllPositions() تعمل قبل تقييم الإدخالات الجديدة عند كل تيك. لكل صفقة على هذا الرمز بهذا السحر تسحب سعر الفتح ووقف الخسارة الحالي وجني الأرباح الحالي والحجم الحالي ووقت الفتح. تحسب المضاعف R الحالي كـ (السعر - الفتح) مقسوماً على مسافة وقف الخسارة الأولية. عندما تصل الصفقة إلى 1R أو تتجاوزه يُحرَّك وقف الخسارة إلى سعر الفتح زائد أكبر من stops level و2 نقطة، خطوة التعادل الكلاسيكية، تُنفذ مرة واحدة. عند نفس عتبة 1R يُغلق نصف الصفقة عبر TryClosePartial_EX18059 التي تقوم بثلاث محاولات متباعدة 200 ميلي ثانية ولا تنجح إلا على TRADE_RETCODE_DONE أو DONE_PARTIAL. بعد ذلك يُحافظ على وقف خسارة متابع للأمام فقط عند السعر ناقص 2.5*ATR(14) للشراء والمرآة للبيع، لكن المتابع لا يرخي وقف الخسارة أبداً. إذا بقيت الصفقة مفتوحة لـ 200 شمعة تُغلق قسرياً بوسم TIME_EXIT. إذا أعادت HullConsensus() الاتجاه المعاكس بثقة لا تقل عن 55 تُغلق الصفقة بوسم OPPOSITE_SIGNAL. إذا انقلب النظام إلى Choppy أو Compress والصفقة تحت 1R- أو فوق 2R+ تُغلق بوسم REGIME_CHANGE.

OnTester هو المعادلة المعتادة (صافي * عامل الربح) / (1 + سحب الرصيد). إذا كان الباك تيست بأقل من 30 صفقة، الدالة ترجع 0 ليتجاهلها المحسّن. إذا كان عامل الربح غير موجب يُحدّ أدنى عند 0.01 وإذا كان السحب غير موجب يُحدّ أدنى عند 1.0 لتجنب القسمة على صفر. السحر 22218059 والتعليق "Psgrowth.com Expert_18059" المثبّت وانحراف 30 نقطة واستدعاء SetTypeFillingBySymbol كلها تُضبط في OnInit ليلائم الإكسبيرت أي بروكر يدعم واجهة MQL5 القياسية.

ميزانية 22 مدخلاً مثبّتة في الترويسة. إذا جاءت إشارة شراء وشراء مفتوح بالفعل، يُسجّل الإكسبيرت SAME_DIR_NO_SCALING ويتخطى. إذا جاءت إشارة شراء وبيع مفتوح، يُسجّل MIXED_DIR ويتخطى. لا توجد هرمة على الرابحين ولا متوسطات مارتينجال. حد رأس المال إلزامي وحد الخسارة اليومي إلزامي، لذا المدخلات الوحيدة التي يحتاج المستخدم للتفكير بها هي دورتا هول ومضاعف وقف ATR ومضاعف جني الأرباح والسحر وقاتل الإيقاف. تدفق الأوامر بسيط عمداً: صفقة واحدة في اتجاه واحد، محجمة حسب المخاطرة، محدودة بالحساب، مصفّاة بالنظام والتأكيد، ومُدارة بالتعادل ونصف الإغلاق ووقف المتابع حتى يقول لها الاتجاه أو النظام أو شريط الوقت أن تتخلى.

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

يبدأ كل تيك بتحديث سبعة مؤشرات (اثنان من placeholders لـ LWMA، ADX، ATR، ATR على H1، بولينجر، RSI، H1 EMA50) وإعادة اشتقاق سلسلتي هول من مصفوفة إغلاق الشمعة المغلقة. ClassifyRegime تكتب حالة واحدة من ADX ونسبة ATR وعرض بولينجر، وNoTradeBlocked تشغّل بوابة من 10 شروط تشمل السبريد وساعة الخادم وأرضية رأس المال والخسارة اليومية ومؤقت التهدئة والحد الأقصى للصفقات المتزامنة وحظر عطلة نهاية الأسبوع وأعلام تداول Terminal/Symbol. HullConsensus يحوّل ميلَي هول إلى تصويت بثقة 90/55/45، ConfirmEntry يفحص H1 EMA وحدود RSI وموقع هول البطيء، وEvaluateNewEntry يحجّم الصفقة بـ 0.5% من رأس المال الفعال ويُجري OrderCalcMargin ويُطلق Buy/Sell أو يُسجّل سطر [DRYRUN] إذا كان InpDryRun مُفعّلاً. ManageAllPositions يعمل في نفس OnTick قبل تقييم الإدخالات الجديدة ويُحرّك وقف الخسارة للتعادل عند 1R ويُغلق النصف عند 1R ويُتابع بـ 2.5*ATR ويُغلق قسرياً عند 200 شمعة ويتفاعل مع الإشارات المعاكسة وانقلابات النظام. OnTester هي درجة (صافي * عامل الربح) / (1 + سحب الرصيد) بأرضية 30 صفقة.

إشارة الدخول

يأخذ Hull2EA_Simple إشاراته من تصويت ميلان-لون متوسط هول مزدوج. هول السريع(34) وهول البطيء(89) يُحسبان في الكود كـ LWMA(2*LWMA(period/2) - LWMA(period)، جذر(period))؛ شراء يُفتح عندما يشير كلا الميلين للأعلى، بيع عندما يشير كلاهما للأسفل، وحالة الميل المتعاكس تُخفّض إلى ثقة أقل. ConfirmEntry يطلب أن يكون السعر الفوري على الجانب الصحيح من H1 EMA(50)، وأن يكون RSI(14) تحت 70 (للشراء) أو فوق 30 (للبيع)، وأن يكون الإغلاق فوق (شراء) أو تحت (بيع) هول البطيء على إطار التداول.

إشارة الخروج

تُغلق الصفقات قسرياً بعد 200 شمعة بوسم TIME_EXIT، واستدعاء HullConsensus() بالاتجاه المعاكس بثقة لا تقل عن 55 يغلق الصفقة بوسم OPPOSITE_SIGNAL. انتقال النظام إلى Choppy أو Compress يُطلق إغلاقاً عندما تكون الصفقة تحت 1R- أو فوق 2R+. يمكن إيقاف InpExitOnOpposite، لكن وقف الوقت والخروج عند تغيير النظام مدمجان مباشرة في حلقة الإدارة.

وقف الخسارة

يُضبط وقف الخسارة على 2.0ATR(14) (InpAtrSlMult) عند الدخول، بحد أدنى هو أكبر من stops level للرمز و5 نقاط. ما إن تبلغ الصفقة 1R أو تتجاوزه يُحرَّك وقف الخسارة إلى سعر الفتح زائد أكبر من stops level و2 نقطة، ثم يتولى المتابع 2.5ATR للأمام.

جني الأرباح

يُضبط جني الأرباح على 3.0*مسافة وقف الخسارة (InpTpRrMult=3.0)، أي 1:3 R:R مثبّت عند الدخول. عند عتبة 1R يُغلق نصف الصفقة عبر TryClosePartial_EX18059، لذا يهم جني الأرباح للنصف المتبقي فقط.

الأنسب لـ

Hull2EA_Simple مبني لـ XAUUSD على إطار M5 (يعمل أيضاً على H1) ويحتاج حد أدنى للإيداع 100 دولار. حد رأس المال الإلزامي 500 دولار يعني أنه سيتداول كما لو كان لديه 500 دولار من رأس المال الفعال حتى على حساب أكبر بكثير، لذا رصيد 1 000 دولار+ على ECN بسبريد منخفض يمنح الإكسبيرت مساحة للتعبير عن الاستراتيجية دون تقييد الحد. نافذة الجلسة 8-20 بتوقيت الخادم تتماشى مع لندن والنصف الأول من نيويورك، وحد 30 نقطة للسبريد يستبعد البروكرات التي توسع XAUUSD بقوة خلال التدوير الآسيوي.

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

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

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

الوصف: Inline dual Hull-MA (fast=34/slow=89) slope-color consensus is the core signal. Entries are gated by an ADX/ATR- percentile/Bollinger-width regime layer, an HTF-EMA agreement confirm, RSI extreme + spread + session filters, capital- allocation cap, daily-loss/cooldown no-trade guards, ATR-based SL, break-even + partial TP + ATR trail, opposite-signal / regime-change / time-based exits. Scaling default OFF. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • ReleaseAll()
  • HullValueAt()
  • LWMA()
  • CreateHullHandles()
  • DayStart()
  • ComputeEffectiveCapital()
  • TodayRealizedPnL()
  • NormPrice()
  • ClampVolume()
  • StopsLevelPrice()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18059 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Inline dual Hull-MA (fast=34/slow=89) slope-color consensus is the core signal. Entries are gated by an ADX/ATR- percentile/Bollinger-width regime layer, an HTF-EMA agreement confirm, RSI extreme + spread + session filters, capital- allocation cap, daily-loss/cooldown no-trade guards, ATR-based SL, break-even + partial TP + ATR trail, opposite-signal / regime-change / time-based exits. Scaling 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

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

المعاملالافتراضيالوصف
InpHullFastPeriod34Fast Hull period (bars)
InpHullSlowPeriod89Slow Hull period (bars)
InpHullHTF8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF for slow Hull + EMA agreement
InpAdxPeriod14ADX period (bars)
InpAdxTrendMin22.0ADX min for trend regime (0..100)
InpAtrPeriod14ATR period (bars)
InpBandsPeriod20Bollinger period (bars); dev fixed 2.0
InpHtfEmaPeriod50HTF EMA period (bars)
InpRsiPeriod14RSI period (bars); OB/OS fixed 70/30
InpMaxSpreadPts30.0Max spread (points)
InpSessionStart8Session start hour (server 0..23); end fixed 20
InpCapitalCapAmount500.0Capital cap ($, real-money equity)
InpRiskPercent0.5Risk per trade (% effective capital)
InpDailyLossLimitPct3.0Daily loss limit (% effective capital)
InpAtrSlMult2.0SL distance = mult * ATR
InpTpRrMult3.0TP distance = mult * SL distance
InpMaxConcurrent3Max concurrent positions (count)
InpTrailAtrMult2.5ATR trailing multiplier
InpExitOnOppositetrueExit on opposite Hull consensus
InpMagic22218059Magic number
InpTradeComment"Psgrowth.com Expert_18059"Trade comment
InpDryRuntrueDry-run mode (no real orders)
InpKillSwitchfalseKill switch (halt all trading)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18059.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18059 Hull2EA_Simple — Dual Hull-MA slope trend-follow with regime gate, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>

//================ INPUTS (22 total, 5 groups) ================
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_InpHullHTF = PERIOD_H1;
input group "=== Hull Signal ==="
input int              InpHullFastPeriod = 34;      // Fast Hull period (bars)
input int              InpHullSlowPeriod = 89;      // Slow Hull period (bars)
input int InpHullHTF = 8; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF for slow Hull + EMA agreement

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;
   }

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

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

الوسوم:ex18059trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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