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

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

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

Pipsgrowth EX18042 TrendFollow — Multi-indicator trend stacker. Three directional voters (Hull MA slope, SuperTrend state, RSI momentum zone) must unanim. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EX18042 مستشار آلي يكدّس مؤشرات الترند ويُصدر إشارة شراء أو بيع فقط عندما تتفق ثلاثة مؤشرات مستقلة على الاتجاه نفسه في الشمعة المغلقة السابقة. المؤشرات الثلاثة هي: متوسط هول (Hull) بفترة 21 مبني من متوسطين مرجحَين خطيًا (LWMA)، ومؤشر SuperTrend تكراري يُحسب على 100 شمعة باستخدام ATR بفترة 10 ومعامل 3.0، ومؤشر RSI بفترة 14 يُقيَّم بحدود غير متماثلة 55/45 بدلًا من 70/30 المعتادة. إذا أعاد أيٌّ منها صفرًا، يكتفي المستشار بالانتظار. قاعدة الإجماع هذه هي الخيار التصميمي المركزي: معظم العائلة يصوّت بالأغلبية، لكن EX18042 يطلب الإجماع الكامل.

طبقة التصويت ليست المرشّح الوحيد. قبل أن يُسأل الإجماع أصلًا، تقرأ ClassifyRegime() قيمة ADX بفترة 14 والنسبة المئوية لـ ATR(14) عبر 100 شمعة، ثم تقارن عرض بولنجر بفترة 20 الحالي بعرضه قبل ست شموع لتحديد أي من خمسة أنظمة يسود: ترند قوي (ADX >= 30 وATR ضمن الستينيات فما فوق)، ترند ضعيف (ADX >= 20)، انضغاط (عرض BB تقلّص إلى أقل من 85% من ست شموع قبل)، توسّع (عرض BB تجاوز 120% من ست شموع قبل)، أو نطاق (لا شيء مما سبق). النظامان الأولان فقط يجتازان RegimeAllowsEntry(). وإذا كان المخطط في انضغاط أو توسّع أو نطاق، فإن ManageOpenPositions تُغلق أي صفقة مفتوحة في أول تذكرة رابحة. يعتبر المستشار هذه الأنظمة الثلاثة "أوقف التداول فورًا إن كنتَ داخلها أصلًا".

تُحسب الإشارة على الشمعة المغلقة السابقة (shift = 1) لتجنّب التطلّع المستقبلي. عندما يتفق الثلاثة على الاتجاه، تستخرج SendEntry مسافة الوقف 2.0xATR(14) وجني الأرباح 3.0xATR(14)، بنسبة مخاطرة إلى عائد 1:1.5. تُحوَّل ميزانية المخاطرة (0.5% من رأس المال الفعّال) إلى حجم عقد في ComputeLots عبر قسمة الدولارات المعرضة للمخاطرة على قيمة التيك لكل لوت لكل وحدة سعر، مع تدوير الحجم إلى درجة حجم الوسيط. يُرفض الأمر إذا لم تكفَ الهامش الحر (فحص مسبق عبر OrderCalcMargin).

تُدار الصفقة المفتوحة على كل تيكر بصرف النظر عن بوابة عدم التداول. تتحقق ManageOpenPositions أولًا من الإغلاق الجزئي: عندما يصل معامل R للصفقة، المعرَّف بأنه (السعر الحالي − سعر الدخول) ÷ (2.0xATR عند الدخول)، إلى 1.5، تحاول إغلاق 50% من الصفقة عبر TryClosePartial_EX18042. تمنع علامة "PT1" داخل تعليق الصفقة تكرار الإغلاق الجزئي على نفس الصفقة. بعد 1.0R من الربح يُحرَّك الوقف إلى سعر الدخول زائد خمس نقاط (أدنى مسافة وقوف عند الوسيط)، أي نقل الصفقة إلى نقطة التعادل عمليًا. من هناك، يتبع وقف جرار 2.5xATR(14) السعر في اتجاه واحد فقط، للأمام، لا للخلف.

