Pipsgrowth EX17012 Volatility — إكسبرت أدفايزر تقلب
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX17012 Volatility — Gaussian Adaptive EA using ADX, MACD, and RSI with market-based auto-tuning. Closes positions on opposite signals, suppo. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
يقرأ إكس 17012 كل tick حزمة مؤشرات من أربعة مقابض — ADX(14، عتبة 25)، MACD(12/26/9)، RSI(14، نطاقات 30/70)، و ATR(14) — ثم يضيف فوقها طبقة تنعيم غاوسية على قيم الفترات نفسها بحيث تنجرف فترات المؤشرات نحو ظروف التداول الأخيرة بدلاً من أن تظل ثابتة. يُبنى التنعيم حول مصفوفة أوزان من 20 عنصراً تُولَّد عبر دالة CalculateGaussianWeights()، حيث sigma = window/6.0 والعمود المركزي يحصل على أعلى وزن، ثم تُطبَّع المصفوفة ليصبح مجموعها 1.0. تُشغَّل دالة GaussianSmooth() نفسها على سجلات معاملات دورية بحجم 100 شمعة لكل من فترة ADX، وفترة MACD السريعة/البطيئة/الإشارة، وفترة RSI؛ كلما ابتعدت أي قيمة من هذه القيم المموهة عن آخر تحديث بأكثر من 1.0–2.0 وحدة، يستدعي الـ EA دالة RefreshIndicators() لتحرير المقابض الأربعة وإعادة إنشائها على الإطار PERIOD_M5.
يملك محرك التكييف وضعين يتحكم بهما المدخل EnableMarketBasedTuning. مع تشغيل الضبط التلقائي (الإعداد الافتراضي)، تستدعي UpdateMarketBasedParameters() دالة CalculatePerformanceMetrics() لاحتساب نسبة الربح المتدرجة عبر آخر TuningPeriod (افتراضياً 50) صفقة مغلقة مخزّنة في المصفوفة tradeHistory[100]. عندما تنخفض currentWinRate تحت MinWinRate (60.0%)، يميل الـ EA بفترات المؤشرات نحو marketCondition الحالي: في الأسواق العرضية يُدفع ADX إلى نحو 0.8× وRSI إلى 0.9× لجعل الإشارات أكثر حساسية؛ في الأسواق الاتجاهية تُقصَّر فترة MACD السريعة إلى 0.9× وتُمدَّد البطيئة إلى 1.1× لمتابعة الترند؛ في الأسواق المتقلبة يُنفخ ADX إلى 1.2× وRSI إلى 1.1× لجعل الإشارات أكثر تحفظاً. كل التجاوزات مُقيَّدة — ADX يبقى بين 10 و30، MACD السريع بين 8 و20، البطيء بين 20 و40، الإشارة بين 5 و15، RSI بين 8 و25 — حتى لا ينجرف التنعيم إلى فترات عبثية. عند إيقاف الضبط التلقائي، تستمر UpdateAdaptiveParameters() في تطبيق التنعيم الغاوسي على القيم الثابتة فقط للحفاظ على تحديث المقابض دورياً مع تدحرج المموِّه.
توليد الإشارات مُسجَّل لا ثنائي. تتابع CheckBuySignalStrength() نفس حزمة ADX/MACD/RSI وتمنح 1.5 نقطة لـ ADX فوق العتبة مع +DI أعلى من −DI وصاعداً، و1.0 نقطة لـ ADX فوق 80% من العتبة بنفس الاتجاه، و0.5 نقطة لـ ADX فوق 60% من العتبة بصرف النظر عن الاتجاه. يُسهم MACD بـ 1.0 عند تقاطع حديث للـ main فوق signal، و0.5 عند كون الـ main فوق signal ولا يزال صاعداً. يُضيف RSI 1.0 تحت نطاق التشبع البيعي، و0.5 في أدنى 20% من النطاق مع انعكاس صاعد. تمنح مكافأة حالة السوق 0.5 إضافية إذا كانت marketCondition == 1 والترند مؤكد، و0.5 أخرى إذا كان السوق عرضياً وكان ATR منخفضاً. يُقرَّب المجموع ويقارن بـ MinSignalStrength (افتراضياً 2)؛ يُفعَّل الشراء عندما تتجاوز النتيجة 2 والـ EA ليس في شراء بالفعل. تُعد CheckSellSignalStrength() الدالة المعكوسة بنفس التسجيل ضد −DI فوق +DI، وMACD main تحت signal، ونطاقات تشبع RSI الشرائي. هذا نظام إشارات مرن: ساق ADX قوية واحدة مع تقاطع MACD ولمسة RSI يمكن أن تتجاوز العتبة حتى لو اعترض المؤشر الثالث.
يُحسَب حجم المخاطرة وفق وقف 20 نقطة أساس. تقرأ CalculateLotSizeByRisk() رصيد الحساب، تضربه في RiskPercent (2.0% افتراضياً)، تقسمه على Stop-Pips × Pip-Value، ثم تُطبِّعه على SYMBOL_VOLUME_STEP للوسيط وتُقيِّده داخل SYMBOL_VOLUME_MIN/SYMBOL_VOLUME_MAX. لا يُطبَّق الوقف وجني الأرباح بقيم الإدخال الخام عندما يكون الـ EA في نظام اتجاهي أو متقلب — تضرب OpenPosition() وقف 20 نقطة بـ 0.8 في الأسواق الاتجاهية وبـ 1.3 في المتقلبة، وتجني الأرباح 15 نقطة بـ 1.2 في الاتجاهية وبـ 1.5 في المتقلبة. ثم تُحكم إشارة بقوة 3 أو أكثر الوقف بمعامل 0.9× وتُمدد جني الأرباح بـ 1.2×، مانحة الصفقات ذات القناعة الأعلى هدفاً أوسع. عملياً على شراء بقوة 3 في سوق متقلب يكون الوقف نحو 20 × 1.3 × 0.9 = 23.4 نقطة وجني الأرباح 15 × 1.5 × 1.2 = 27 نقطة.
يعمل التريلينغ على الجانبين معاً. تتجول ManagePositions() في كل صفحة تحمل السحر، وحالما يصل الربح إلى TrailingStopStartPips (10) تشد الوقف بمقدار TrailingStopStepPips (2) لكل نقطة تقدم جديدة؛ وحالما يصل الربح إلى TrailingTPStartPips (5) تشد جني الأرباح للأسفل بمقدار TrailingTPStepPips (1) لتأمين الأرباح. لا يُنفَّذ أي تحديث إلا عندما تكون القيمة الجديدة أكثر تحفظاً من الحالية، فالتريلينغ أمامي ولا يرتخي أبداً. يقف إغلاق الإشارة العكسية في ClosePositionsOnOppositeSignal() خلف بوابة ربح — CloseOnlyProfitable افتراضياً true، وأي صفقة يكون POSITION_PROFIT لها تحت MinProfitToClose (1.0$) تُتجاوز وتُسجَّل كإغلاق فائت، مع طباعة ملخص سطر واحد في نهاية المرور.
السلامة قبل الصفقة هي كومة الحراسة المعتادة مع بعض الخصوصيات. يعيد روتين OnTick أولاً ضبط عداد الصفقات اليومي عند تدحرج شمعة D1، ثم يحسب السبريد اللحظي بالنقاط وينسحب صامتاً إذا تجاوز MaxSpreadPips (3.0 — ضيق لسلابر XAUUSD، ما يعني وسيط سبريد منخفض فقط). وينسحب أيضاً إذا كان dailyTradeCount >= MaxDailyTrades (100). تُغلِّف دوال الإعادة الثلاث — TryClose_EX17012 وTryClosePartial_EX17012 وTryModify_EX17012 — استدعاءات CTrade القياسية في حلقات من 3 محاولات مع سكون 200ms عند requote/timeout/price-changed، مطابقة لنمط الكوربوس العام. تُلحق تعليقات الأوامر درجة قوة الإشارة كـ _S<n>، فترى في تاريخ التداول ما إذا كانت الصفقة دخول بقوة 1 أو 2 أو 3. السحر 22217012.
ما يمكن توقعه في الباك تيست: المموِّه الغاوسي تفاعلي لا تنبؤي — لا يتوقع التقلب بل يتأخر عنه. يميل الـ EA إلى أخذ صفقات أكثر في الجولات الاتجاهية النظيفة وأقل في الجلسات المختلطة، وضبط نسبة الربح يعني أن مجموعة المعايير تنجرف فعلياً خلال أول 50–100 صفقة بينما يستقر المحرك في نظام. ولأن الضبط التلقائي لا يُفعَّل إلا عند فتح بوابة نسبة الربح، يمكن أن تجرّ سلسلة الخسائر المبكرة فترات ADX/RSI/MACD إلى حدودها الدنيا أو القصوى لفترة، وهذا سلوك طبيعي وليس عطلاً. الحد الأدنى للإيداع 100$ بمخاطرة 2% ووقف 20 نقطة على وسيط XAUUSD بسبريد منخفض هو ملف النشر المقصود؛ ووقف أوسع على نفس الحساب سيُذيب حجم اللوت تحت حد خطوة اللوت لدى الوسيط.
تفاصيل الاستراتيجية
في كل tick يُعيد الـ EA اشتقاق مجموعة فتراته التكيفية عبر تنعيم غاوسي لخمس سجلات معاملات دورية بحجم 100 شمعة (فترة ADX، MACD سريع/بطيء/إشارة، فترة RSI) بأوزان مُطبَّعة من 20 عنصراً، ثم يُعيد إنشاء المقابض الأربعة إذا انحرفت أي قيمة مموهة بأكثر من 1.0–2.0 وحدة عن آخر تحديث. تقرأ AnalyzeMarketConditions() 20 شمعة ATR للـ currentVolatility، و5 شموع ADX/+DI/−DI مع سلسلتي SMA(20)/SMA(50)، وتصنّف النظام إلى عرضي (0) أو اتجاهي (1) أو متقلب (2) عبر مقارنة ATR مع متوسط 20 شمعة وتوافق MA+ADX. تتجول CheckBuySignalStrength() وCheckSellSignalStrength() في نفس حزمة ADX/MACD/RSI لتسجيل قناعة 0–5 نقاط، مع مكافآت نظام تضيف نصف نقاط عند توافق الظروف؛ تُفتح المراكز بمجرد أن تتجاوز النتيجة MinSignalStrength=2 وتسمح بوابات الصفقة اليومية وأقصى عدد مراكز. تشد منطق الإغلاق في ManagePositions() كلاً من وقف الخسارة وجني الأرباح للأمام بخطوات نقطية بعد استيفاء عتبات تفعيلهما، بينما تقلب ClosePositionsOnOppositeSignal() المراكز الرابحة عند تسجيل عكسي مؤكد وتتجاهل أي صفقة يقل ربحها عن MinProfitToClose.
يُفتح شراء عندما تُرجع CheckBuySignalStrength() نقطتين أو أكثر — تجمع النتيجة 1.5 لـ ADX أعلى من 25 مع +DI فوق −DI وصاعداً، و1.0 لتقاطع حديث للـ MACD main فوق signal، و1.0 لـ RSI تحت 30، مع مكافآت 0.5 لترندات مؤكدة أو حالات عرض منخفض التقلب. تعكس إشارات البيع نفس التسجيل ضد −DI فوق +DI، وMACD main تحت signal، وRSI فوق 70. تُحظر الدخول كلما تجاوز السبريد MaxSpreadPips (3.0)، أو وصل dailyTradeCount إلى MaxDailyTrades (100)، أو امتلأ MaxPositions (2) بسحر الـ EA.
تعمل الخروجات عبر ثلاث مسارات مستقلة. يُشدّ وقف الخسارة التريلينغي بخطوات نقطتين بعد أن يتجاوز الربح 10 نقاط، ويُشدّ جني الأرباح التريلينغي بخطوات نقطة بعد أن يتجاوز الربح 5 نقاط، ولا يزال وقف 20 نقطة وجني أرباح 15 نقطة يغطيان الحركة الأولى. يُغلق CloseOnOppositeSignal أي صفقة رابحة (POSITION_PROFIT ≥ MinProfitToClose البالغ 1.0$) عندما تتجاوز الإشارة العكسية MinSignalStrength.
وقف الخسارة ثابت عند 20 نقطة × 10 (مدخل StopLossPips)، ويُضرب كذلك في 0.8 في الأسواق الاتجاهية، و1.3 في المتقلبة، ومرة أخرى في 0.9 عندما تكون قوة الإشارة 3+. بعد أن تربح الصفقة TrailingStopStartPips (10 نقاط) يُشدّ الوقف للأمام بزيادات TrailingStopStepPips (نقطتين) ولا يرتخي أبداً.
جني الأرباح 15 نقطة × 10 في الأساس (مدخل TakeProfitPips)، ويُضرب في 1.2 في الأسواق الاتجاهية، و1.5 في المتقلبة، ومرة أخرى في 1.2 عندما تكون قوة الإشارة 3+. بعد أن يتجاوز الربح 5 نقاط يُشدّ جني الأرباح للأسفل بخطوات نقطة عبر TrailingTPStepPips، ويُغلق الـ EA أيضاً مراكز الشراء/البيع الرابحة عندما تتجاوز الإشارة العكسية MinSignalStrength (افتراضياً 2).
مُصمَّم لـ XAUUSD على M5 (يعمل M5–H1) على وسيط ECN أو RAW بسبريد منخفض حيث يظل سقف السبريد 3 نقاط صامداً فعلياً خلال جلستي لندن ونيويورك. يعني تحجيم 2% مخاطر لكل صفقة مع وقف 20 نقطة أن الحد الأدنى للإيداع 100$ يدعم دخول ميكرو 0.01 لوت؛ وتستفيد الحسابات الأكبر من تشديد الوقف التريلينغي بنقطتين وجني الأرباح التريلينغي بنقطة عندما يُقفل الـ EA تحركات ممددة. يُناسب المتداولين الذين يريدون لفترات المؤشرات نفسها أن تنجرف مع ظروف السوق بدلاً من إعادة التحسين يدوياً بين الأنظمة.
منطق الاستراتيجية
Pipsgrowth EX17012 Volatility — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Volatility
الماجيك: 22217012
الإصدار: 2.00
الوصف:
Gaussian Adaptive EA using ADX, MACD, and RSI with market-based auto-tuning. Closes positions on opposite signals, supports flexible signal matching, trailing SL/TP. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CalculateGaussianWeights()UpdateAdaptiveParameters()AnalyzeMarketConditions()UpdateMarketBasedParameters()CalculatePerformanceMetrics()GaussianSmooth()RefreshIndicators()CheckBuySignalStrength()CheckSellSignalStrength()CountPositions()
// Pipsgrowth EX17012 Volatility — Execution Flow (from source analysis)
// Family: Volatility
// Gaussian Adaptive EA using ADX, MACD, and RSI with market-based auto-tuning. Closes positions on opposite signals, supports flexible signal matching, trailing SL/TP. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| RiskPercent | 2.0 | Risk percent per trade |
| MaxPositions | 2 | Max simultaneous positions |
| MaxDailyTrades | 100 | Max trades per day |
| MaxSpreadPips | 3.0 | Max spread allowed |
| Slippage | 5 | Max slippage in points |
| GaussianWindow | 20 | Window for gauss averaging |
| EnableMarketBasedTuning | true | Enable market-based auto-tuning |
| TuningPeriod | 50 | Trades to analyze for tuning |
| MinWinRate | 60.0 | Minimum win rate to maintain |
| UseFlexibleSignals | true | Allow partial signal matches |
| MinSignalStrength | 2 | Minimum signals required (1-3) |
| CloseOnOppositeSignal | true | Close positions on opposite signal |
| CloseOnlyProfitable | true | Close only profitable positions |
| MinProfitToClose | 1.0 | Minimum profit in $ to consider closing |
| ADX_Period | 14 | Initial ADX Period |
| ADX_Threshold | 25.0 | Initial ADX Threshold |
| MACD_FastEMA | 12 | Initial MACD Fast EMA Period |
| MACD_SlowEMA | 26 | Initial MACD Slow EMA Period |
| MACD_SignalSMA | 9 | Initial MACD Signal SMA Period |
| RSI_Period | 14 | Initial RSI Period |
| RSI_Overbought | 70.0 | RSI Overbought level |
| RSI_Oversold | 30.0 | RSI Oversold level |
| UseTrailingStop | true | Enable trailing stop loss |
| TrailingStopStartPips | 10 | Trailing SL start after profit in pips |
| TrailingStopStepPips | 2 | Trailing SL step pips |
| UseTrailingTP | true | Enable trailing take profit |
| TrailingTPStartPips | 5 | Start trailing TP after this many pips |
| TrailingTPStepPips | 1 | Trailing TP step pips |
| StopLossPips | 20 | Stop loss in pips |
| TakeProfitPips | 15 | Take profit in pips |
| MagicNumber | 22217012 | Order magic number |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX17012 gaussian — Gaussian Adaptive EA with ADX/MACD/RSI auto-tuning, full 12-layer stack."
#include <Trade\Trade.mqh>
input group "=== Risk Management ==="
input double RiskPercent = 2.0; // Risk percent per trade
input int MaxPositions = 2; // Max simultaneous positions
input int MaxDailyTrades = 100; // Max trades per day
input double MaxSpreadPips = 3.0; // Max spread allowed
input int Slippage = 5; // Max slippage in points
input group "=== Gaussian & Adaptive Settings ==="
input int GaussianWindow = 20; // Window for gauss averaging
input bool EnableMarketBasedTuning = true; // Enable market-based auto-tuning
input int TuningPeriod = 50; // Trades to analyze for tuning
input double MinWinRate = 60.0; // Minimum win rate to maintain
input group "=== Signal Configuration ==="
input bool UseFlexibleSignals = true; // Allow partial signal matches
input int MinSignalStrength = 2; // Minimum signals required (1-3)
input group "=== Position Management ==="
input bool CloseOnOppositeSignal = true; // Close positions on opposite signal
input bool CloseOnlyProfitable = true; // Close only profitable positions
input double MinProfitToClose = 1.0; // Minimum profit in $ to consider closing
input group "=== ADX Indicator ==="
input int ADX_Period = 14; // Initial ADX Period
input double ADX_Threshold = 25.0; // Initial ADX Threshold
input group "=== MACD Indicator ==="
input int MACD_FastEMA = 12; // Initial MACD Fast EMA Period
input int MACD_SlowEMA = 26; // Initial MACD Slow EMA Period
input int MACD_SignalSMA = 9; // Initial MACD Signal SMA Period
input group "=== RSI Indicator ==="
input int RSI_Period = 14; // Initial RSI Period
input double RSI_Overbought = 70.0; // RSI Overbought level
input double RSI_Oversold = 30.0; // RSI Oversold level
input group "=== Trailing Stop Loss ==="
input bool UseTrailingStop = true; // Enable trailing stop loss
input int TrailingStopStartPips = 10; // Trailing SL start after profit in pips
input int TrailingStopStepPips = 2; // Trailing SL step pips
input group "=== Trailing Take Profit ==="
input bool UseTrailingTP = true; // Enable trailing take profit
input int TrailingTPStartPips = 5; // Start trailing TP after this many pips
input int TrailingTPStepPips = 1; // Trailing TP step pips
input group "=== Risk Management (SL/TP) ==="
input int StopLossPips = 20; // Stop loss in pips
input int TakeProfitPips = 15; // Take profit in pips
input group "=== Identity ==="
input int MagicNumber = 22217012; // Order magic number
input string InpTradeComment = "Psgrowth.com Expert_17012";
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.