P
PipsGrowth
الارتداد للمتوسطمفتوح المصدر - مجاني

Pipsgrowth EX09003 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط

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

Pipsgrowth EX09003 MeanReversion — Cycle-swing mean-reversion: CCI ±100 band cross + Stochastic main/signal cross. BUY when CCI crosses back up over -100 A. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX09003 CycleSwing هو مستشار خبير لعكس الدورة على XAUUSD يعمل على فكرة تبادل مؤشرات CCI بعد تأكيد من Stochastic. الفكرة ميكانيكية بحتة: حين يدفع مؤشر CCI إلى ما دون نطاق التشبع البيعي (-100) أو فوق نطاق التشبع الشرائي (+100)، ثم يعبر خط Stochastic الرئيسي خط الإشارة عائداً إلى داخل النطاق الأوسط (أقل من 50 للشراء، أعلى منه للبيع)، يُفترض أن الدورة تتهيّأ للارتداد، فيدخل المستشار في اتجاه هذا الارتداد. بالرقم السحري 22209003 والإصدار 2.00، وXAUUSD على الإطار M5، صُمم هذا EA خصيصاً لنموذج التبادل السريع على الذهب حيث تحدث أكثر حالات الانعكاس ربحية في انفجارات مدتها من ساعة إلى ثلاث ساعات.

طبقة الإشارة هي دالة CycleSwingSignal() التي تقرأ قيمتين مغلقتين من CCI(14) وStochastic(14,3,3) وتتحقق من عبور النطاق مع عبور الخط الرئيسي للإشارة في الاتجاه نفسه. يقيس عمق الخروج السابق قيمة ثقة بين 10 و100 — كلما كان خروج CCI أعمق تحت -100 قبل التقاطع، كانت القراءة أعلى، على أساس أن الدورة الأكثر تمدداً تنتج ارتداداً أقوى. الشراء والبيع مرآة تامة: شراء يتطلب cciPrv < -100 && cciNow > -100 مع stochMain يعبر فوق stochSignal وstochMain < 50؛ والبيع يتطلب عكس ذلك حول +100. لا تُستخدم قراءات الشمعة الحية (الإزاحة 0) — المستشار يعمل فقط على شموع مغلقة، ما يجنّبه أكثر مصادر إعادة الدخول الخاطئة في CCI.

قبل أن تنطلق أي إشارة، يجب أن تجتاز مصنّف نظام السوق المكوّن من سبع حالات. دالة ClassifyRegime() تستخدم ADX(14) وATR(14) وBollinger Bands(20, 2.0) لوصف السوق الحالي كـ StrongTrend أو WeakTrend أو Range أو Breakout أو Compress أو Expand أو Choppy. التصنيف يعتمد على ثلاثة: ADX نسبة إلى 18 (تشويش) و25 (اتجاه)، وpercentile لمؤشر ATR على نافذة 50 شمعة، وعرض بولينجر الحالي مقارنةً بمتوسطه الأخير. لانعكاس المتوسط، يُسمح فقط بـ Range وCompress وWeakTrend. أما StrongTrend وBreakout وExpand وChoppy فتحجب الدخول افتراضياً — والتعليق الصريح في ConfirmEntry() هو "تجنّب محاربة الاتجاه القوي". هذا الفلتر هو أكبر محدد وحيد لمتى يتداول EX09003 أصلاً؛ في أسبوع اتجاهي توقّع إشارات قليلة جداً.

توجد أيضاً طبقة تأكيد على إطار زمني أعلى. يسحب EA متوسطاً أسياً 50-period على H1 ويرفض الدخول إذا كان السعر بعيداً عن ذلك المتوسط بأكثر من 3 × ATR(14). الهدف السماح بعمليات عكس-اتجاه قصيرة على أزواج الانعكاس فقط عندما لا يكون الهيكل الأوسع متجهاً بقوة — السعر ملتصق بمتوسط H1 هو شرط متساهل، بينما سعر أعلى من المتوسط بـ 3 ATR في اتجاه صاعد على H1 هو عدم-تداول. إذا عطّلت فلتر النظام (InpUseRegimeFilter)، يبقى فقط نظام Choppy حاجباً. نافذة الجلسة اختيارية عبر InpUseSessionWindow، وعند تفعيلها تقصر الدخول على ساعات السيرفر 06:00-20:00 التي تغطي تقريباً انتقال آسيا→لندن إلى ما قبل افتتاح نيويورك. وهي معطلة افتراضياً.

