Pipsgrowth EX09016 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX09016 MeanReversion — Stochastic reversal EA for XAUUSD M5. BUY when Stochastic K/D crossover in oversold (<20) with price above EMA filter; S. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 09016 بيبس جروث انعكاس متوسط هو مستشار خبير قائم على مؤشرين يدور حول فكرة واحدة محددة: تقاطع مؤشر ستوكاستيك يحدث داخل منطقة تذبذب واضحة، ولكن فقط عندما يتوافق هذا التقاطع مع اتجاه المتوسط المتحرك الأسي البطيء. الهدف من الإعداد هو التقاط أول ارتداد داخل اتجاه قائم، وليس معاكسة الاتجاهات أو اختيار القمم في السوق العرضي. عمليًا، يراقب المستشار مؤشر ستوكاستيك بإعدادات K=14 وD=3 والإبطاء=3 (إعدادات ستوكاستيك السريعة القياسية في MT5)، ثم ينتظر حتى يعبر خط %K الرئيسي خط %D بينما يجلس كلا الخطين تحت 20 (للشراء) أو فوق 80 (للبيع). لا يصبح هذا التقاطع صفقة حقيقية إلا إذا كان إغلاق الشمعة 1 على الجانب الصحيح من مرشح الاتجاه EMA(100) — فوق المتوسط للشراء، وتحت المتوسط للبيع. بوابة المتوسط هي التي تحوّل إشارة تشبع بيعي/شرائي خام إلى دخول ارتداد اتجاهي.
مسار التنفيذ صغير عمدًا. داخل CheckSignal() يقرأ المستشار مَخزَنَيْن من ستوكاستيك ومخزنًا واحدًا من EMA من الشمعة 1، يحسب تقاطع K/D، ويوجّه إما إلى OpenBuy() أو OpenSell() — وليس الاثنين. بوابة المركز الواحد (PositionsTotal() > 0 → return) تعني أن المستشار لا يضيف مراكز، ولا يتحوط ضد نفسه، ولا يحمل أكثر من تذكرة واحدة مفتوحة في أي وقت. تبني دالتا الفتح مستويات SL و TP من mysymbol.Ask() / mysymbol.Bid() ناقصًا أو زائدًا عدد نقاط ثابتًا، ثم تستدعيان CalculateLotSize() وتسلمان الأمر إلى حلقة إرسال من 3 محاولات مع نوم 500 مللي ثانية بين المحاولات وفحص مسبق لـ OrderCalcMargin مقابل ACCOUNT_MARGIN_FREE.
يتبع تحديد حجم المركز صيغة نسبة المخاطرة القياسية. CalculateLotSize(stopLossPoints) تقرأ AccountInfoDouble(ACCOUNT_BALANCE)، تضرب في InpRiskPercent / 100.0، تقسم على stopLossPoints * (tickValue / (tickSize / point))، ثم تُقرّب الناتج نزولًا إلى LotsStep للرمز وتُقصّره إلى LotsMin و LotsMax للوسيط. مع المخاطرة الافتراضية 1% ووقف الخسارة 300 نقطة على XAUUSD، يعطي ذلك حجم لوت يتناسب طرديًا مع حجم الحساب. إذا ضبط المستخدم InpRiskPercent = 0، يسقط المستشار إلى InpFixedLot الثابت (افتراضي 0.01)، وهو إعداد مفيد للاختبار أو لتشغيل لوت صغير على إيداع 100–200 دولار.
طبقة إدارة الصفقات رقيقة مقارنة بالمستشارين الآخرين في المجموعة. لا يوجد وقف خسارة متحرك (trailing)، ولا ترس نقطة التعادل (break-even)، ولا إغلاق جزئي، ولا خروج مبني على الوقت، ولا خروج مبني على إشارة معاكسة، ولا مصنف نظام (regime). يبقى المركز حتى يُضرب إما SL الثابت أو TP الثابت، أو تتم إزالة المستشار من الشارت. هذه البساطة خيار تصميم متعمد — كل ميزة إكس 09016 من المفترض أن تأتي من مرشح الدخول (تطرف ستوكاستيك + اتجاه EMA)، وليس من أي إدارة داخل الصفقة. إذا كنت تريد ترس نقطة التعادل، أو جني الأرباح الجزئي، أو المنطق المتحرك، فهذا ليس المستشار المناسب.
طبقة الأمان قبل التداول، من ناحية أخرى، كاملة. تشغّل IsSafeToTrade_EX09016() تسعة بوابات بالترتيب: (1) سقف رأس المال — إذا كان InpCapAmount > 0 ووصلت Equity إليه، يتوقف المستشار عن التداول (اضبطه على 0 لتعطيله، كما هو افتراضيًا)؛ (2) أرضية رأس المال — رفض التداول إذا انخفضت Equity تحت InpCapFloor (افتراضي 50 دولار)؛ (3) بوابة السحب — رفض إذا انخفضت Equity تحت 95% من الرصيد الأولي (InpMinEquityPercent)؛ (4) خسارة يومية — رفض عندما تتجاوز الخسائر المحققة في اليوم 3% من EffectiveCapital_EX09016()؛ (5) خسارة أسبوعية — رفض عندما تتجاوز الخسائر المحققة في الأسبوع 6% من رأس المال الفعال (3% × 2)؛ (6) تهدئة — بعد InpMaxConsecLosses (افتراضي 3) خسائر متتالية، حظر الإدخالات الجديدة لمدة InpCooldownMinutes (افتراضي 30 دقيقة)؛ (7) حد أقصى للصفقات اليومية عند InpMaxTradesPerDay (افتراضي 50)؛ (8) فحص السوق المفتوح عبر IsMarketOpen_EX09016() (يغلق الجمعة 21:00 GMT، وكل يوم السبت، والأحد قبل 22:00 GMT)؛ (9) مرشح الجلسة — التداول فقط خلال لندن 7–16 أو نيويورك 12–21 بتوقيت GMT، وإذا كان InpAvoidAsia مفعّلًا، استبعاد 0–7 GMT أيضًا ما لم يقع الوقت داخل لندن أو نيويورك. مرشح الأخبار الاختياري InpNewsFilter (معطّل افتراضيًا) يضيف حظرًا ±15 دقيقة حول افتتاح لندن وافتتاح نيويورك كوكيل زمني، وليس موجز أخبار حقيقي.
كشف GMT تلقائي: تفحص DetectGMTOffset_EX09016() آخر 100 شمعة H1 في OnInit بحثًا عن فجوة ساعتين، تستنتج إزاحة GMT للوسيط من طابع الشمعة الزمني، وتخزنها في g_gmtOffset. إذا كنت تعرف إزاحة الوسيط، يمكنك ضبط InpServerGMTOffset يدويًا وتخطي الكشف التلقائي. جميع فحوصات الجلسة وفتح السوق تعمل على الساعة المصححة لـ GMT عبر ServerToGMT_EX09016().
تدفق on-tick حلقة محكمة. تستدعي OnTick() أولًا UpdateDailyCounters_EX09016() (تُصفّر g_tradesToday و g_consecLosses و g_realizedToday في تاريخ جديد)، تُحدّث حالة الرمز، وتخرج فورًا إذا كان mysymbol.Spread() > InpMaxSpread (افتراضي 250 نقطة على XAUUSD، أي ما يعادل ~25 نقطة). يفرض متغير lastBar الثابت إيقاع استدعاء واحد لكل شمعة: تتم معالجة بقية التيك فقط عند تغير iTime(_Symbol, _Period, 0). إذا نجحت جميع بوابات الأمان، تعمل CheckSignal()؛ وإلا فالتك صامت.
يُنشأ مَقبضا المؤشرَين (hStoch = iStochastic(..., MODE_SMA, STO_LOWHIGH) و hMA = iMA(..., MODE_EMA, PRICE_CLOSE)) في OnInit ويُحرران في OnDeinit. لا يوجد مرشح إطار زمني أعلى، ولا مذبذب إضافي، ولا تأكيد حجم، ولا ADX — EMA(100) هو المرجع الاتجاهي الوحيد. هذا يعني أن المستشار سيُطلق أول تقاطع ارتداد ستوكاستيك على نفس الشمعة التي يُختبر فيها المتوسط، دون أي تأكيد آخر. في الاتجاهات القوية يعطي ذلك دخولًا نظيفًا عند أول تراجع؛ في السوق العرضي، ينتج سيل من التقاطعات الكاذبة التي لا تقف أمامها سوى بوابة EMA. نسبة المخاطرة الافتراضية 1% ونسبة SL/TP 300/500 (1:1.67) تتحملان معدل الإيجابيات الكاذبة هذا، لكن منحنى Equity سيعكسه.
ما يمكن توقعه في الباك تيست. على XAUUSD M5 الاستراتيجية في أفضل حالاتها خلال تداخل لندن–نيويورك (12–16 GMT) عندما يتحرك الذهب باتجاه يومي واضح — يُحترم EMA(100) وتكون تطرفات ستوكاستيك عميقة بما يكفي لإطلاق إشارات موثوقة. هي في أسوأ حالاتها خلال نافذة آسيا 0–7 GMT التي يحظرها المستشار صراحة، وأثناء جلسة نيويورك المتأخرة (بعد 21 GMT) عندما يكون النطاق اليومي قد استُنزف إلى حد كبير. دالة لياقة OnTester() الافتراضية هي netProfit * profitFactor / (1 + equity_dd_percent) بحد أدنى 30 صفقة، لذا سيُرتّب Strategy Tester مجموعات المعاملات حسب العائد المرجّح بالجودة بدلاً من الربح الخام. اجتياز هذا المرشح يعني أن مجموعة المعاملات يجب أن تكون قوية عبر نوافذ خارج العينة؛ الرسوب (أقل من 30 صفقة) يعني أن المستشار سيُرجع درجة صفر بدلًا من درجة مضللة.
القائمة الصريحة لما ليس في هذا الكود: لا تكديس مراكز، لا مارتينجال، لا شبكة، لا تحوط، لا وقف متحرك، لا نقطة تعادل، لا إغلاق جزئي، لا خروج زمني، لا خروج بإشارة معاكسة، لا TP سلة، لا مصنف نظام، لا مرشح HTF، لا تأكيد حجم، لا موجز أخبار MQL5 (مرشح الأخبار وكيل زمني حول ساعات الافتتاح). عنوان الـ 12 طبقة في رأس الكود طموح — الكود فعليًا يطبق SIGNAL و ENTRY و NO-TRADE/Safety و RISK و SIZING و OnTester. إذا بدا الباك تيست جيدًا جدًا، فأنت على الأرجح تُحسن ملاءمة (over-fitting) الـ 13 مدخلًا؛ المستشار صغير عمدًا، والـ alpha من المفترض أن يأتي من دخول نظيف واحد، لا من جدار من الخيارات.
تفاصيل الاستراتيجية
في كل شمعة M5 جديدة يُحدّث المستشار مَقبضَي مؤشر MT5 — hStoch = iStochastic(14, 3, 3, MODE_SMA, STO_LOWHIGH) و hMA = iMA(100, MODE_EMA, PRICE_CLOSE) — وينسخ مَخزَنَي ستوكاستيك ومخزن EMA من الشمعة 1. لا تُفعَّل إشارة الشراء إلا عندما يكون K<20 و D<20 و K>D و K_prev<=D_prev وإغلاق الشمعة 1 فوق EMA(100)؛ إشارة البيع معكوسة. يفرض حارس lastBar الثابت في OnTick() تقييمًا واحدًا لكل شمعة، ويفرض PositionsTotal() > 0 سياسة المركز الواحد الصارمة. يتدفق الأمر المختار عبر OpenBuy() أو OpenSell()، اللتين تحسبان SL و TP من العرض/الطلب الحي زائد/ناقص إزاحات النقاط المضبوطة، ثم تستدعيان CalculateLotSize() لاستخلاص لوت نسبة المخاطرة مقرّبًا نزولًا إلى LotsStep للرمز. حلقة إرسال من 3 محاولات مع فحص مسبق OrderCalcMargin ونوم 500 مللي ثانية بين المحاولات تستدعي TryBuy_EX09016() أو TrySell_EX09016()، وكل منهما يعيد المحاولة 3 مرات على REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED. تشغّل IsSafeToTrade_EX09016() تسع بوابات — سقف رأس المال، أرضية رأس المال، سحب 95% من الرصيد الأولي، خسارة يومية 3%، خسارة أسبوعية 6%، تهدئة 30 دقيقة بعد 3 خسائر متتالية، حد 50 صفقة يوميًا، ساعة السوق المفتوح، ومرشح جلسة لندن/نيويورك — قبل تقييم الإشارة أصلًا. عنوان الـ 12 طبقة في رأس الكود طموح: الكود فعليًا يطبق SIGNAL و ENTRY و NO-TRADE/Safety و RISK و SIZING و OnTester (netProfit * profitFactor / (1 + equity_dd_percent) بحد أدنى 30 صفقة).
إشارة الشراء تُفعّل على الشمعة 1 من M5 عندما يعبر %K فوق %D وكلا الخطين تحت 20 (تشبع بيعي) وإغلاق الشمعة 1 فوق مرشح الاتجاه EMA(100)؛ إشارة البيع معكوسة مع تقاطع %K تحت %D فوق 80 وإغلاق الشمعة 1 تحت EMA(100). بوابة المركز الواحد تعني أن المستشار لا يفتح تذكرة ثانية ما دامت هناك تذكرة مفتوحة.
لا يوجد منطق خروج داخل الصفقة — يُحتفظ بالمركز حتى يُضرب إما SL الثابت أو TP الثابت. بوابة المركز الواحد ومرشح السبريد على التيك وإيقاع الشمعة الواحدة تعني أن المستشار يتوقف ببساطة عن إعادة التقييم بمجرد فتح الصفقة. لا يوجد خروج بإشارة معاكسة، ولا خروج زمني، ولا إغلاق جزئي، ولا ترس نقطة تعادل.
وقف خسارة ثابت لكل صفقة بقيمة InpStopLoss (افتراضي 300 نقطة على XAUUSD، أي ما يعادل ~3.00 دولار على لوت 0.01) يُطبَّق عند الدخول من السعر المقابل؛ لا يوجد سقف سحب إجمالي، ولا وقف متحرك، ولا ترس نقطة تعادل. بوابة خسارة يومية عند 3% من رأس المال الفعال وبوابة خسارة أسبوعية عند 6% تحظران الإدخالات الجديدة بمجرد بلوغها، لكنهما لا تغلقان المراكز القائمة.
جني أرباح ثابت لكل صفقة بقيمة InpTakeProfit (افتراضي 500 نقطة على XAUUSD، أي ما يعادل ~5.00 دولار على لوت 0.01) يُطبَّق عند الدخول من نفس سعر العرض المستخدم لـ SL، مما يعطي نسبة مخاطرة إلى عائد 1:1.67 في الإعدادات الافتراضية. لا يوجد TP سلة، ولا توزيع للخروج، ولا إغلاق جزئي — يُغلق المركز بالكامل عند مستوى TP أو لا يُغلق.
الأفضل على حساب مايكرو 100–500 دولار يعمل XAUUSD M5 مع وسيط ECN سبريده منخفض (سقف سبريد 250 نقطة على XAUUSD متسامح لكنك لا تزال تريد سبريدًا نموذجيًا أقل من 30 نقطة للإدخالات النظيفة)، مع التركيز على نافذة تداخل لندن-نيويورك (12–16 GMT) حيث تكون تطرفات ستوكاستيك على شمعة 5 دقائق اتجاهية عميقة بما يكفي لأخذها على محمل الجد. يجب أن يبقى علم InpAvoidAsia مفعّلًا (افتراضي) ويمكن تفعيل مرشح الأخبار إذا كنت تتداول حول إصدارات NFP/FOMC عالية التأثير. سياسة المركز الواحد وعدم وجود تكديس تعني أن هذا المستشار محرك إشارات بحجم لوت صغير — وليس مضاعفًا للأموال — لذا اقرنه بنسبة مخاطرة منخفضة (0.5%–1%) ودع طبقة الأمان (3% يومي، 6% أسبوعي، تهدئة بعد 3 خسائر) تكون مدير المخاطر الحقيقي.
منطق الاستراتيجية
Pipsgrowth EX09016 MeanReversion — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MeanReversion
الماجيك: 22209016
الإصدار: 2.00
الوصف:
Stochastic reversal EA for XAUUSD M5. BUY when Stochastic K/D crossover in oversold (<20) with price above EMA filter; SELL when K/D crossover in overbought (>80) with price below EMA. Single position, fixed SL/TP, and the 12-layer stack: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTradeTransaction()CheckSignal()OpenBuy()OpenSell()CalculateLotSize()EffectiveCapital_EX09016()DetectGMTOffset_EX09016()ServerToGMT_EX09016()IsMarketOpen_EX09016()InActiveSession_EX09016()
// Pipsgrowth EX09016 MeanReversion — Execution Flow (from source analysis)
// Family: MeanReversion
// Stochastic reversal EA for XAUUSD M5. BUY when Stochastic K/D crossover in oversold (<20) with price above EMA filter; SELL when K/D crossover in overbought (>80) with price below EMA. Single position, fixed SL/TP, and the 12-layer stack: 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اسحب الإكسبرت على رسم H1 أو H4
- 7حدد فترة Bollinger Bands والانحراف ومستويات RSI وحجم اللوت
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpStochK | 14 | Stochastic K |
| InpStochD | 3 | Stochastic D |
| InpStochSlowing | 3 | Stochastic Slowing |
| InpFilterEMA | 100 | Trend Filter EMA |
| InpRiskPercent | 1.0 | Risk Percent per Trade |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpStopLoss | 300 | Stop Loss (points) |
| InpTakeProfit | 500 | Take Profit (points) |
| InpMagicNumber | 22209016 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_09016" | Trade Comment |
| InpMaxSpread | 250 | Max Spread (points) |
| InpSlippage | 3 | Slippage |
| InpMaxConsecLosses | 3 | --- Handles |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX09016 StochReversal_XAUUSD_5M — Stochastic reversal with EMA filter, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
CTrade trade;
CPositionInfo position;
CSymbolInfo mysymbol;
CAccountInfo account;
//--- Input Groups
input group "=== Strategy Parameters ==="
input int InpStochK = 14; // Stochastic K
input int InpStochD = 3; // Stochastic D
input int InpStochSlowing = 3; // Stochastic Slowing
input int InpFilterEMA = 100; // Trend Filter EMA
input group "=== Money Management ==="
input double InpRiskPercent = 1.0; // Risk Percent per Trade
input double InpFixedLot = 0.01; // Fixed Lot (if Risk=0)
input int InpStopLoss = 300; // Stop Loss (points)
input int InpTakeProfit = 500; // Take Profit (points)
input group "=== Identity ==="
input int InpMagicNumber = 22209016; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_09016"; // Trade Comment
input group "=== Trade Management ==="
input int InpMaxSpread = 250; // Max Spread (points)
input int InpSlippage = 3; // Slippage
input group "=== Hardening: Risk Management ==="
input double InpDailyLossLimitPct = 3.0;
input double InpMaxLot = 5.0;
input group "=== Capital Allocation Cap ==="
// InpCapEnabled removed — use InpCapAmount=0 to disable
input double InpCapAmount = 0.0;
input double InpCapFloor = 50.0;
input group "=== Hardening: GMT Sessions ==="
input int InpServerGMTOffset = 0;
input int InpLondonStartHour = 7;
input int InpLondonEndHour = 16;
input int InpNYStartHour = 12;
input int InpNYEndHour = 21;
input bool InpAvoidAsia = true;
input int InpAsiaStartHour = 0;
input int InpAsiaEndHour = 7;
input bool InpNewsFilter = false;
input int InpNewsFilterMinutes = 15;
input int InpMaxTradesPerDay = 50;
input double InpMinEquityPercent = 95.0;
input int InpCooldownMinutes = 30;
input int InpMaxConsecLosses = 3;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية الارتداد للمتوسط
Pipsgrowth EX09013 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
Pipsgrowth EX09013 MeanReversion — Bollinger Bands mean-reversion EA with EMA trend filter. BUY when price touches lower band (trend up); SELL when price t. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX09009 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
Pipsgrowth EX09009 MeanReversion — Hanging Man (bearish) / Hammer (bullish) candlestick on last CLOSED bar + Stochastic confirmation (Stoch<20 Buy / Stoch>. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX09023 MeanReversion — إكسبرت أدفايزر ارتداد للمتوسط
Pipsgrowth EX09023 MeanReversion — Bollinger Band mean reversion EA that fades outer band touches with fixed SL/TP and single-position control, using the 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.