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()
// 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)ملف التحسين
كيفية تثبيت الإكسبرت على 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 | 22201011 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_01011" | Trade Comment |
| InpTimeframe | 4 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Signal Timeframe |
| InpADXPeriod | 14 | ADX Period |
| InpTrendThreshold | 25.0 | Trend Threshold (> is Trend) |
| InpRangeThreshold | 20.0 | Range Threshold (< is Range) |
| InpEMAFast | 20 | EMA Fast |
| InpEMASlow | 50 | EMA Slow |
| InpBBPeriod | 20 | BB Period |
| InpBBDev | 2.0 | BB Deviation |
| InpRSIPeriod | 14 | RSI Period |
| InpRiskPercent | 1.0 | Risk Percent per Trade |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpStopLoss | 400 | Stop Loss (points) |
| InpTakeProfit | 800 | Take Profit (points) |
| InpMaxSpread | 250 | Max Spread (points) |
| InpSlippage | 3 | Slippage |
| MaxDailyLossPercent | 3.0 | Maximum daily loss percentage |
| MaxTradesPerDay | 10 | Maximum trades per day |
| MinEquityPercent | 80.0 | Stop trading if equity falls below this % of initial balance |
| InpMaxConsecLosses | 3 | Max consecutive losses before cooldown (0=disabled) |
| InpCooldownMin | 30 | Cooldown minutes after consec losses (0=disabled) |
| InpMaxWeeklyLossPct | 8.0 | Max weekly loss % (0=disabled) |
| InpCapAmount | 0.0 | Capital cap amount (stop trading at this equity) |
| InpCapFloor | 100.0 | Capital floor (stop trading below this equity) |
| InpServerGMTOffset | 0 | Server GMT offset in hours (0=auto-detect via weekend gap) |
| InpLondonStartHour | 7 | London session start (GMT) |
| InpLondonEndHour | 16 | London session end (GMT) |
| InpNYStartHour | 12 | New York session start (GMT) |
| InpNYEndHour | 21 | New York session end (GMT) |
| InpAvoidAsia | true | Avoid Asian session |
| InpAsiaStartHour | 0 | Asian session start (GMT) |
| InpAsiaEndHour | 7 | Asian session end (GMT) |
| AvoidNews | true | Avoid trading during news |
| InpEnableBreakEven | true | Enable Break-Even |
| BreakEvenTrigger | 200 | Break-Even Trigger (points) |
| BreakEvenLock | 20 | Break-Even Lock (points) |
| InpEnableTrail | true | Enable Trailing Stop |
| InpTrailStart | 300 | Trail Start Distance (points) |
| InpTrailStep | 100 | Trail Step (points) |
| InpTrailDistance | 150 | Distance behind price (points) |
| InpEnableProfitLock | true | Enable Profit Lock |
| ProfitLockIncrement | 200 | Profit Lock Increment (points) |
| ProfitLockStep | 100 | Profit Lock Step (points) |
| InpMaxDDPct | 20.0 | Max total drawdown % (0=disabled, triggers kill switch) |
| InpKillSwitch | false | Kill switch (stops all trading immediately) |
| InpDryRun | false | Dry-run mode: log signals without trading |
| InpMaxLot | 100.0 | Maximum lot size cap |
| InpEnablePyramid | true | Enable Pyramiding |
| InpMaxPositions | 3 | Max Open Positions |
| InpMinProfitPoints | 250 | Min Profit (points) to Add Next |
| InpPyramidGateMode | 1 | Pyramid Gate Mode (0=off,1=profit only,2=profit+SL secured) |
| InpProfitGatePoints | 150 | Profit Gate Points (for mode 2 SL securing) |
#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)
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.