تضيف بوابة عدم التداول ست فحوصات ميكانيكية. مفتاح القتل (InpKillSwitch) يوقف الدخول فوراً. يجب أن يكون السبريد تحت 400 نقطة (السقف مضبوط على XAUUSD — عند الذهب العشري الثاني، 400 نقطة تعني 0.40$، فأي سبريد تجزئة واسع سيحجب الدخول). يتحقق فحص الخسارة اليومية المحققة من مجموع DEAL_PROFIT+SWAP+COMMISSION للصفقات المغلقة بهذا الرقم السحري اليوم، ويرفض الدخول بمجرد أن تصل الخسارة المتراكمة إلى 3% من رأس المال الفعّال. بعد إغلاق خاسر، فترة تهدئة 5 شموع (≈25 دقيقة على M5) تحجب إعادة الدخول. عداد رأس المال $50 يوقف المستشار من التداول على حسابات مستنزفة. ساعات نهاية الأسبوع محجوبة. يستخدم فحص الأخبار عالية الأهمية CalendarValueHistory على عملتي الرمز (XAU وUSD)، ويرفض الدخول في نافذة ±30 دقيقة حول الأحداث الحمراء. وأخيراً، فحص SYMBOL_TRADE_MODE_FULL يضمن أن الوسيط لم يعطّل التداول على الرمز.

تحجيم الصفقة قائم على نسبة المخاطرة. مع InpRiskPercent = 0.5 افتراضياً ومسافة الوقف 1.5 × ATR(14)، يحسب EA المخاطرة لكل لوت من tick_value وtick_size، ويقسم 0.5% من رأس المال الفعّال على تلك المخاطرة، ويعود إلى 0.01 لوت إذا أعاد أي طرف صفراً. يُطبّق أرضية 200 نقطة (MIN_SL_POINTS) على مسافة الوقف قبل التحجيم حتى لا ينفجر حجم اللوت في بيئة ATR منخفضة. رأس المال الفعّال نفسه يخضع لسقف اختياري: ضبط InpCapCapAmount > 0 يعني أن EA يتظاهر بأن الحساب لا يحوي سوى هذا المبلغ لأغراض المخاطرة، وهو مفيد للتوسيع المرحلي.

بعد الدخول، تتولى ManageOpenPositions() الإدارة وتشتغل على كل تيكت. تُعالج ستة أحداث متميزة: (أ) وقف-تعادل لمرة واحدة عند +1R، ينقل الوقف إلى open + 1 point بمجرد أن يقطع السعر مضاعف ATR في الاتجاه لصالحنا؛ (ب) إغلاق جزئي لمرة واحدة عند +1R، يحرّر 50% من الصفقة (فقط إذا كان الحجم المتبقي على الأقل يساوي الحد الأدنى للوت لدى الوسيط)؛ (ج) جَرّ ATR عند 2.0 × ATR(14) خلف السعر، يُحكم للأمام فقط؛ (د) خروج بإشارة معاكسة يُغلق الصفقة إذا انطلقت إشارة جديدة في الاتجاه الآخر؛ (هـ) خروج زمني عند MAX_BARS_IN_TRADE = 288 شمعة (24 ساعة على M5)؛ و(و) خروج بسبب نظام Choppy يُغلق الصفقة فوراً إذا انتقل المصنف إلى Choppy. أدوات إعادة المحاولة الثلاث (TryClose_EX09003 وTryClosePartial_EX09003 وTryModify_EX09003) تعيد المحاولة عند REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED مع نوم 200ms (100ms للتعديل).

