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

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

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

Pipsgrowth EX18056 TrendFollow — Dual inline Hull-MA (fast/slow) slope-color consensus drives trend-following entries; ADX/ATR-pct/BB-width regime gate f. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EX18056 هو محرك أحادي الرمز يعتمد على توافق ميل متوسط هول في تحويل اتفاق خطين من المتوسطات المتحركة إلى انحياز اتجاهي. لا يحتفظ المحرك بأي قوائم محورية يدوية، ولا بأي محاسبة للمراكز الليلية، ولا بأي رسومات على الشارت — الحالة الوحيدة التي تبقى بين الأعمدة هي وقت آخر شمعة إشارة، وهو البوابة التي تمنع شمعة مغلقة واحدة من إطلاق الإشارة مرتين في نفس الاتجاه.

الإشارة نفسها مبنية على طبقتين. الطبقة الأولى هي متوسط هول المتحرك المضمَّن المُنشأ من مؤشرات LWMA خام: مركب سريع بفترة 20 (مزيج WMA(10) و WMA(20) مع تنعيم نهائي sqrt(20)) ومركب بطيء بفترة 50 (WMA(25) و WMA(50) مع تنعيم sqrt(50)). تأخذ دالة HullSignal() كلا المركبين، وتحسب الفرق بين آخر قيمة مغلقة والقيمة قبل InpHullLookback (افتراضي 3) أعمدة مغلقة، وتُرجع +1 فقط عندما يكون كلا الميلين صاعدين، و -1 فقط عندما يكون كلاهما هابطين، و 0 عندما يختلف الهولان. تُشتق الثقة من مقدار الميل المشترك مُعبَّراً عنه بالنقاط. لا يوجد إعادة تلوين لكل عمود ولا نمط شمعة — اتفاق الميل هو المُحفِّز بالكامل.

الطبقة الثانية هي بوابة النظام. تأخذ DetectRegime() عينة من ADX(14) ومئوي ATR لـ 50 عمود بالإضافة إلى نسبة نمو عرض بولنجر باند(20، 2)، وتُعيِّن إحدى سبع حالات: REG_STRONG_TREND (ADX ≥ 30 ومئوي ATR ≥ 60)، و REG_WEAK_TREND (ADXInpAdxMin=20 ومئوي ATR ≥ 40)، و REG_BREAKOUT (نمو عرض BB > 1.20 ومئوي ATR ≥ 65)، و REG_EXPAND (نمو عرض BB > 1.05 ومئوي ATR ≥ 50)، و REG_COMPRESS (نمو عرض BB < 0.85)، و REG_RANGE (ADX < 20 ومئوي ATR < 30)، و REG_CHOPPY (ما تبقى). تبتلع دالة EntrySignal() إشارة هول بصمت عندما يكون النظام CHOPPY أو RANGE أو COMPRESS، لذا لا يحاول المحرك تداول الشريط المسطح أو العكسي أو منخفض التذبذب.

يجري التأكيد بعد أن تنجو الإشارة من فلتر النظام. تقرأ ConfirmEntry() قيمة H1 EMA(50) (المقبض HTF مربوط بـ g_InpHullHTF الذي يسقط إلى PERIOD_H1 لأن قيمة المدخل 8 لا تطابق أي حالة في MapTimeframeInt) وترفض الشراء إذا كان سعر Ask دونه، أو البيع إذا كان سعر Bid فوقه. كما تحظر الشراء عندما يكون RSI(14) فوق 75 والبيع عندما يكون دون 25، وتتحقق من أن نسبة المخاطرة إلى العائد الحيّة (InpAtrTPmult/InpAtrSLmult = 3.0/1.8 = 1.67) تساوي أو تتجاوز InpMinRR=1.3. يُرفض الفروق فوق 35 نقطة. إن مكدس HullSignal/EntrySignal/ConfirmEntry هو ما يجعل المحرك انتقائياً على XAUUSD بإطار M5 دون الإفراط في التداول.

