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

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.02.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.02.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_PROFITMinProfitToClose البالغ 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 (يعمل M5H1) على وسيط 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()
الرمز الزائف (Pseudocode)
// 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)

ملف التحسين

الوسطاء المُحسّنون:
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

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

المعاملالافتراضيالوصف
RiskPercent2.0Risk percent per trade
MaxPositions2Max simultaneous positions
MaxDailyTrades100Max trades per day
MaxSpreadPips3.0Max spread allowed
Slippage5Max slippage in points
GaussianWindow20Window for gauss averaging
EnableMarketBasedTuningtrueEnable market-based auto-tuning
TuningPeriod50Trades to analyze for tuning
MinWinRate60.0Minimum win rate to maintain
UseFlexibleSignalstrueAllow partial signal matches
MinSignalStrength2Minimum signals required (1-3)
CloseOnOppositeSignaltrueClose positions on opposite signal
CloseOnlyProfitabletrueClose only profitable positions
MinProfitToClose1.0Minimum profit in $ to consider closing
ADX_Period14Initial ADX Period
ADX_Threshold25.0Initial ADX Threshold
MACD_FastEMA12Initial MACD Fast EMA Period
MACD_SlowEMA26Initial MACD Slow EMA Period
MACD_SignalSMA9Initial MACD Signal SMA Period
RSI_Period14Initial RSI Period
RSI_Overbought70.0RSI Overbought level
RSI_Oversold30.0RSI Oversold level
UseTrailingStoptrueEnable trailing stop loss
TrailingStopStartPips10Trailing SL start after profit in pips
TrailingStopStepPips2Trailing SL step pips
UseTrailingTPtrueEnable trailing take profit
TrailingTPStartPips5Start trailing TP after this many pips
TrailingTPStepPips1Trailing TP step pips
StopLossPips20Stop loss in pips
TakeProfitPips15Take profit in pips
MagicNumber22217012Order magic number
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX17012.mq5
#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";

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

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

الوسوم:ex17012volatilitypipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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