الحالة الافتراضية من العلبة هي التشغيل الجاف: InpDryRun = true يعني أن EA يسجل كل إشارة، وكل تصنيف نظام، وكل قرار بوابة، وكل تعبئة محاكاة، لكنه لا يرسل أوامر. سير العمل المقصود: اربط EA على الشارت، راقب السجل المطوّل لأيام عبر جلسات وأنظمة مختلفة، تأكد أن تكرار التداول، وحجب النظام، ومسافات الوقف/الهدف تطابق التوقعات، ثم اقلب InpDryRun إلى false. يحمل EA أيضاً معيار OnTester() مخصص: net * profit_factor / (1 + relative_drawdown)، ما يعني أن Strategy Tester سيرتب مجموعات المعاملات التي تجمع صافي الربح وعامل الربح مع عقوبة السحب، بأرضية 30 صفقة وPF موجب قبل أن تصبح الدرجة غير صفرية.

ما ليس عليه هذا EA: ليس متابعاً للاتجاه، ولا شبكة، ولا مارتينجال، ولا هرمي. MAX_PYRAMID_LEVELS = 1 ولا توجد مضاعفات لوط. إنه عكس دورة مدمج، بصفقة واحدة، مسور بالنظام، مصمم لـ XAUUSD على M5، وحافته تأتي من فلتر النظام وبوابة مسافة EMA على الإطار الأعلى اللتين ترفضان التداول في السياق البنيوي الخاطئ. الحد الأدنى للرصيد $100، مع توقّع أوسع أن أي رصيد تحت $250 سيرى سقف الخسارة اليومية 3% يُضرب في يوم سيئ قبل أن تلعب حافة EA عبر صفقات كثيرة. اقرنه بحساب ECN أو سبريد خام بحيث لا يكون سقف السبريد 400 نقطة هو العامل الحاجب.

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

على كل تيكت، يصنّف EX09003 النظام باستخدام ADX(14) وATR(14) وBollinger Bands(20, 2.0)، ويرفض التصرف في حالات StrongTrend أو Breakout أو Expand أو Choppy حيث يكون عكس المتوسط غير موثوق. تراقب دالة CycleSwingSignal() بعد ذلك عبور CCI(14) عائداً فوق/تحت نطاقي ±100 بينما يعبر خط Stochastic(14,3,3) الرئيسي خط الإشارة داخل النطاق الأوسط، وتسجّل الثقة بعمق خروج CCI السابق. يعمل المتوسط الأسي 50 على H1 حارساً بنيوياً — تُحجب الدخول إذا كان السعر بعيداً عن ذلك الخط بأكثر من 3×ATR(14)، ما يمنع عمليات عكس-الاتجاه التي تحارب اتجاه إطار أعلى أقوى. تضيف بوابة عدم التداول فوق ذلك طبقات السبريد، والخسارة اليومية المحققة، وتهدئة ما بعد الخسارة، وأرضية رأس المال، والأخبار، وفحوصات نهاية الأسبوع. عندما تُجتاز كل البوابات، يحجم OpenPosition() اللوت إلى 0.5% مخاطرة من رأس المال الفعّال ويرسل أمر سوق بوقف وهدف مستمدّين من ATR، وبعدها تتولى ManageOpenPositions() وقف-التعادل والإغلاق الجزئي وجَرّ ATR والخروج بإشارة معاكسة والخروج الزمني والخروج-بسبب-نظام-Choppy في كل تيكت لاحق.

إشارة الدخول

دخول شراء عند عبور CCI(14) عائداً فوق -100 مع عبور خط Stochastic الرئيسي فوق خط الإشارة وكون الرئيسي دون 50؛ دخول بيع هو المرآة على عبور نطاق التشبع الشرائي +100. يجب أن تجتاز الإشارة فلتر النظام (RANGE أو COMPRESS أو WEAK_TREND فقط)، وبوابة مسافة المتوسط الأسي على الإطار الأعلى (السعر في حدود 3×ATR(14) من متوسط H1 لـ 50 فترة)، والحد الأدنى 1.5 مخاطرة/عائد عند الدخول، وبوابة عدم-تداول لكل شمعة تغطي السبريد والخسارة اليومية المحققة وتهدئة ما بعد الخسارة وأرضية رأس المال والأخبار ونهاية الأسبوع.