تُقسَّم إدارة المراكز إلى ثلاث routines تعمل على كل تكة. تقوم ManagePositions() بتحريك وقف الخسارة بطبقتين متوازيتين: بريك إيفين يُطلق لمرة واحدة عندما يصل الربح غير المحقق إلى 1R ويدفع الوقف إلى سعر الفتح + 0.1R (إزاحة)، وتتبع أمامي 2.5×ATR(14) لا يشدّ إلا للأمام. تُغلق ExitOnOpposite() أي مركز مفتوح فوراً عندما تنقلب إشارة هول الحية، وتُجبر ExitOnRegimeChange() على إغلاق كل شيء عندما يصبح النظام CHOPPY أو RANGE بصرف النظر عن الربح. لا توجد مسار إغلاق جزئي، ولا حد زمني، ولا إعادة تفعيل لبريك إيفين — البريك إيفين هو إطلاق لمرة واحدة لكل مركز.

المخاطرة محدودة بأربعة قبعات مستقلة. حجم المركز هو 0.5% من رأس المال الفعال لكل صفقة. حد خسارة يومية 3% (محسوب من DEAL_PROFIT + DEAL_SWAP + DEAL_COMMISSION للسحر الحالي) وحد خسارة أسبوعية 6% يحظران فتح مراكز جديدة عند بلوغهما. الحد الأقصى للمراكز المتزامنة هو 3، والحد الأقصى على هذا الرمز هو 3 أيضاً، لذا لا يكدس المحرك على اسم واحد. غطاء رأس المال الاختياري (InpCapitalCapAmount=0 معطّل افتراضياً) يُصغِّر رأس المال العامل إلى أصغر الغطاء ورصيد الحساب، وأرضية 50 دولاراً ترفض فتح مراكز جديدة عندما يهبط رأس المال الفعال دونها. تُستدعى OrderCalcMargin قبل كل إرسال، لذا يُكتشف نقص الهامش قبل وصول الطلب للوسيط.

تفاصيل التنفيذ التي تهم المتداولين: InpDryRun هو true افتراضياً — يطبع المحرك الأمر المُعتزم بدلاً من إرساله حتى تقلب المفتاح. الانزلاق 30 نقطة، تعليق الأمر مبرمج على "Psgrowth.com Expert_18056"، وتُجرى إعادة محاولة واحدة على REQUOTE أو TIMEOUT. التمريض (InpPyramidEnabled) معطّل افتراضياً، لكن عند تفعيله يتطلب أن يكون آخر مركز رابحاً بمقدار 1.5×ATR على الأقل، ويحد إجمالي المراكز بـ 3.

فلاتر الوقت والجلسة محافظة. تُحظر الدخول عندما يكون ساعة سيرفر الوسيط أقل من 1 أو 23 فأكثر، أو عندما يكون يوم الأسبوع أحداً أو سبتاً، أو عندما تكون ساعة الجمعة 21 فأكثر. مجتمعةً مع بوابة النظام، يركّز المحرك تداوله فعلياً على أكثر أوقات الأسبوع سيولة، ويرفض تمرير مركز إلى فجوة الأحد أو ما بعد إغلاق الجمعة.

التوقعات في الاختبار العكسي: مع فلتر النظام ذي السبع حالات، توقع صفقات قليلة نسبياً أسبوعياً على XAUUSD بإطار M5 — يُفلتر معظم الأسبوع كـ CHOPPY أو RANGE. الصفقات التي تنطلق ستكون أطول من روبوت اتجاه M5 نموذجي لأن بريك إيفين 1R وتتبع 2.5×ATR يمنحان الجريان مجالاً للتنفس. صيغة OnTester (net * pf) / (1 + dd) تتطلب 30 صفقة على الأقل لتسجيل قيمة غير صفرية، لذا ستُعاقب نوافذ التحسين القصيرة بشدة. استخدم المُختبر بنافذة 90 يوماً كاملة أو أطول، مع كل تكة أو OHLC دقيقة، وفروق أسعار مُصمَّمة كمتغيرة.

التمريض هو السلوك القابل للتهيئة الأكثر إثارة للاهتمام وراء الإشارة الأساسية. مع InpPyramidEnabled = true، قد يُضيف المحرك مركزاً ثانياً أو ثالثاً في نفس الاتجاه، لكن فقط عندما يكون المركز القائم رابحاً بمقدار 1.5×ATR على الأقل. هذه ليست شبكة — كل إضافة هي تخصيص مخاطرة جديد تماماً يجب أن يجتاز بوابة النظام، وتأكيد HTF-EMA، وحد RSI، وحد الفروق، وحدود الخسارة اليومية/الأسبوعية. معظم المتداولين سيبقيها معطلة؛ وهي متاحة لمن يريد خيار التوسع في الاتجاهات.

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

