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()
// 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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
- 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagicNumber | 22217001 | Magic number |
| InpTradeComment | "Psgrowth.com Expert_17001" | Trade comment |
| InpDryRun | true | Dry-run mode (no live sends) |
| InpKillSwitch | false | Kill switch (halts everything) |
| InpRiskPercent | 0.5 | Risk % of effective capital per trade |
| InpDailyLossLimitPct | 3.0 | Daily loss limit % of effective capital |
| InpWeeklyLossLimitPct | 6.0 | Weekly loss limit % of effective capital |
| InpMaxConcurrent | 1 | Max concurrent positions |
| InpMaxSymbolExposure | 1 | Max positions per symbol |
| InpCooldownLossBars | 12 | Cooldown bars after consecutive losses |
| InpCapitalCapAmount | 0.0 | Capital cap (real money $, not notional) |
| InpCapitalCapFloor | 50.0 | Floor below which no entries occur |
| InpRSIOverbought | 70.0 | RSI overbought threshold |
| InpRSIOversold | 30.0 | RSI oversold threshold |
| InpRegimeADXMax | 35.0 | Max ADX (avoid strong trends; mean-revert) |
| InpHTF | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // HTF timeframe for trend confirm |
| InpMaxSpreadPoints | 30.0 | Max spread (points) for entry |
| InpATRMultiplier | 1.5 | ATR multiple for SL distance |
| InpRR | 2.0 | Reward-to-risk ratio for TP |
| InpBETriggerR | 1.0 | Break-even trigger (R multiple) |
#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الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية أخرى
Pipsgrowth EX01007 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01007 Adaptive — Adaptive signal scorer EA combining EMA crossover, RSI, Heiken Ashi, Bollinger Bands, ATR and volume spike detection int. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX01019 Adaptive — إكسبرت أدفايزر تكييفي
Pipsgrowth EX01019 Adaptive — Self-adaptive market regime EA that auto-detects trending, ranging, volatile, quiet and breakout conditions. Switches be. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX15029 SMC-OrderBlock — إكسبرت أدفايزر إكسبرت أدفايزر
Pipsgrowth EX15029 SMC-OrderBlock — Smart Money Concepts breakout EA — detects order blocks, CHOCH and liquidity sweeps using EMA cross + structure break, A. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.