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

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

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

Pipsgrowth EX18058 TrendFollow — Inline dual Hull-MA (fast/slow) slope-color consensus + HTF Hull-MA bias + ADX/ATR-pct/BB-width regime gate + capital-al. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكس 18058 هو مستشار خبير يعمل على أساس متوسطات هول المتحركة، يبني كل قرار دخول عبر محرك هول-ماف مخصص داخلي مع مصنّف حالة من سبع مستويات. لا يتم تحميل متوسط هول كمؤشر خارجي — الكود يتعامل مع مصفوفات الإغلاق الخام عبر بدائية LWMA مكتوبة يدوياً، ويجمع بين متوسطين مرجحين (ن/2 و ن) لبناء متوسط هول سريع بفترة 20 ومتوسط هول بطيء بفترة 55، ثم يقارن كل منهما بقيمته السابقة لاستخراج لون الميل (0=صاعد، 1=هابط، 2=مسطح). يتطلب التوافق أن يطبع كلا خطين هول نفس لون الميل قبل أي دخول شراء أو بيع؛ عند تفعيل InpRequireBothHulls (الافتراضي) لن يقبل المستشار إشارات الخط السريع وحده حتى لو كان البطيء عرضياً، مما يقضي على فئة من الانعكاسات الكاذبة في منتصف الاتجاه. تُحسب الإشارة على الشمعة المغلقة (InpSignalShift=1) فلا يحدث إعادة رسم على الشمعة قيد التشكل.

مصنّف الحالات في UpdateRegime() يقود بوابة عدم التداول. يدمج ثلاث مقاييس مستقلة: قوة ADX(14)، ومئين ATR(14) محسوب على 50 شمعة (يستخدم السقف عند المئين 75 لتمييز التمدد والأرضية عند 25 لتمييز الهدوء)، ومئين عرض بولنجر باندز(20، 2.0). الحالات الناتجة هي: اتجاه قوي (ADX ≥ 25 ومئين ATR ≥ 75)، اتجاه ضعيف (ADX ≥ 18)، انضغاط (مئين عرض BB ≤ 20)، تمدد (مئين عرض BB ≥ 80)، اختراق (مئين ATR ≥ 75 مع ADX تحت 25)، نطاق (ADX < 18 مع عرض BB بين المئين 40 و70)، ومتذبذب كحالة افتراضية. المتذبذب هو الحالة الوحيدة التي تحظر الدخول تماماً؛ كل الحالات الأخرى تبقى مفتوحة للتأكيد، وهذا ما يمنح المستشار وضعه المكوّن من 12 طبقة.

يمر التأكيد عبر ثلاث مرشحات قبل إطلاق sizing. ConfirmADXStrong() يقرأ ADX للشمعة المغلقة ويشترط أن تكون القيمة عند 18 أو أعلى — نفس العتبة التي تعرّف الاتجاه الضعيف — لذا يقبل المحرك الدخول في اتجاه ضعيف بشرط توافق بقية المنظومة. ConfirmMinRR() يرفض أي إعداد لا يكون فيه مضاعف TP أكبر من مضاعف SL، وهي بوابة عقلانية على نسبة المدخلات. إذا تُرك InpUseHTFBias على القيمة الافتراضية true، فإن HTFHullBias() يحسب متوسط هول مستقل بفترة 35 على الإطار الزمني الأكبر (g_InpHTF — مع InpHTF=8 يسقط في فرع الافتراضي ويستقر على H1) ويجب أن يطابق اتجاه الدخول لون ميل الإطار الأكبر؛ القيمة المرجعة 0 (مسطح) تُعتبر متساهلة، لذا يُشترط اتجاه الإطار الأكبر فقط عندما يكون الانحياز قاطعاً.

يعتمد sizing والمخاطر على بركة رأس مال واحدة. ComputeEffectiveCapital() يعيد حقوق حساب الحساب، مع سقف اختياري عبر InpCapitalCapAmount (الافتراضي 0.0 = السقف معطل). إذا انخفض رأس المال الفعال تحت InpCapitalCapFloor (الافتراضي 50.0)، فإن IsCapitalBelowFloor() يرفض staging دخول جديد وتطبع لوحة التحكم رسالة حجز. CalcLots() يحوّل جزء مخاطرة بنسبة 0.5% إلى عدد لوتات نسبة لمسافة الوقف، مع الرجوع إلى InpFixedLots=0.10 عندما لا يستطيع نموذج المخاطرة إنتاج خسارة موجبة لكل لوت. MarginOK() يفحص مسبقاً كل مرشح عبر OrderCalcMargin قبل أن يصل أي أمر إلى الشبكة. مراقب الأرباح والخسائر اليومية المحققة (InpDailyLossLimitPercent=3.0% من رأس المال الفعال) يحجب دخولاً جديداً بمجرد أن تصل الخسائر إلى تلك العتبة.