في كل تكة، يُعيد المحرك بناء مركبات هول المضمَّنة لآخر InpHullFastPeriod+10 و InpHullSlowPeriod+10 أعمدة مغلقة بمزج مقابض LWMA(period/2) و LWMA(period) الخام، ويطبّق تنعيماً خطياً sqrt(period)، ويحسب الفرق بين آخر قيمة وقيمة InpHullLookback السابقة للحصول على ميل. تُرجع HullSignal() قيمة +1 أو -1 أو 0 من اتفاق الخطين. تقرأ DetectRegime() قيم ADX(14) ومئوي ATR لـ 50 عمود ونسبة نمو عرض بولنجر باند لتصنّف السوق إلى إحدى سبع حالات؛ تُسقط EntrySignal() الصفقة عندما يكون النظام CHOPPY أو RANGE أو COMPRESS. تجتاز الإشارات الناجية ConfirmEntry() التي تتحقق من اتفاق H1 EMA(50) وحدود RSI(14) وأرضية R:R البالغة 1.3 وسقف الفروق 35 نقطة. الحجم هو 0.5% من رأس المال الفعال عبر CalcLots()، وتُستدعى OrderCalcMargin قبل الإرسال. تُشغّل ManagePositions() بريك إيفين 1R + 0.1R وتتبع 2.5×ATR على كل تكة؛ تُغلق ExitOnOpposite() و ExitOnRegimeChange() قسراً عند انقلاب الإشارة وعند CHOPPY/RANGE.

إشارة الدخول

يُفعَّل الدخول عندما يكون لكل من هول(20) السريع وهول(50) البطيء المضمَّنين ميل موجب على آخر InpHullLookback=3 أعمدة مغلقة (أو كلاهما سالب للبيع)، ويُرجع مصنّف النظام STRONG_TREND أو WEAK_TREND أو BREAKOUT أو EXPAND (تُفلتر CHOPPY/RANGE/COMPRESS)، ويكون السعر الحي في الجانب الصحيح من H1 EMA(50)، ويكون RSI(14) دون 75 للشراء أو فوق 25 للبيع، وتلبّي نسبة المخاطرة إلى العائد أرضية InpMinRR=1.3، ويكون الفروق عند 35 نقطة أو دونها. لا تنطلق الشمعة المغلقة نفسها مرتين لأن طابع وقت عمود الإشارة يُخزَّن مؤقتاً.

إشارة الخروج

تُدار الخروج بانقلاب إشارة هول (تُغلق ExitOnOpposite() مركز شراء في اللحظة التي يميل فيها كلا الهولين سلباً ومركز بيع في اللحظة التي يميلان فيها إيجاباً) وبمصنّف النظام — عندما تُرجع DetectRegime() قيمة CHOPPY أو RANGE، يُغلق كل مركز مفتوح على هذا السحر قسراً بصرف النظر عن الربح. لا توجد مسار إغلاق جزئي، ولا حد زمني، ولا هدف ربح سلة. وقف الخسارة المتبع أمامي فقط ولا يشدّ إلا للأمام.

وقف الخسارة

يُضبط وقف الخسارة لكل صفقة عند 1.8×ATR(14) دون سعر Ask للشراء أو فوق سعر Bid للبيع، ويُقصَّر دائماً لاحترام الحد الأدنى لمستوى الوقف لدى الوسيط. يُطلَق بريك إيفين لمرة واحدة عندما يصل الربح غير المحقق إلى 1R ويدفع الوقف إلى سعر الفتح + 0.1R، ويشتدّ التتبع الأمامي 2.5×ATR(14) على كل تكة بعد ذلك. لا يمكن أن يتسع وقف الخسارة أبداً.

جني الأرباح

يُضبط جني الأرباح لكل صفقة عند 3.0×ATR(14) فوق سعر الدخول للشراء أو دونه للبيع، مما يعطي نسبة 1.67 R:R ثابتة مقابل وقف 1.8×ATR. لا يُقسَّم جني الأرباح — لا يوجد إغلاق جزئي أو خروج متدرج؛ يُحتفظ بالمركز حتى يأخذه وقف الخسارة المتبع، أو إشارة هول المعاكسة، أو إغلاق تغيير النظام.