إشارة الخروج

تُغلق الصفقات عند إشارة جديدة في الاتجاه المعاكس، أو عند انتقال النظام إلى Choppy، أو عند خروج زمني عند 288 شمعة (24 ساعة على M5). مزلاج وقف-تعادل لمرة واحدة ينقل الوقف إلى سعر الدخول+نقطة عند +1R، وإغلاق جزئي لمرة واحدة يحرر 50% من الصفقة عند +1R (فقط إذا كان المتبقي على الأقل الحد الأدنى للوت لدى الوسيط)، وجَرّ ATR عند 2.0×ATR(14) خلف السعر يُحكم للأمام فقط.

وقف الخسارة

يُوضع وقف الخسارة عند سعر الدخول ± 1.5 × ATR(14)، مع أرضية صلبة 200 نقطة (XAUUSD عشريين) لمنع انفلات حجم اللوت في بيئات التذبذب المنخفض. بمجرد أن يقطع السعر 1R لصالحنا، يرفع مزلاج وقف-التعادل لمرة واحدة الوقف إلى سعر الدخول + 1 نقطة (أو سعر الدخول - 1 نقطة للبيع).

جني الأرباح

يُوضع جني الأرباح عند سعر الدخول ± 1.5 × ATR(14) — مرجع 1:1 ترفعه طبقة التأكيد إلى 1.5 كحد أدنى باستخدام مسافات TP/SL الفعلية. ينطلق إغلاق جزئي 50% عند +1R لتثبيت ربح خالٍ من الانعكاس، مع إدارة البقية عبر جَرّ ATR، أو الخروج الزمني، أو الخروج بسبب نظام Choppy.

الأنسب لـ

الأفضل نشره على XAUUSD M5 برصيد أدنى موصى به $100 (منطقة الراحة الواقعية $500 وما فوق حتى لا يحدّ سقف الخسارة اليومية 3% من الاستراتيجية في يوم سيئ). شغّله على حساب ECN أو سبريد خام منخفض — سقف السبريد 400 نقطة مضبوط على XAUUSD عشريين ($0.40) وسيسرع بحجب الدخول على وسيط تجزئة بفروقات واسعة. أبقِ فلتر النظام مفعّلاً (الافتراضي) لإبقاء EA خارج أيام الاتجاه والاختراق، واترك نافذة الجلسة معطلة ما لم تكن ساعة سيرفر الوسيط متوافقة مع نافذة النشاط 06:00-20:00 التي تريدها فعلاً. مستوى المخاطرة MEDIUM؛ EA يتوقع أن يخطئ كثيراً لكنه يربح من عكس الدورة في مجموعة ذات معنى من الصفقات.

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

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

العائلة: MeanReversion الماجيك: 22209003 الإصدار: 2.00

الوصف: Cycle-swing mean-reversion: CCI ±100 band cross + Stochastic main/signal cross. BUY when CCI crosses back up over -100 AND Stoch main > sig AND Stoch main < 50; SELL mirror over +100. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • NormPrice()
  • NormVol()
  • LogV()
  • StopsLevelPrice()
  • EffectiveCapital()
  • RegimeName()
  • CycleSwingSignal()
  • ConfirmEntry()
  • NoTradeGate()
  • IsNewsBlocking()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX09003 MeanReversion — Execution Flow (from source analysis)