وضع الوقف يعتمد على ATR، لا على عدد نقاط ثابت. كل صفقة جديدة تحصل على SL عند 1.8× ATR(14) الحالي (InpATR_SL_Mult) و TP عند 3.2× ATR (InpATR_TP_Mult)، أي ما يعادل تقريباً نسبة مخاطرة إلى عائد 1:1.78 — قفزة محسوبة عن إعداد 1:1. دالة EnforceStopsDistance() تدفع كلا السعرين داخل مستوى stops الخاص بالوسيط مضافاً إليه نقطة واحدة حتى لا يُرفض الأمر لكونه قريباً جداً من السوق. ManageOpenPositions() تعمل على كل tick وتبحث عن حدثين متميزين: ترس وقف الخسارة إلى نقطة التعادل (InpATR_BE_Mult=1.0، فعندما يصل الربح إلى 1× ATR يُنقل الوقف إلى سعر الافتتاح+1 نقطة للشراء، سعر الافتتاح-1 نقطة للبيع)، و trailing للأمام فقط عند 1.5× ATR ينشط فقط عندما يصل الربح إلى 2× مسافة trailing (لذا يبدأ trailing عادة عند 3× ATR من الربح). يتم تنفيذ التريلينج و BE عبر TryModify_EX18058 التي تعيد المحاولة حتى ثلاث مرات عند requotes و timeouts وتغيرات الأسعار بـ backoff قدره 100 مللي ثانية.

تتفرع المخارج على ثلاثة أحداث مستقلة. CheckRegimeExit() تغلق دفتر المراكز بالكامل عندما تتحول الحالة إلى متذبذب — خروج عدواني متعمد يعامل فقدان البنية الاتجاهية كإشارة إيقاف بصرف النظر عن الأرباح غير المحققة. إذا كان InpCloseOnReverse صحيحاً (افتراضي)، فإن إشارة الشمعة المغلقة الجديدة التي تشير إلى عكس الاتجاه المحتفظ به تستدعي CloseAllMyPositions() عبر TryClose_EX18058 التي تعيد المحاولة ثلاث مرات عند الأخطاء العابرة. SessionOK() يرفض الدخول الجديد يوم الجمعة بعد الساعة 21:00 بتوقيت الخادم وفي عطلات نهاية الأسبوع، لذا تبقى الصفقات المفتوحة عرضة لتوسع السبريد المعتاد مساء الجمعة لكن لن يتم staging أوامر جديدة عبر تلك النافذة. SpreadOK() يضبط السبريد الأقصى المسموح به على 0.45× ATR الحالي — مرشح ذاتي المعايرة يكون أكثر تساهلاً في جلسات التقلب العالي وأضيق في الشريط الهادئ.

البناء التدريجي (Pyramiding) مُوصّل لكن معطل افتراضياً. تفعيل InpEnablePyramid=true يفتح CanPyramid() التي تسمح بما يصل إلى InpPyramidMax=3 أرجل في نفس الاتجاه بشرط أن يكون كل رجل قائم في ربح، وأن يكون كل رجل قائم قد تجاوز وقف التعادل، وأن يكون السعر الحالي على بعد 0.5× ATR (PYRAMID_MIN_ATR) على الأقل من افتتاح أقدم رجل. الشرط الثالث يمنع المستشار من إعادة التحميل على نفس الشمعة — يجب أن يرى تقدماً فعلياً قبل إضافة تعرض. مع ترك البناء التدريجي معطلاً، يظل InpMaxConcurrent=3 مطبقاً كسقف ثابت لأي توليفة من مراكز الشراء والبيع.

هناك اختيارات هندسية مميزة تستحق الإشارة. أولاً، الإطار الزمني الأكبر H1 مثبّت عبر فرع الافتراضي في MapTimeframeInt() لأن InpHTF=8 خارج نطاق التعداد 1..7؛ هذا ليس خللاً لكنه يعني أن تأكيد الإطار الأكبر هو H1 فعلياً ما لم يختر المستخدم إطاراً آخر يدوياً. ثانياً، تعليق الأمر ثابت عند "Psgrowth.com Expert_18058" — يرى الوسطاء وشركات prop firms التي توجّه عبر التعليق هذا النص في كل تنفيذ. ثالثاً، InpDryRun افتراضياً true، لذا يشحن المستشار في وضع السجلات فقط؛ التداول الحقيقي يتطلب من المستخدم إيقاف هذا الإدخال. رابعاً، لا يوجد سقف خسارة أسبوعي، ولا إيقاف زمني للمراكز المفتوحة، ولا إغلاق جزئي، ولا cooldown بين الخسائر — شبكة الأمان تتركز في حد الخسارة اليومية، وخروج حالة المتذبذب، وإغلاق الإشارة المعاكسة، وهيكل trailing-stop بدلاً من tripwires زمنية أو قائمة على سلسلة الخسائر. هذه الخيارات مجتمعة تجعل EX18058 راكب اتجاه بإحكام: ينتظر توافقاً قوياً من لونَي ميل، ويؤكد عبر HTF و ADX، ويحجم عند نسبة 1:1.78، ويخرج عند أول علامة على فشل بنيوي.

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

