P
PipsGrowth
أخرىمفتوح المصدر - مجاني

Pipsgrowth EX17001 Volatility — إكسبرت أدفايزر تقلب

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

Pipsgrowth EX17001 Volatility — Closed-bar Bollinger Band extreme + RSI extreme mean- reversion (close<BBlower & RSI<oversold => LONG; close>BBupper & R. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكس 17001 فولتاليتي نافيغيتور من بيبس جروث هو روبوت تداول مبني على مبدأ الارتداد إلى المتوسط، يعتمد على فكرة أن الدفعات الحادة التي تتجاوز نطاق بولينجر (الانحراف المعياري 2.0) بفترة 20 نادراً ما تمتد أبعد عندما يكون مؤشر القوة النسبية بفترة 14 ممتداً في الوقت ذاته. الاستراتيجية تُنفَّذ كصفقة باتجاه واحد: يُفعَّل الشراء عندما يُغلق آخر شمعة مغلقة بالكامل تحت الحد الأدنى لنطاق بولينجر بينما يكون مؤشر RSI(14) تحت عتبة التشبع البيعي عند 30، ويُفعَّل البيع على Setup المرآة — الإغلاق فوق الحد الأعلى مع RSI(14) فوق 70. القرار يُبنى على الشمعة المغلقة (الإزاحة = 1)، لذا فإن الصفقات الحية لا تُعيد تفعيل دخول سبق أن تم رسمه.

بوابة النظام (Regime) هي التي تُحدد طابع هذا الروبوت. دالة DetectRegime() تبني رتبة النسبة المئوية لمؤشر ATR وعرض بولينجر على مدار 50 شمعة، وتقرأ ADX(14) في الشمعة الحالية، ثم تُرجع إحدى سبع حالات: اتجاه قوي، اتجاه ضعيف، نطاق، اختراق، انضغاط، توسع، أو تذبذب. يُسمح بدخول الارتداد إلى المتوسط فقط عندما يكون النظام في وضع النطاق أو الانضغاط أو الاتجاه الضعيف — الحالات التي تميل فيها المتذبذبات المُمتدّة إلى الارتداد. يتم رفض الاتجاه القوي والتذبذب صراحةً عبر NoTradeReason() قبل قراءة الإشارة، كما يوجد حد أقصى صلب لمؤشر ADX (InpRegimeADXMax = 35) يمنع الدخول عندما تصبح القوة الاتجاهية معادية للارتداد.

التحقق من الإطار الزمني الأعلى (HTF) — متوسط متحرك أسي بفترة 50 على إطار زمني أعلى، افتراضياً الساعة — يجب أن يتفق مع اتجاه الإشارة فقط ليُعتبر محققاً؛ إذا تعارض معها، يفشل التأكيد وتُسقط الصفقة. ولهذا السبب لن يتم تنفيذ صفقة شراء على M5 ضد اتجاه هبوطي واضح على H1.

يتم تحديد حجم المخاطرة من رأس المال الفعّال. تُرجع EffectiveCapital() حقوق حساب المتداول لكنها تحدّها عند InpCapitalCapAmount إذا تم تكوين حد موجب، ويُحظر الدخول كلياً عندما تنخفض الحقوق تحت InpCapitalCapFloor (50 دولاراً). InpRiskPercent افتراضياً 0.5 بالمئة من رأس المال الفعّال لكل صفقة. مسافة وقف الخسارة هي ATR(14) مضروبة في InpATRMultiplier (افتراضي 1.5)، وجني الأرباح هو نفس المسافة مضروبة في InpRR (افتراضي 2.0) — أي هيكل مخاطرة/عائد بنسبة 1:2. يُحسب حجم اللوت في CalcLots() باستخدام قيمة التيك وحجم التيك للرمز بحيث تتوافق مخاطرة 0.5 بالمئة لكل صفقة مع وقف عند ATR×1.5 على XAUUSD. ثم يُقرَّب الحجم إلى حد اللوت لدى الوسيط ويُحصر بين الحد الأدنى والأقصى. يجلس فوق هذا الحجم حدّان للخسارة بأموال حقيقية: حد خسارة يومي 3 بالمئة، وحد خسارة أسبوعي 6 بالمئة، كلاهما يُفحص من الأرباح والخسائر المحققة منذ منتصف الليل ومن الاثنين 00:00 بتوقيت الخادم على التوالي، وكلاهما يغذيان بوابة NoTradeReason().

طبقة الإدارة هي الجزء الذي يقوم بمعظم العمل في ظروف التداول الحي. تعمل ManagePosition() عند كل تيكة، وليس فقط على شموع جديدة. تتابع المضاعف R للصفقة — مسافة السعر الحالية من الدخول مقسومة على مسافة الوقف الأصلية — وتُطبِّق أربع حمايات مميزة بالتسلسل. الأولى هي الخروج من تلاشي الزخم: إذا تحركت الصفقة ضد المركز بمقدار 0.5R أو أكثر، يُغلق المركز فوراً. الثانية هي نقل وقف الخسارة إلى نقطة التعادل: بمجرد أن تصل الصفقة إلى InpBETriggerR (افتراضي 1.0R)، يُدرَّج الوقف إلى الدخول + 0.10 × ATR، ليُحقق ربحاً رمزياً زائداً. الثالثة هي وقف خسارة متحرك بـ ATR يتفعَّل عند 0.80R ويتحرك خلف bid/ask بمسافة 2.0 × ATR. الرابعة هي جني أرباح جزئي: عند 1.0R، يُغلق 50 بالمئة من المركز، تاركاً نصف الحجم ليواصل الجري تحت الوقف المتحرك. كل الحركات الأربع تحترم SYMBOL_TRADE_STOPS_LEVEL للرمز وتستخدم TryModify_EX17001 و TryClosePartial_EX17001، وكلٌّ منها سقالة 3 محاولات تنام 200 مللي ثانية عند requote أو تغير السعر. يُغلق الوقف الزمني الصلب أي صفقة أقدم من 240 شمعة في نفس الدالة.

تضيف مكدسة التأكيد ومنع التداول نافذة جلسة وحد سبريد. تقرأ ConfirmFilters() ساعة الخادم وتجتاز بين الساعة 7 والساعة 20 (إغلاق لندن إلى نيويورك) افتراضياً. بوابة السبريد قابلة للتكوين: InpMaxSpreadPoints افتراضياً 30 نقطة وتُغذَّى أيضاً في معامل الانحراف لطلب الصفقة. تمنع بوابة نهاية الأسبوع الدخول يوم السبت والأحد ويوم الجمعة بعد الساعة 21:00 بتوقيت الخادم. يُفعَّل تبريد 12 شمعة بعد أي صفقة خاسرة مُغلقة — يُسجَّل الطابع الزمني للشمعة في g_lastLossBarT ويُفحص عند كل محاولة شمعة جديدة عبر iBarShift. مدخل InpDryRun افتراضياً true، ما يعني أن التركيبات الجديدة ستطبع سطور سجل [DRYRUN] فقط حتى يقلبها المشغّل صراحةً.

يعمل EX17001 فولتاليتي نافيغيتور أفضل على XAUUSD M5 حيث يوفر ATR مساحة كافية لتجنب رفض الحد الأدنى للوقف، وتكون تطرفات بولينجر متكررة بما يكفي للتداول. يعمل M15 وH1 أيضاً، لكن الإيقاع ينخفض بشكل حاد. ولأن الاستراتيجية ارتداد إلى المتوسط بحت، يجب إقرانها بحساب ECN أو حساب سبريد منخفض — حد 30 نقطة للسبريد هو الحد الفاصل. تجنب تشغيلها أثناء أحداث NFP أو FOMC أو قرارات أسعار الفائدة؛ لا يمكن لفلتر النظام أن يتفاعل بالسرعة الكافية مع توسع التذبذب. يجب أن يستخدم الاختبار الخلفي في Strategy Tester وضع "كل تيكة مبنية على تيكات حقيقية" بجودة بيانات 99 بالمئة لالتقاط سلوك السبريد بدقة. يجب ضبط مدخل حد رأس المال على ضعف الحد الأقصى المرسوم للانسحاب — مما يمنع الروبوت من المبالغة في الحجم بعد سلسلة رابحة.

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

في كل تيكة يقوم الروبوت بتحديث أسعار الرمز، ويفحص شمعة مغلقة جديدة، ثم يطلب من DetectRegime() تصنيف الحالة الحالية من نسب ATR وعرض بولينجر على 50 شمعة بالإضافة إلى ADX بفترة 14. لا تستمر سوى أنظمة RANGE وCOMPRESS وWEAKTREND؛ يتم حجب STRONGTREND وCHOPPY عند بوابة NoTradeReason. إذا وُجد نظام صالح، تقرأ CoreSignal() إغلاق آخر شمعة مغلقة، والحدود العليا/الدنيا لـ BB(20، 2.0)، ومؤشر RSI بفترة 14 — يُصدر الشراء عندما يكون الإغلاق تحت الحد الأدنى ومؤشر RSI تحت 30، والبيع عندما يكون الإغلاق فوق الحد الأعلى ومؤشر RSI فوق 70، مع درجة ثقة مرجحة بمدى ابتعاد الشمعة عن النطاق. ثم تفحص ConfirmFilters() أربعة شروط: يجب أن يتفق المتوسط المتحرك الأسي 50 على الإطار الأعلى (افتراضياً H1) مع الاتجاه، ويجب أن تكون ساعة الخادم بين 7 و20، ويجب أن يكون السبريد عند 30 نقطة أو أقل، ويجب أن يصل المضاعف R الضمني إلى 1.0. إذا اجتازت الأربعة، تحجم CalcLots() الصفقة لمخاطرة 0.5 بالمئة من رأس المال الفعّال مقابل وقف ATR(14) × 1.5، وتُقدِّمها SendOrder(). أثناء فتح الصفقة، تتولى ManagePosition() عمليات الوقف المتحرك ونقطة التعادل والجزئي وتلاشي الزخم والخروج الزمني. يوجد بوابتان للأرباح والخسائر المحققة — 3 بالمئة يومي و6 بالمئة أسبوعي — توقفان الدخولات الجديدة عند تفعيلهما.

إشارة الدخول

يتم تفعيل دخول الشراء عندما يكون إغلاق آخر شمعة مغلقة بالكامل تحت الحد الأدنى لنطاق بولينجر (20، 2.0) ويكون مؤشر RSI بفترة 14 تحت عتبة التشبع البيعي 30. ودخول البيع هو المرآة: الإغلاق فوق الحد الأعلى وRSI فوق 70. لا يتم التصرف بناءً على الإشارة إلا عندما يُرجع مصنف النظام RANGE أو COMPRESS أو WEAKTREND، ويكون ADX الحالي عند 35 أو أقل، ويتفق المتوسط المتحرك الأسي 50 على الإطار الأعلى مع الاتجاه، وتكون ساعة الخادم بين 7 و20، ويكون السبريد ضمن InpMaxSpreadPoints. يضمن اكتشاف الشمعة الجديدة إشارة واحدة لكل شمعة مغلقة.

إشارة الخروج

يتم التحكم في الخروج عبر ManagePosition() وهو متعدد الطبقات: إغلاق تلاشي الزخم يُغلق الصفقة إذا تحركت 0.5R ضد الدخول؛ نقل نقطة التعادل يدرج الوقف إلى الدخول + 0.10 × ATR بمجرد أن تصل الصفقة إلى 1.0R؛ يُفعَّل وقف الخسارة المتحرك بـ ATR عند 0.80R ويتحرك عند 2.0 × ATR؛ جني الأرباح الجزئي يُغلق 50 بالمئة من المركز عند 1.0R؛ ووقف زمني صلب يُغلق أي صفقة مفتوحة منذ 240 شمعة أو أكثر. يُجبر علم InpKillSwitch على إغلاق السوق لكل المراكز المفتوحة للسحر في التيكة التالية.

وقف الخسارة

يتم وضع وقف الخسارة عند سعر الدخول ناقص ATR(14) × InpATRMultiplier (افتراضي 1.5) لصفقات الشراء، والدخول زائد المسافة نفسها لصفقات البيع. تُعاد حساب المسافة عند كل دخول باستخدام ATR لآخر شمعة مغلقة. بعد أن تتحرك الصفقة 1.0R لصالحها، تدرج ManagePosition() الوقف إلى الدخول + 0.10 × ATR، محققةً ربحاً رمزياً زائداً. ثم يُوسَّع الوقف تدريجياً بواسطة ذراع ATR المتحرك بمجرد أن تتجاوز الصفقة 0.80R.

جني الأرباح

يُحدَّد جني الأرباح عند الدخول زائد ATR(14) × InpATRMultiplier × InpRR (الافتراضي: 1.5 × 2.0 = 3.0 × ATR(14)) لصفقات الشراء، والدخول ناقص المسافة نفسها لصفقات البيع — هيكل مكافأة/مخاطرة بنسبة 1:2. كما يُخفَّض حجم المركز بنسبة 50 بالمئة عبر TryClosePartial_EX17001 بمجرد أن تصل الصفقة إلى 1.0R، مما يتيح للنصف المتبقي الاستمرار تحت وقف الخسارة المتحرك بـ ATR.

الأنسب لـ

الحد الأدنى الموصى به للرصيد: 100 دولار (لن يدخل الروبوت تحت حد رأس المال الأدنى البالغ 50 دولاراً). يُنشر أفضل على XAUUSD M5 على حساب ECN أو حساب سبريد منخفض بنقاط سبريد نموذجية تقل عن 30 نقطة، لأن بوابة 30 نقطة هي القيد الملزم. نافذة جلسة لندن-نيويورك (ساعات الخادم 7-20) مُبرمجة في ConfirmFilters، لذا يجب أن يتطابق توقيت خادم الوسيط مع GMT+0 إلى GMT+2 للمحاذاة الطبيعية. مناسب للمتداولين الذين يريدون استراتيجية ارتداد إلى المتوسط باتجاه واحد ومركز واحد تتلاشى مع تطرفات بولينجر وتُعيد المركز إلى وقف متحرك بدلاً من هدف ثابت.

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

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

العائلة: Volatility الماجيك: 22217001 الإصدار: 2.00

الوصف: Closed-bar Bollinger Band extreme + RSI extreme mean- reversion (close<BBlower & RSI<oversold => LONG; close>BBupper & RSI>OB => SHORT). 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • RegimeToString()
  • NormPrice()
  • NormVol()
  • NewBarFormed()
  • EffectiveCapital()
  • RealizedPnLToday()
  • RealizedPnLThisWeek()
  • MaybeResetWeeklyBaseline()
  • CountMyPositions()
  • CountMySymbolPositions()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX17001 Volatility — Execution Flow (from source analysis)
// Family: Volatility
// Closed-bar Bollinger Band extreme + RSI extreme mean- reversion (close<BBlower & RSI<oversold => LONG; close>BBupper & RSI>OB => SHORT). 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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMagicNumber22217001Magic number
InpTradeComment"Psgrowth.com Expert_17001"Trade comment
InpDryRuntrueDry-run mode (no live sends)
InpKillSwitchfalseKill switch (halts everything)
InpRiskPercent0.5Risk % of effective capital per trade
InpDailyLossLimitPct3.0Daily loss limit % of effective capital
InpWeeklyLossLimitPct6.0Weekly loss limit % of effective capital
InpMaxConcurrent1Max concurrent positions
InpMaxSymbolExposure1Max positions per symbol
InpCooldownLossBars12Cooldown bars after consecutive losses
InpCapitalCapAmount0.0Capital cap (real money $, not notional)
InpCapitalCapFloor50.0Floor below which no entries occur
InpRSIOverbought70.0RSI overbought threshold
InpRSIOversold30.0RSI oversold threshold
InpRegimeADXMax35.0Max ADX (avoid strong trends; mean-revert)
InpHTF8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF timeframe for trend confirm
InpMaxSpreadPoints30.0Max spread (points) for entry
InpATRMultiplier1.5ATR multiple for SL distance
InpRR2.0Reward-to-risk ratio for TP
InpBETriggerR1.0Break-even trigger (R multiple)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX17001.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX17001 Volatility Navigator EA — BB extreme + RSI extreme mean-reversion, 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>

//==================== REGIME ENUM ====================
enum ENUM_REGIME
{
   REGIME_STRONGTREND, // 0
   REGIME_WEAKTREND,   // 1
   REGIME_RANGE,       // 2
   REGIME_BREAKOUT,    // 3
   REGIME_COMPRESS,    // 4
   REGIME_EXPAND,      // 5
   REGIME_CHOPPY       // 6
};

string RegimeToString(ENUM_REGIME r)
{
   switch(r)
   {
      case REGIME_STRONGTREND: return "StrongTrend";
      case REGIME_WEAKTREND:   return "WeakTrend";
      case REGIME_RANGE:       return "Range";
      case REGIME_BREAKOUT:    return "Breakout";
      case REGIME_COMPRESS:    return "Compress";
      case REGIME_EXPAND:      return "Expand";
      case REGIME_CHOPPY:      return "Choppy";
   }
   return "Unknown";
}

//==================== TUNABLE CONSTANTS (not inputs) ====================
#define DEF_RSI_PERIOD          14      // RSI calculation period
#define DEF_BB_PERIOD           20      // Bollinger Bands period
#define DEF_BB_DEVIATION        2.0     // Bollinger Bands deviation
#define DEF_ATR_PERIOD          14      // ATR period
#define DEF_ATR_PCT_LOOKBACK    50      // ATR-percentile lookback bars
#define DEF_BBW_LOOKBACK        50      // BB-width percentile lookback bars
#define DEF_HTF_EMA_PERIOD      50      // HTF EMA period
#define DEF_BE_OFFSET_ATR       0.10    // Lock-in offset (ATR) above BE
#define DEF_PARTIAL_TP_R        1.0     // Partial TP trigger (R multiple)
#define DEF_PARTIAL_PCT         50      // Partial close percent
#define DEF_TRAIL_START_R       0.80    // Trail starts after R multiple
#define DEF_TRAIL_ATR_MULT      2.0     // Trail distance ATR multiplier
#define DEF_MOMENTUM_EXIT_R     -0.50   // Momentum-decay exit (R)
#define DEF_MAX_BARS_IN_TRADE   240     // Time-based exit (bars)
#define DEF_SESSION_START_HR    7       // London session start (server hr)
#define DEF_SESSION_END_HR      20      // NY close (server hr)
#define DEF_NEWS_BLOCK_MIN      0       // Manual news window minutes (0=off)
#define DEF_SLOPE_BARS          3       // Slope/ROC bars
#define DEF_MAX_RETRIES         1       // Retry on requote/timeout

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

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

الوسوم:ex17001volatilitypipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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