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

Pipsgrowth EX01011 Adaptive — إكسبرت أدفايزر تكييفي

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

Pipsgrowth EX01011 Adaptive — Regime-filter EA for XAUUSD M5 using ADX to detect trend vs range, then applies EMA crossover in trends and BB+RSI mean . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EX01011 مبني على فكرة بسيطة: أغلب صفقات الذهب تخسر لأن المتداول يطبق قواعد الاتجاه في أسواق العرض، وقواعد الارتداد في الأسواق المتجهة. هذا المستشار الخبير يفصل بين النظامين أولاً، ثم يطبّق ما يناسب كل حالة. على شارت خمس دقائق لزوج XAUUSD يحسب المؤشر ADX بفترة 14، ويقارنه بحدّين، ويقرر داخل الشمعة نفسها هل يبحث عن ارتداد اتجاهي أم ارتداد نحو المتوسط.

عندما يغلق ADX فوق 25.0 (إدخال InpTrendThreshold)، يُعامل السوق على أنه متّجه. يراقب البرنامج عندها تقاطع المتوسطين المتحركين الأسّيين 20 و50 (InpEMAFast بقيمة 20 وInpEMASlow بقيمة 50) على الإطار الزمني للإشارة. الإطار الافتراضي هو M30 لأن InpTimeframe=4 يُحوَّل عبر دالة MapTimeframeInt() إلى PERIOD_M30. التقاطع الطازج في اتجاه الاتجاه يفتح صفقة؛ التقاطع المعاكس يُتجاهل ما دام النظام لا يزال اتجاهاً. عندما ينخفض ADX تحت 20.0 (InpRangeThreshold)، يُعلَّق منطق الاتجاه ويبدأ كتيب النطاق: اختراق بولينجر باند (20، انحراف 2.0) مع قراءة RSI(14) خارج المنطقة المحايدة يفعّل دخولاً للعودة إلى منتصف الباند.

بين الحدّين (20–25 ADX) يقف البرنامج مكتوفاً. هذا الحاجز يمنع الانعكاس السريع عندما يتذبذب ADX حول خط المنتصف — وهو عطل شائع في أنظمة تبديل الأنظمة بحدّ واحد وتقلب استراتيجيتها في منتصف الشمعة.

الهرمة (إضافة عقود) مفعّلة لكن مقيّدة بدالة PyramidGateAllows(). تتحقق الدالة من أن الصفقة الحالية في ربح بما يتجاوز عازلاً قبل أن تسمح بالإضافة. بعد أن يتحرك السعر بمقدار InpProfitLockStartPips نقطة (افتراضياً 200) في صالح الصفقة، تفعّل ApplyProfitLock() القفل. من تلك النقطة يُحرَّك الوقف خلف الصفقة بمسافة InpProfitLockTrailingPips من أعلى نقطة وصلها السعر. إذا انعكس السعر، يُغلق عند الوقف المقفل لا عند الوقف الأصلي عند 400 نقطة، مما يضمن جزئياً من الأرباح لكل صفقة رابحة. دالة ManageProfitLock() هي الروتين الذي يعمل عند كل تيك لإبقاء القفل محدّثاً.

إدارة المخاطرة بنسبة 1% لكل صفقة (InpRiskPercent) باستخدام وقف الخسارة لحساب اللوت، مع خيار احتياطي 0.01 لوت ثابت عندما يكون التحجيم المعتمد على المخاطرة معطّلاً (InpFixedLot). وقف الخسارة 400 نقطة وجني الأرباح 800 نقطة — نسبة مخاطرة إلى عائد 1:2 على كل دخول. هذه النسبة نفسها سواء كانت الصفقة استمراراً للاتجاه أم ارتداداً للمتوسط، لذا يحتاج البرنامج فقط إلى نسبة فوز 35% ليتعادل قبل التكاليف.

طبقات الأمان متعدّدة. IsSafeToTrade() تقرأ حقوق الملكية مقابل MinEquityPercent (80% من الرصيد الأولي) وتمنع الفتحات الجديدة إذا خسر الحساب أكثر من 20%. MaxDailyLossPercent عند 3% يحدّ من ضرر اليوم. InpMaxConsecLosses عند 3 يليه InpCooldownMin عند 30 دقيقة يكسر سلاسل الخسارة — بعد ثالث خسارة متتالية يرفض البرنامج فتح صفقات جديدة لنصف ساعة. MaxTradesPerDay عند 10 يمنع الإفراط في التداول في الأيام الصاخبة. InpMaxWeeklyLossPct عند 8% يضع سقفاً صلباً لانحدار الأسبوع.