// Family: MeanReversion
// Cycle-swing mean-reversion: CCI ±100 band cross + Stochastic main/signal cross. BUY when CCI crosses back up over -100 AND Stoch main > sig AND Stoch main < 50; SELL mirror over +100. 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اسحب الإكسبرت على رسم H1 أو H4
  7. 7حدد فترة Bollinger Bands والانحراف ومستويات RSI وحجم اللوت
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMagic22209003Magic number (unique per EA)
InpTradeComment"Psgrowth.com Expert_09003"Trade comment
InpDryRuntrueDry-run (signal+log only, no orders)
InpKillSwitchfalseKILL: halt all new entries + exits-only
InpVerbosetrueVerbose logging
InpRiskPercent0.5Per-trade risk % of effective capital
InpFixedLot0.01Fallback fixed lot when risk=0
InpDailyLossLimitPC3.0Daily realized-loss limit % of effective
InpMaxConcurrent1Max concurrent positions (this magic)
InpCooldownBars5Cooldown bars after a losing exit
InpMaxSpreadPts400Max spread in points (XAUUSD-tuned)
InpCapCapAmount0.0Cap on effective capital (USD)
InpCapCapFloor50.0Floor below which entries are blocked
InpCCIPeriod14CCI period (cycle amplitude)
InpStochK14Stochastic %K
InpStochD3Stochastic %D (slowing)
InpUseRegimeFiltertrueBlock entries outside Range/Compress/WeakTrend
InpUseSessionWindowfalseRestrict to SESSION_START..END (broker tz)
InpMinRR1.5Minimum reward:risk at entry
InpATRMultSL1.5SL distance = ATR * mult
InpATRMultTP1.5TP distance = ATR * mult (MR uses tighter TP)
InpTrailATRMult2.0Trail distance = ATR * mult
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX09003.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX09003 CycleSwing XAUUSD 5M — CCI ±100 + Stochastic cross 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>

//==================== TUNABLE CONSTANTS (#define) ==================
// --- REGIME ---
#define ADR_REGIME_PERIOD        50      // ATR percentile window for regime
#define ADX_REGIME_PERIOD        14
#define ADX_TREND_THRESHOLD      25.0    // >= => trend regime
#define ADX_CHOP_THRESHOLD       18.0    // < => choppy
#define BB_REGIME_PERIOD         20
#define BB_REGIME_DEV            2.0
#define ATR_PCTILE_COMPRESS      25.0    // < pctl => compress
#define ATR_PCTILE_EXPAND        75.0    // > pctl => expand

// --- SIGNAL (original 1247 cycle swing) ---
#define CCI_APPLIED_PRICE        PRICE_TYPICAL
#define STOCH_MA_METHOD          MODE_SMA
#define STOCH_PRICE_FIELD        STO_LOWHIGH
#define CCI_OS_LEVEL             -100.0  // oversold band
#define CCI_OB_LEVEL             100.0   // overbought band
#define STOCH_MID_LEVEL          50.0    // mid threshold (room to revert)

// --- CONFIRM / HTF ---
#define HTF_TIMEFRAME            PERIOD_H1
#define HTF_MA_PERIOD            50

// --- SESSION (broker server time) ---
#define SESSION_START_HOUR       6       // Asia->Europe handover (broker tz)
#define SESSION_END_HOUR         20

// --- NEWS (manual fallback if CalendarValueHistory unavailable) ---
#define NEWS_BUFFER_MIN          30

// --- EXIT / MANAGE ---
#define BREAK_EVEN_AT_R          1.0
#define PARTIAL_TP_AT_R          1.0
#define PARTIAL_TP_RATIO         0.5
#define ATR_TRAIL_PERIOD         14
#define MAX_BARS_IN_TRADE        288     // 24h on M5
#define COOLDOWN_AFTER_N_LOSSES  3

// --- ATR / RISK MODEL ---
#define ATR_SLTP_PERIOD          14
#define MIN_SL_POINTS            200     // hard floor for SL distance (XAUUSD-tuned)

// --- SCALING (pyramid OFF by default) ---
#define MAX_PYRAMID_LEVELS       1       // 1 = no pyramid

//===================================================================

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

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

الوسوم:ex09003meanreversionpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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