هناك مخرجان غير ميكانيكيان أيضًا. فحص زخم RSI على الشمعة المغلقة: تُغلق الصفقة الطويلة إذا نزل RSI تحت 45، والصفقة القصيرة إذا صعد فوق 55، نفس العتبات التي تحكم الدخول لكن بالعكس. يُفعَّل مخرج الإشارة المعاكسة إذا انقلب الإجماع إلى الاتجاه الآخر أثناء عمر الصفقة. وإذا انزلق مصنّف النظام إلى انضغاط أو توسّع أو نطاق، تُغلق الصفقة في أول تيكر رابح لتفادي الاحتفاظ بصفقة ترند في بيئة غير ترندية. إغلاق الجمعة (IsFridayCloseProximity(60)) يُسوِّي كل شيء قبل 60 دقيقة من إغلاق 22:00 بتوقيت السيرفر.

بوابة عدم التداول صارمة. مفتاح الإيقاف (InpKillSwitch)، عند ضبطه على true، يُسوّي كل الصفقات لهذا الرقم السحري ويرفض أي دخول جديد. علم التشغيل التجريبي (InpDryRun = true افتراضيًا) يجعل المستشار يُسجّل كل محاولة دخول دون إرسال أمر، مفيد لاختبار الإشارة خلفيًا دون التزام برأسمال. صف غطاء رأس المال InpCapitalCapAmount باقٍ في لوحة المدخلات كمرجع لكن مفتاح التشغيل/الإيقاف الذي كان يعتمد عليه (InpCapitalCapEnabled) أُزيل في الإصدار 2.00؛ أي أن الغطاء معطّل دائمًا ويعمل المستشار بكامل حقوق الملكية، خاضعًا للحد الأدنى 50 دولارًا. يُطبَّق حد الخسارة اليومي 3% عبر مسح سجل الصفقات المغلقة منذ 00:00 بتوقيت السيرفر وتعطيل التداول عند بلوغ العتبة. تعمل CheckDailyLossLimit على كل تيكر لكنها تقلب علمًا فقط؛ البوابة الفعلية في NoTradeFiltersPass عبر فحص trading_cap <= 0. نافذة الجلسة من 08:00 إلى 17:00 بتوقيت السيرفر. حد سبريد 50 نقطة (متغيّر بحسب الوسيط) يحجب الدخول عند اتساع الفارق. فحص جودة البيانات يرفض الأمر إن كان آخر بار أقدم من خمس دقائق.

تحديد حجم الصفقة قائم بالكامل على ATR ويحترم قيود الوسيط: يُقصَّر الوقف إلى stops_level، ويُدرَّج الحجم إلى volume_step، ويُفحص الهامش قبل الإرسال. نمط التعبئة يُكتشف تلقائيًا من SYMBOL_FILLING_MODE (يُفضَّل FOK ثم IOC ثم RETURN). تُعاد محاولة الأمر مرة واحدة عند REQUOTE أو TIMEOUT أو PRICE_CHANGED؛ يحاول TryClosePartial_EX18042 وTryModify_EX18042 حتى ثلاث مرات مع نوم 200 أو 100 مللي ثانية.

لا يوجد تدرّج هرمي افتراضيًا، لأن InpMaxOpenTrades يأتي 1. حارس الأمان الهرمي (IsPyramidSafe) لا يسمح بفتح صفقة إضافية إلا إذا كانت كل صفقة حالية لهذا الرقم السحري رابحة، فحتى رفع المدخل إلى 2 أو 3 لن يُحمِّل صفقة خاسرة. حارس الإدخال المكرر لكل بار (g_last_entry_bar_time) يمنع المستشار من إعادة الدخول على نفس الشمعة بعد فشل أمر.