نظام حدّ رأس المال يستخدم قيمتين: InpCapAmount (صفر افتراضياً، أي بدون سقف أعلى) وInpCapFloor (100 افتراضياً). عندما تنخفض حقوق الملكية تحت الحد الأدنى، يتوقف البرنامج عن فتح صفقات جديدة — مفيد لإبقاء المستشار داخل إطار مخاطرة متحكَّم به خلال مرحلة الانحدار دون إجبار إغلاق كامل.

الجلسات تُدار بتوقيت GMT عبر DetectGMTOffset() ودالة IsMarketOpen(). يتداول البرنامج افتراضياً فقط خلال لندن (07:00–16:00 GMT) ونيويورك (12:00–21:00 GMT) — أعلى نافذتين من حيث حجم الذهب. فترة التداخل (12:00–16:00 GMT) تحصل على القدر الأكبر من الحركة لأن التذبذب يبلغ ذروته عندما يكون كلا السوقين نشطين معاً. خارج هذه الساعات يحتفظ البرنامج بالصفقات المفتوحة لكن لا يفتح جديدة، وفلتر الفارق (InpMaxSpread عند 250 نقطة) يحافظ على جودة الدخول خلال فجوة تغيير التاريخ.

دالة OnTester() في أسفل الملف تبني دالة لياقة مخصصة: معامل الربح مضروباً في (1 ناقص أقصى انحدار مقسوماً على 100)، مضروباً في الجذر التربيعي لـ (عدد الصفقات مقسوماً على 100). الحد الأخير يعاقب مجموعات المعاملات التي تتداول بشكل نادر جداً بحيث لا تكون ذات دلالة إحصائية، لذلك يفضّل المُحسّن في Strategy Tester التركيبات التي تنتج صفقات كافية للتحقق من منحنى الأسهم.

ما يمكن توقعه في الاختبار العكسي على M5 لزوج XAUUSD بالإعدادات الافتراضية: منحنى يرتفع في الأيام ذات الاتجاه (افتتاح لندن، إصدارات البيانات الأمريكية، أيام الفيدرالي) ويتذبذب دون دخولات جديدة في الجلسات الآسيوية الهادئة أو أيام العطل. فلتر النظام هو ما يصنع الفرق — بدونه، نفس منطق تقاطع المتوسطات على أسبوعين من التداول الجانبي ينتج سلسلة وقوفات حيث يقطع الخط السريع حول البطيء. مع فلتر ADX، نفس الفترة لا تنتج أي دخول على الإطلاق، مما يحافظ على رأس المال لليوم القادم المتّجه.

EX01011 مناسب للمتداولين الذين يفهمون أن كتاب قواعد واحداً لا يصلح لكل أيام الذهب. إن كانت لديك قناعة اتجاهية خلال لندن، ذراع الاتجاه في EX01011 ستتداولها. إن كنت تتوقع فترة عرضية هادئة بعد ظهر ثلاثاء، ذراع BB+RSI ستلعب الحواف عائدة إلى المتوسط. التصميم ثنائي الوضع هو جوهر النظام بأكمله، وحاجز عدم التداول بين الحدّين هو ما يمنعه من أن يكون مجرد استراتيجية أخرى تحارب نفسها في التذبذب.

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

مصنّف النظام هو جوهر EX01011. عند كل تيك يقرأ البرنامج قيمة ADX بفترة 14 على الإطار الزمني المضبوط، ويقارنها بحدّ الاتجاه (25.0) وحدّ النطاق (20.0)، ويتأرجح بين كتيبتين منفصلتين تماماً. في وضع الاتجاه يُفعّل تقاطع المتوسطين 20/50 الدخول؛ في وضع النطاق تُفعّل لمسة بولينجر باند مع قراءة متطرفة لـ RSI(14) دخول ارتداد إلى المتوسط. تعمل IsSafeToTrade() وIsMarketOpen() وInActiveSession() كطبقات حقّ veto — إذا أعادت أيٌّ منها false، لا يُرسل أي أمر بصرف النظر عن الإشارة. التحجيم المعتمد على المخاطرة بنسبة 1% من حقوق الملكية لكل صفقة يحدد اللوت من وقف 400 نقطة، وفلتر الفارق يرفض الدخولات فوق 250 نقطة، وقفل الربح يحرك الوقف خلف الصفقة بمجرد تحركها 200 نقطة في صالحها. حراسة الخسارة اليومية والأسبوعية وأرضية حقوق الملكية تحدّ من الضرر التراكمي؛ ودالة OnTester() المخصصة توجّه المُحسّن بعيداً عن مجموعات المعاملات المفرطة الملاءمة التي تبدو رائعة على 30 صفقة لكنها تفشل في التعميم.