يقرأ EX18058 الشمعة المغلقة، ويمرر سلسلة الإغلاق الخام عبر بدائية LWMA مكتوبة يدوياً لبناء متوسط هول سريع 20 وبطيء 55 داخلياً، ولا يُعدّ صفقة إلا عندما يتفق لونَا الميل. تمزج UpdateRegime() بين ADX(14) ومئين ATR على 50 شمعة ومئين عرض بولنجر باندز في مصنّف من 7 حالات (STRONG_TREND / WEAK_TREND / COMPRESS / EXPAND / BREAKOUT / RANGE / CHOPPY)، مع CHOPPY الحالة الوحيدة التي تحجب الدخول. التأكيد ثلاث مرشحات مستقلة: ConfirmADXStrong() عند ADX ≥ 18، و ConfirmMinRR() عند مضاعف TP أكبر من مضاعف SL، و HTFHullBias() تقرأ هول بفترة 35 على H1. sizing هو 0.5% من سقف رأس المال الفعال (مع حاجز أرضي عند 50 دولار)، ولا يُرسل الأمر إلا بعد فحص OrderCalcMargin مسبق ناجح. الوقف عند 1.8× ATR، والهدف عند 3.2× ATR، وتريجر التعادل عند 1× ATR، و trailing للأمام فقط عند 1.5× ATR؛ انقلاب الحالة إلى متذبذب، أو إشارة معاكسة، أو حد خسارة يومية 3% يصفّر دفتر المراكز. InpDryRun افتراضي true فيُشحن المستشار بوضع السجلات فقط، و TryClose/TryClosePartial/TryModify تعيد المحاولة حتى ثلاث مرات عند requote و timeout و price-off و price-changed بـ backoff قدره 200 مللي ثانية (إغلاق) أو 100 مللي ثانية (تعديل).

إشارة الدخول

دخول شراء عندما تُرجع HullConsensus() قيمة +1: يجب أن يطبع كل من خط هول السريع بفترة 20 وخط هول البطيء بفترة 55 نفس لون الميل الصاعد على الشمعة المغلقة. ثم تؤكد HTFHullBias() الاتجاه على هول H1(35) عند تفعيل InpUseHTFBias، وتطلب ConfirmADXStrong() أن يكون ADX(14) أكبر من أو يساوي 18. دخول البيع يعكس نفس المنظومة بألوان ميل هابطة.

إشارة الخروج

تتفرع المخارج على ثلاثة أحداث: CheckRegimeExit() يغلق دفتر المراكز بالكامل عندما ينقلب مصنّف الحالة إلى متذبذب؛ وتوافق مغلق جديد يشير إلى عكس الاتجاه المحتفظ به يستدعي CloseAllMyPositions() عبر TryClose_EX18058؛ ووقف trailing عند 1.5× ATR، بمجرد أن يتجاوز نقطة التعادل، هو الخروج البطيء الذي يسمح للصفقات الرابحة بالاستمرار.

وقف الخسارة

وقف الخسارة لكل صفقة 1.8× ATR(14) على الشمعة المغلقة، مع EnforceStopsDistance() تدفعه إلى ما بعد مستوى stops الخاص بالوسيط مضافاً إليه نقطة واحدة. ترس إلى سعر الافتتاح+1 نقطة ينطلق عندما يصل الربح إلى 1.0× ATR (InpATR_BE_Mult)، ويتولى 1.5× ATR trailing للأمام فقط بمجرد أن يتجاوز الربح 2× مسافة trailing.

جني الأرباح

جني الأرباح يُضبط عند 3.2× ATR(14) (InpATR_TP_Mult) عند الدخول، مما يعطي نسبة مخاطرة إلى عائد تقارب 1:1.78 مقابل وقف 1.8× ATR. ترفض ConfirmMinRR() أي إعداد لا يكون فيه مضاعف TP أكبر من مضاعف SL، فتضمن نسبة لا تقل عن 1:1.

الأنسب لـ