ما يمكن توقّعه في الاختبار الخلفي: معيار OnTester هو gross_profit_factor * (net_profit / max_balance_dd)، مقيَّد بالصفر ومُصفَّر إذا كانت العينة أقل من 30 صفقة. يكافئ المعيار الربحية والانضباط في السحب معًا. علم InpDryRun = true يعني أن التداول الحقيقي يطلب من المستخدم قلبه، قضبان أمان متعمّدة لمستشار يحمّل 0.5% من رأس المال لكل صفقة مع حد يومي 3%.

البصمة المميّزة لبقيّة عائلة TrendFollow: EX18042 هو نسخة الإجماع-3 (هول عبر LWMA مزدوج + SuperTrend تكراري (10، 3.0) + RSI 55/45) مع مصنّف نظام من 5 حالات وجزئي 1.5R + جرار 2.5xATR وأرضية 50 دولارًا لرأس المال الفعّال، بدون حد خسارة أسبوعي، ونافذة جلسة 9 ساعات، وبدون cooldown. لا يوجد مضاعف ربح في OnTester ولا محدد HTF؛ طبقة النظام هي السياق الإطاري الوحيد الذي ترى كومة التداول.

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

يُكدّس EX18042 ثلاثة مصوّتين مستقلين للترند ويطلب إجماعًا تامًا على الشمعة المغلقة: متوسط هول 21 مبني من LWMA مزدوج (ميل)، وSuperTrend تكراري 100 بار بمعاملات ATR 10/3.0 (حالة)، وRSI 14 يُقيَّم بحدود 55/45 (زخم). مصنّف نظام من 5 حالات مبني على ADX(14) ونسبة ATR عبر 100 شمعة مع فحص توسّع/انكماش عرض بولنجر يفلتر السياق القابل للتداول إلى ترند قوي وترند ضعيف فقط؛ الحالات الثلاث الأخرى (انضغاط، توسّع، نطاق) تحجب الدخول قسريًا وتُغلق أي صفقة مفتوحة في أول تيكر رابح. مخاطرة الصفقة 0.5% من رأس المال الفعّال مع جني أرباح 1.5R وجرار أمامي 2.5xATR(14)، فضلًا عن إغلاق جزئي عند 1.5R، ورافعة نقطة تعادل عند 1R، ومخرج تلاشي RSI، ومخرج إشارة معاكسة، وتسوية قبل 60 دقيقة من إغلاق الجمعة. نافذة الجلسة 08:00-17:00 بتوقيت السيرفر، وحد سبريد 50 نقطة، وحد خسارة يومي 3%، وأرضية رأس مال فعّال 50 دولارًا تُشكّل بوابة عدم التداول؛ علم InpDryRun = true الافتراضي يعني أن المستشار يُسجّل دون إرسال الأوامر حتى يُعطّل المستخدم التشغيل التجريبي.

إشارة الدخول

شراء أو بيع فقط عندما يتفق ثلاثة مصوّتين مستقلين على الشمعة المغلقة السابقة: متوسط هول 21 يميل للأعلى (أو للأسفل)، و SuperTrend تكراري 100 بار بمعاملات ATR 10/3.0 يقف على الجانب نفسه، وRSI 14 يُغلق فوق 55 (أو تحت 45). يجب أن يكون النظام ترند قوي (ADX >= 30 ونسبة ATR >= 60) أو ترند ضعيف (ADX >= 20)؛ الانضغاط والتوسّع والنطاق تحجب الدخول قسريًا. حماية الإدخال المكرر: صفقة واحدة لكل شمعة.

إشارة الخروج

إغلاق جزئي 50% عند 1.5R ربح؛ يُجرى النصف المتبقي خلف وقف جرار للأمام فقط 2.5xATR(14) يُفعَّل بعد رافعة نقطة التعادل عند 1R. تُغلق الصفقة قسريًا في أول تيكر رابح إذا انزلق النظام إلى انضغاط أو توسّع أو نطاق، أو إذا تلاشى زخم RSI (طويل إذا RSI < 45، قصير إذا RSI > 55)، أو إذا انقلب الإجماع إلى الاتجاه المقابل، أو قبل 60 دقيقة من إغلاق الجمعة 22:00 بتوقيت السيرفر.