إشارة الدخول

EX01011 يُصدر دخولات فقط بعد أن يصنّف ADX بفترة 14 السوق: فوق 25.0 يراقب تقاطع المتوسطين 20/50 على الإطار الزمني للإشارة (M30 افتراضياً)؛ تحت 20.0 ينتظر لمسة بولينجر باند (20، 2.0) مع قراءة متطرفة لـ RSI(14) لارتداد الحركة إلى منتصف الباند. النطاق 20–25 ADX لا ينتج أي دخول، مما يقضي على الانعكاس السريع حول العتبة. الهرمة مسموحة فقط عندما تؤكد PyramidGateAllows() أن الصفقة الحالية في ربح بما يتجاوز العازل المضبوط.

إشارة الخروج

تتم الخروج بواسطة جني الأرباح الثابت عند 800 نقطة، أو وقف الخسارة عند 400 نقطة، أو قفل الربح المتحرك — أيهما يفعّل أولاً. تفعّل ApplyProfitLock() بمجرد الوصول إلى ربح InpProfitLockStartPips نقطة وتحرك الوقف خلف السعر بمسافة InpProfitLockTrailingPips، لذا فإن أي انعكاس يُغلق عند مستوى القفل بدلاً من الوقف الأصلي. تعمل ManageProfitLock() عند كل تيك لإبقاء القفل محدّثاً مع كل قمة جديدة في صالح الصفقة.

وقف الخسارة

وقف الخسارة لكل صفقة هو 400 نقطة، متطابق بين ذراع الاتجاه وذراع النطاق، ويُحدَّد عند فتح الأمر عبر InpStopLoss. فوق ذلك، يوجد قاطع دائرة على مستوى رأس المال: IsSafeToTrade() يوقف الفتحات الجديدة عندما تنخفض حقوق الملكية تحت 80% من الرصيد الأولي (MinEquityPercent)، وMaxDailyLossPercent عند 3% يوقف المستشار عن فتح مزيد من الصفقات بمجرد بلوغ سقف انحدار اليوم.

جني الأرباح

جني الأرباح هو 800 نقطة لكلا الذراعين، بنسبة مخاطرة إلى عائد ثابتة 1:2 على كل دخول — يحتاج البرنامج فقط إلى نسبة فوز 35% ليتعادل قبل التكاليف. إضافات الهرمة قد تمدد حجم الصفقة، لكن كل أمر فردي يحافظ على نفس نسبة 400:800 للوقف/الهدف. تكافئ دالة OnTester مجموعات المعاملات التي تحافظ على هذه النسبة مع توليد عدد كافٍ من الصفقات ليكون ذا دلالة إحصائية.

الأنسب لـ

EX01011 مضبوط لزوج XAUUSD على الإطار M5 (إطار الإشارة M30 افتراضياً) بحد أدنى موصى به للرصيد 100 دولار ومستوى مخاطرة متوسط — InpCapFloor وحارس حقوق الملكية عند 80% يجعلان الحسابات دون 100 دولار غير مناسبة. نظراً لاعتماد الاستراتيجية على وقفات ضيقة عند 400 نقطة وفلتر فارق أقصى عند 250 نقطة، فإن وسيط فارق منخفض بفارق XAUUSD نموذجي أقل من 25 نقطة مطلوب لإبقاء الدخولات داخل إطار المخاطرة. نوافذ لندن (07:00–16:00 GMT) ونيويورك (12:00–21:00 GMT) تولّد معظم الإشارات، لذا المتداولون في المناطق الزمنية المتوافقة — أو من يشغّلون على VPS متوافق مع GMT — سيرون أعلى نشاط؛ ويتجنب البرنامج صراحة فجوة تغيير التاريخ الآسيوية.

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

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

العائلة: Adaptive الماجيك: 22201011 الإصدار: 2.10

الوصف: Regime-filter EA for XAUUSD M5 using ADX to detect trend vs range, then applies EMA crossover in trends and BB+RSI mean reversion in ranges. Pyramiding with profit-lock trailing. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • CheckSignal()
  • OpenBuy()
  • OpenSell()
  • ManageProfitLock()
  • IsGridSafe()
  • CalculateLotSize()
  • CountPositions()
  • NormalizePrice()
  • DetectFillingMode()
  • ClampLot()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX01011 Adaptive — Execution Flow (from source analysis)