يُنشر بشكل أفضل على XAUUSD M5 مع مخطط انحياز H1، على وسيط ECN سبريد منخفض قادر على تقديم تنفيذ ثابت بأقل من ثانية (بوابة السبريد هي 0.45× ATR، فكلما كان ATR أوسع زادت هامشية المستشار أمام tick دخول صاخب). الحد الأدنى للرصيد الموصى به 100 دولار بمخاطرة 0.5% الافتراضية، وأرضية سقف رأس المال عند 50 دولار تحمي الحساب الصغير من staging مفرط. تُحجب عطلات نهاية الأسبوع وفترة ما بعد 21:00 يوم الجمعة بتوقيت الخادم، لذا نافذة الجلسة الفعلية من الإثنين إلى الجمعة خلال ساعات التداول النشطة — اجمع بين هذا المستشار وجدول جلسة لندن/نيويورك بدلاً من إعداد شبكة 24/7.

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

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

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

الوصف: Inline dual Hull-MA (fast/slow) slope-color consensus + HTF Hull-MA bias + ADX/ATR-pct/BB-width regime gate + capital-allocation-cap, full risk/sizing/in-trade mgmt. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • ullH1Handle_dummy

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

  • LWMA()
  • HullMA()
  • HullColor()
  • LoadSymbolInfo()
  • NormalizeLots()
  • NormalizePrice()
  • EnforceStopsDistance()
  • ComputeEffectiveCapital()
  • IsCapitalBelowFloor()
  • EARealizedPnLToday()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18058 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Inline dual Hull-MA (fast/slow) slope-color consensus + HTF Hull-MA bias + ADX/ATR-pct/BB-width regime gate + capital-allocation-cap, full risk/sizing/in-trade mgmt. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: ullH1Handle_dummy
    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

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

المعاملالافتراضيالوصف
InpMagic22218058Magic number
InpTradeComment"Psgrowth.com Expert_18058"Trade comment
InpHTF8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Higher-timeframe bias TF
InpSignalShift1Signal bar shift (1=closed bar)
InpRiskPercent0.5Risk per trade (% of effective cap)
InpFixedLots0.10Fixed lots (when risk=0)
InpATR_SL_Mult1.8SL = ATR * mult
InpATR_TP_Mult3.2TP = ATR * mult
InpATR_Trail_Mult1.5ATR trailing distance
InpATR_BE_Mult1.0Break-even trigger (ATR mult)
InpDailyLossLimitPercent3.0Daily loss limit (% of effective cap)
InpMaxSpreadATR0.45Max spread (ATR mult)
InpCapitalCapAmount0.0Real-money cap (USD equity, not notional)
InpCapitalCapFloor50.0Floor below which new entries are blocked
InpHullFast20Fast Hull period (entry TF)
InpHullSlow55Slow Hull period (entry TF)
InpUseHTFBiastrueRequire HTF Hull-MA agreement
InpRequireBothHullstrueRequire fast+slow same direction
InpMaxConcurrent3Max concurrent positions (this EA/symbol)
InpEnablePyramidfalseEnable pyramiding (profit only)
InpPyramidMax3Max pyramid legs
InpCloseOnReversetrueClose opposite on reversal signal
InpDryRuntrueDry-run: log but do not send orders
InpKillSwitchfalseKill switch (block all trading)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18058.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18058 Hull2EA_Pro — Dual inline Hull-MA 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>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>

//+------------------------------------------------------------------+
//| Non-input tunables (constants)                                    |
//+------------------------------------------------------------------+
#define HULL_DIVISOR          2.0      // Hull MA divisor (WMA fast = n/2)
#define ATR_PCTILE_LOOKBACK   50       // Bars for ATR percentile
#define ATR_PCTILE_FLOOR      25       // Floor percentile
#define ATR_PCTILE_CEIL       75       // Ceiling percentile
#define BB_PERIOD             20       // Bollinger period
#define BB_DEV                2.0      // Bollinger deviation
#define ADX_PERIOD            14       // ADX period
#define ADX_STRONG            25       // ADX strong-trend threshold
#define ADX_WEAK              18       // ADX weak-trend threshold
#define HTF_HULL_PERIOD       35       // HTF Hull-MA period
#define BB_WIDTH_PCTILE_LOOK  50       // BB-width percentile lookback
#define BB_WIDTH_COMP_PCT     20       // Compress percentile (BB width)
#define BB_WIDTH_EXP_PCT      80       // Expand percentile (BB width)
#define MAX_DAILY_LOSS_RETRIES 1       // Retries on requote/timeout
#define SLIPPAGE_POINTS       20       // Default slippage
#define PYRAMID_MIN_ATR       0.5      // Min ATR spacing between pyramid legs
#define NEWS_BLOCK_BARS       2        // Bars either side of bar-based news window (manual)

//+------------------------------------------------------------------+
//| Inputs (count: 20)                                                |
//+------------------------------------------------------------------+
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;

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

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

الوسوم:ex18058trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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