الأنسب لـ

الأفضل على XAUUSD بإطار M5 مع حد أدنى للإيداع 100 دولار وملف مخاطرة متوسط. يُبقي 0.5% مخاطرة لكل صفقة و3% يومي / 6% أسبوعي من حدود الخسارة المحققة المحرك محافظاً، لكن بوابة النظام تركز التداول على أكثر ساعات الاتجاه في جلستي لندن ونيويورك — تُحظر ليلة الجمعة بعد 21:00 بتوقيت السيرفر، وعطلات نهاية الأسبوع، ونافذة 23:00-01:00 منخفضة السيولة. استخدم حساب ECN أو RAW منخفض الفروق (سقف 35 نقطة كافٍ للذهب، لكن الفروق الأنحف تحسّن جودة التنفيذ على تشديد بريك إيفين + التتبع).

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

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

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

الوصف: Dual inline Hull-MA (fast/slow) slope-color consensus drives trend-following entries; ADX/ATR-pct/BB-width regime gate filters choppy/range; HTF-EMA + RSI confirm; ATR-based SL, break-even + ATR trailing, partial TP, opposite-signal & regime-change exits; optional profit-only pyramiding. Capital-allocation cap and per-magic daily-loss isolation. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • FastRaw1
  • FastRaw2
  • SlowRaw1
  • SlowRaw2
  • Adx
  • Atr
  • Bands
  • HtfEma
  • Rsi

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

  • HullSignal()
  • EntrySignal()
  • ConfirmEntry()
  • NoTradeReason()
  • EffectiveCapital()
  • EARealizedPnL()
  • DayStart()
  • WeekStart()
  • NormalizeLots()
  • CalcLots()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18056 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Dual inline Hull-MA (fast/slow) slope-color consensus drives trend-following entries; ADX/ATR-pct/BB-width regime gate filters choppy/range; HTF-EMA + RSI confirm; ATR-based SL, break-even + ATR trailing, partial TP, opposite-signal & regime-change exits; optional profit-only pyramiding. Capital-allocation cap and per-magic daily-loss isolation. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

ON_INIT:
    Create indicator handles: FastRaw1, FastRaw2, SlowRaw1, SlowRaw2, Adx, Atr, Bands, HtfEma, Rsi
    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 live orders)
InpKillSwitchfalseGlobal kill switch
InpMagic22218056Magic number
InpTradeComment"Psgrowth.com Expert_18056"Trade comment
InpHullFastPeriod20Fast Hull period (bars)
InpHullSlowPeriod50Slow Hull period (bars)
InpHullLookback3Slope confirm bars
InpHullHTF8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF Hull timeframe
InpAdxMin20.0Min ADX for trend
InpAtrPctLookback50ATR-pctile lookback (bars)
InpHtfEmaPeriod50HTF EMA period (bars)
InpMinRR1.3Min reward:risk ratio
InpMaxSpreadPts35Max spread (points)
InpCapitalCapAmount0.0Capital cap amount ($)
InpCapitalCapFloor50.0Capital floor ($)
InpRiskPercent0.5Risk per trade (%)
InpDailyLossPct3.0Daily loss limit (%)
InpMaxConcurrent3Max concurrent trades
InpAtrSLmult1.8SL = ATR * mult
InpAtrTPmult3.0TP = ATR * mult
InpTrailATRmult2.5Trail ATR mult
InpPyramidEnabledfalsePyramiding enabled
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18056.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18056 Hull2EA_Lite_v2 — Dual Hull-MA slope consensus with regime gate, full 12-layer stack."

#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/AccountInfo.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_InpHullHTF = PERIOD_H1;
input group "=== General ==="
input bool           InpDryRun           = true;       // Dry-run (no live orders)
input bool           InpKillSwitch       = false;      // Global kill switch
input ulong          InpMagic            = 22218056;    // Magic number
input string         InpTradeComment     = "Psgrowth.com Expert_18056"; // Trade comment

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;

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

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

الوسوم:ex18056trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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