// Family: Adaptive
// Regime-filter EA for XAUUSD M5 using ADX to detect trend vs range, then applies EMA crossover in trends and BB+RSI mean reversion in ranges. Pyramiding with profit-lock trailing. 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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMagicNumber22201011Magic Number
InpTradeComment"Psgrowth.com Expert_01011"Trade Comment
InpTimeframe4Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Signal Timeframe
InpADXPeriod14ADX Period
InpTrendThreshold25.0Trend Threshold (> is Trend)
InpRangeThreshold20.0Range Threshold (< is Range)
InpEMAFast20EMA Fast
InpEMASlow50EMA Slow
InpBBPeriod20BB Period
InpBBDev2.0BB Deviation
InpRSIPeriod14RSI Period
InpRiskPercent1.0Risk Percent per Trade
InpFixedLot0.01Fixed Lot (if Risk=0)
InpStopLoss400Stop Loss (points)
InpTakeProfit800Take Profit (points)
InpMaxSpread250Max Spread (points)
InpSlippage3Slippage
MaxDailyLossPercent3.0Maximum daily loss percentage
MaxTradesPerDay10Maximum trades per day
MinEquityPercent80.0Stop trading if equity falls below this % of initial balance
InpMaxConsecLosses3Max consecutive losses before cooldown (0=disabled)
InpCooldownMin30Cooldown minutes after consec losses (0=disabled)
InpMaxWeeklyLossPct8.0Max weekly loss % (0=disabled)
InpCapAmount0.0Capital cap amount (stop trading at this equity)
InpCapFloor100.0Capital floor (stop trading below this equity)
InpServerGMTOffset0Server GMT offset in hours (0=auto-detect via weekend gap)
InpLondonStartHour7London session start (GMT)
InpLondonEndHour16London session end (GMT)
InpNYStartHour12New York session start (GMT)
InpNYEndHour21New York session end (GMT)
InpAvoidAsiatrueAvoid Asian session
InpAsiaStartHour0Asian session start (GMT)
InpAsiaEndHour7Asian session end (GMT)
AvoidNewstrueAvoid trading during news
InpEnableBreakEventrueEnable Break-Even
BreakEvenTrigger200Break-Even Trigger (points)
BreakEvenLock20Break-Even Lock (points)
InpEnableTrailtrueEnable Trailing Stop
InpTrailStart300Trail Start Distance (points)
InpTrailStep100Trail Step (points)
InpTrailDistance150Distance behind price (points)
InpEnableProfitLocktrueEnable Profit Lock
ProfitLockIncrement200Profit Lock Increment (points)
ProfitLockStep100Profit Lock Step (points)
InpMaxDDPct20.0Max total drawdown % (0=disabled, triggers kill switch)
InpKillSwitchfalseKill switch (stops all trading immediately)
InpDryRunfalseDry-run mode: log signals without trading
InpMaxLot100.0Maximum lot size cap
InpEnablePyramidtrueEnable Pyramiding
InpMaxPositions3Max Open Positions
InpMinProfitPoints250Min Profit (points) to Add Next
InpPyramidGateMode1Pyramid Gate Mode (0=off,1=profit only,2=profit+SL secured)
InpProfitGatePoints150Profit Gate Points (for mode 2 SL securing)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX01011.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.10"
#property strict
#property description "Pipsgrowth.com EX01011 RegimeFilter XAUUSD 5M — ADX regime switch with EMA/BB+RSI strategies, full 12-layer stack. Hardened: filling mode, retry, normalize, BE/PL, pyramid gate."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>

CTrade         trade;
CPositionInfo  position;
CSymbolInfo    mysymbol;
CAccountInfo   account;

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;
   }
}

ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}

ENUM_TIMEFRAMES g_InpTimeframe = PERIOD_H1;

input group "=== Identity ==="
input ulong    InpMagicNumber    = 22201011;   // Magic Number
input string   InpTradeComment   = "Psgrowth.com Expert_01011"; // Trade Comment

input group "=== Timeframe ==="
input int InpTimeframe = 4; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Signal Timeframe

input group "=== Regime Detector ==="
input int      InpADXPeriod      = 14;       // ADX Period
input double   InpTrendThreshold = 25.0;     // Trend Threshold (> is Trend)
input double   InpRangeThreshold = 20.0;     // Range Threshold (< is Range)

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

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

الوسوم:ex01011adaptivepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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