وقف الخسارة

الوقف الابتدائي = 2.0xATR(14)، مُقصَّر إلى stops_level لدى الوسيط ومُثبَّت إلى سعر الدخول زائد أو ناقص 5 نقاط بعد أن تحقق الصفقة 1R من الربح. الوقف الجرار = 2.5xATR(14) للأمام فقط.

جني الأرباح

جني أرباح 1.5R (3.0xATR(14)) موضوع على الأمر عند الدخول. يُغلق نصف الصفقة عند 1.5R كإغلاق جزئي؛ والنصف الباقي يتبع جرار 2.5xATR(14) الأمامي.

الأنسب لـ

الحد الأدنى الموصى به للرصيد: 100 دولار (الأرضية 50 دولارًا لرأس المال الفعّال لدى المستشار؛ غطاء رأس المال معطّل دائمًا في الإصدار 2.00). الأفضل على وسيط XAUUSD بسبريد منخفض (حد 50 نقطة قابل للتحقيق على معظم حسابات ECN/Raw؛ الانحراف 20 نقطة محدد داخل كائن التداول). نافذة الجلسة الافتراضية 08:00-17:00 بتوقيت السيرفر تتزامن مع ساعات نشاط أوروبا والولايات المتحدة في معظم الوسطاء، وهي النافذة الوحيدة التي يفحص فيها المستشار فرص الدخول. شغّله على إطار 5 دقائق (M5) كما ضُبط المصدر.

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

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

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

الوصف: Multi-indicator trend stacker. Three directional voters (Hull MA slope, SuperTrend state, RSI momentum zone) must unanimously agree before entry. ADX and Bollinger width act as permission filters confirming a trending, volatile regime. Includes adaptive regime classifier, full no-trade filter suite, fixed-fractional sizing on effective capital, in-trade management (break-even, partial TP, ATR trail, momentum-decay, opposite-signal, session-close, regime-change exits), capital allocation cap, and broker-portable runtime symbol specs. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • RefreshSymbolSpecs()
  • NormPrice()
  • NormVolume()
  • RespectStopsLevel()
  • ComputeEffectiveCapital()
  • ResetDailyState()
  • ComputeTradingCapitalToday()
  • ATRPercentile()
  • RegimeName()
  • RegimeAllowsEntry()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18042 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Multi-indicator trend stacker. Three directional voters (Hull MA slope, SuperTrend state, RSI momentum zone) must unanimously agree before entry. ADX and Bollinger width act as permission filters confirming a trending, volatile regime. Includes adaptive regime classifier, full no-trade filter suite, fixed-fractional sizing on effective capital, in-trade management (break-even, partial TP, ATR trail, momentum-decay, opposite-signal, session-close, regime-change exits), capital allocation cap, and broker-portable runtime symbol specs. 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
الأطر الزمنية المُحسّنة:
M5

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

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

المعاملالافتراضيالوصف
InpMagicNumber22218042Magic number (this EA's tag)
InpTradeComment"Psgrowth.com Expert_18042"Trade comment
InpCapitalCapAmount0.0Cap: REAL MONEY equity $ this EA commands (NOT leveraged notional)
InpCapitalCapFloor50.0Minimum effective capital required to trade ($)
InpRiskPercent0.5Risk per trade (% of EFFECTIVE CAPITAL)
InpDailyLossLimitPct3.0Daily loss limit (% of EFFECTIVE CAPITAL, this magic only)
InpMaxOpenTrades1Max concurrent open trades (this magic)
InpKillSwitchfalseKill switch: flatten all (this magic) and stop trading
InpHMAPeriod21Hull MA period (bars)
InpST_ATR_Period10SuperTrend ATR period (bars)
InpST_Multiplier3.0SuperTrend ATR multiplier
InpRSIPeriod14RSI period (bars)
InpADXThreshold20ADX minimum for trending regime (>)
InpATRStopMult2.0Initial SL = mult * ATR (R-multiple reference)
InpBETriggerR1.0Move to break-even after N R of profit (R = initial risk)
InpPartialTPR1.5Partial TP at N R (close 50% of position)
InpTrailATRMult2.5ATR trailing stop multiplier (0 = off)
InpMaxSpreadPts50Max spread in POINTS (broker-portable)
InpSessionStart"08:00"Session start (HH:MM, broker server time)
InpSessionEnd"17:00"Session end (HH:MM, broker server time)
InpFridayFlatMin60Flatten this magic N minutes before Friday close (0 = off)
InpDryRuntrueDry-run (true = log signals, send NO orders)
InpVerboseLogfalseVerbose per-tick logging
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18042.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18042 XAUUSD M5 -- Hull+SuperTrend+RSI consensus trend stacker, 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         m_trade;
CPositionInfo  m_position;
CSymbolInfo    m_symbol;
CAccountInfo   m_account;
COrderInfo     m_order;
CDealInfo      m_deal;

//================== INPUTS ==================
input group "=== Identity ==="
input long     InpMagicNumber       = 22218042;         // Magic number (this EA's tag)
input string   InpTradeComment      = "Psgrowth.com Expert_18042"; // Trade comment

input group "=== Risk & Sizing (incl. CAPITAL ALLOCATION CAP) ==="
// InpCapitalCapEnabled removed — use InpCapitalCapAmount=0 to disable            // Capital Allocation Cap master on/off
input double   InpCapitalCapAmount  = 0.0;           // Cap: REAL MONEY equity $ this EA commands (NOT leveraged notional)
input double   InpCapitalCapFloor   = 50.0;            // Minimum effective capital required to trade ($)
input double   InpRiskPercent       = 0.5;             // Risk per trade (% of EFFECTIVE CAPITAL)
input double   InpDailyLossLimitPct = 3.0;             // Daily loss limit (% of EFFECTIVE CAPITAL, this magic only)
input int      InpMaxOpenTrades     = 1;               // Max concurrent open trades (this magic)
input bool     InpKillSwitch        = false;           // Kill switch: flatten all (this magic) and stop trading

input group "=== Signal (Hull MA + SuperTrend + RSI consensus) ==="
input int      InpHMAPeriod         = 21;              // Hull MA period (bars)
input int      InpST_ATR_Period     = 10;              // SuperTrend ATR period (bars)
input double   InpST_Multiplier     = 3.0;             // SuperTrend ATR multiplier
input int      InpRSIPeriod         = 14;              // RSI period (bars)
input int      InpADXThreshold      = 20;              // ADX minimum for trending regime (>)

input group "=== Trade Management & Exits ==="
input double   InpATRStopMult       = 2.0;             // Initial SL = mult * ATR (R-multiple reference)
input double   InpBETriggerR        = 1.0;             // Move to break-even after N R of profit (R = initial risk)
input double   InpPartialTPR        = 1.5;             // Partial TP at N R (close 50% of position)
input double   InpTrailATRMult      = 2.5;             // ATR trailing stop multiplier (0 = off)

input group "=== No-trade Filters ==="
input int      InpMaxSpreadPts      = 50;              // Max spread in POINTS (broker-portable)

input group "=== Session / Timing ==="
input string   InpSessionStart      = "08:00";         // Session start (HH:MM, broker server time)
input string   InpSessionEnd        = "17:00";         // Session end   (HH:MM, broker server time)
input int      InpFridayFlatMin     = 60;              // Flatten this magic N minutes before Friday close (0 = off)

input group "=== Visuals / Dry-run ==="
input bool     InpDryRun            = true;            // Dry-run (true = log signals, send NO orders)
input bool     InpVerboseLog        = false;           // Verbose per-tick logging

//================== ENUMS ==================
// Regime labels

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

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

الوسوم:ex18042trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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