Pipsgrowth EX02029 Breakout — إكسبرت أدفايزر اختراق
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX02029 Breakout — Gap-trading EA that buys when a bar opens below the previous bar's low minus a gap threshold, and sells when a bar opens. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX02029 هو مستشار خبير متخصص في عكس اتجاه الفجوات (Gap-Fade) — أي أنه يستغل فجوات الافتتاح بين الشمعدانات افتراضًا بأن الجزء غير المُغلَق من الشمعة السابقة سيُسد خلال الجلسة التالية. في حين أن معظم مستشاري الاختراق في عائلة EX02 يركبون كسر نطاق نظيف، فإن EX02029 يتعمد معاكسة الحركة التي يحاول متداولو الفجوات الاستفادة منها. المسار التنفيذي مقصود فيه البساطة: عتبة فجوة واحدة، ووقف خسارة ثابت، وهدف ثابت، ووقف متحرك متدرج — لا توجد مؤشرات تذبذب، ولا ATR، ولا Donchian، ولا طبقات Heikin-Ashi. الإشارة بالكامل تُستخلص من شمعدتين ومعامل واحد.
يعيش منطق الاكتشاف الأساسي داخل OnTick(). بعد حارس الشمعة الجديد القياسي (PrevBars الساكن datetime الذي يقارن iTime بقيمة التيك السابق) وبوابة IsSafeToTrade_EX02029، يسحب المستشار آخر سعرَين عبر CopyRates على الإطار g_tf المكوَّن (M5 افتراضيًا) ويُنفّذ فحص متباينة واحد على كل جانب:
if(rates[0].open < rates[1].low - ExtGap) → OpenBuy بسعر ask، SL = ask - ExtStopLoss، TP = ask + ExtTakeProfit
if(rates[0].open > rates[1].high + ExtGap) → OpenSell بسعر bid، SL = bid + ExtStopLoss، TP = bid - ExtTakeProfit
يتم تحديد حجم الفجوة بواسطة InpGap (افتراضي 1 نقطة، مُقيَّس بواسطة m_adjusted_point الذي يعوض تسعير الوسطاء بـ 3 و5 خانات)، ويُشار فقط إلى آخر شمعة مغلقة — shift-1 بحكم البناء. كلا مساري الدخول يعملان بشكل متسلسل داخل التيك نفسه، لذا يمكن للمستشار من حيث المبدأ فتح شراء وبيع خلال شمعة واحدة إذا تحققت حالة الفجوة في الاتجاهين، لكن بنية الافتتاح/الإغلاق للشمعة السابقة تمنع ذلك عمليًا. يوجد فحص سلامة متعمد قبل إطلاق الشراء: إذا كان وقف الخسارة المحسوب عند سعر bid الحالي أو أعلى منه، فإن المركز سينتهك الحد الأدنى لمستوى الوقف لدى الوسيط، ويخرج المستشار بضبط PrevBars=0 لإجبار إعادة التقييم في التيك التالي بدلاً من إرسال طلب مشوّه.
تدير المراكز حول ثلاث مُدخلات قائمة على النقاط. InpStopLoss افتراضي 50 نقطة، وInpTakeProfit افتراضي 50 نقطة (لذلك يشحن EA بنسبة مخاطرة/عائد 1:1 افتراضيًا)، وInpTrailingStop + InpTrailingStep افتراضيان عند 5 نقاط لكل منهما. تعمل دالة Trailing() على كل تيك — وليس فقط على الشموع الجديدة — ولكل مركز مفتوح ينتمي إلى السحر 22202029 والرمز الحالي، تتحقق مما إذا كان السعر قد تحرك بأكثر من ExtTrailingStop+ExtTrailingStep لصالح المركز. إذا نعم وكان الوقف الحالي لا يزال خلف هذه العتبة الجديدة، تُعدّل SL إلى ExtTrailingStop خلف السعر الحالي عبر TryModify_EX02029، التي تُكرّر التعديل حتى ثلاث مرات بفواصل 200 مللي ثانية عند REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED. الوقف المتحرك يشد فقط في الاتجاه المربح — لا توجد خطوة BE+lock، ولا إغلاق جزئي، ولا حشوة تعادل. بمجرد أن يغطي السعر نافذة التتبع، يتدرج الوقف إلى الأمام؛ إذا لم يتحرك SL قبل TP، يُغلق الصفقة عند الهدف الثابت.
يفرض روتين OnInit أيضًا ثابتًا صارمًا: InpTrailingStop!=0 مع InpTrailingStep==0 يُرجع INIT_PARAMETERS_INCORRECT مع تنبيه مُحلي — التتبع بدون خطوة سيُطلق استدعاء التعديل على كل تيك ويُحمّل خادم التداول فوق طاقته. هذا الفحص الواحد يمسك أكثر خطأ تكوين شيوعًا قبل أي تيك حي. تعمل بقية التعزيزات في وحدة منفصلة:
IsSafeToTrade_EX02029 هي البوابة الشاملة التي تلف سبعة فحوصات. IsMarketOpen_EX02029 يحظر السبت والأحد والساعتين الأوليين من الاثنين (ضوضاء ما بعد rollover نهاية الأسبوع) والساعتين الأخيرتين من الجمعة. يطبق InActiveSession_EX02029 نوافذ لندن 7-16 / نيويورك 12-21 بتوقيت GMT الاختيارية (بوابة InpUseGMTSessions الافتراضية false لذا EA متساهل افتراضيًا). يستعلم IsNewsTime_EX02029 سجل MqlCalendarValue عن أي حدث بأهمية HIGH في نافذة ±30 دقيقة ويحظر الدخول إذا وُجد. يفرض فحص حماية رأس المال عندما InpCapAmount > 0 ويرفض التداول إذا انخفض رأس المال الفعال تحت InpCapFloor (1000 افتراضي). يرفض فحص أرضية الأسهم التداول إذا كانت الأسهم الحالية تحت g_initialBalance × InpMinEquityPct/100 (70% افتراضيًا). يُكمل العدّاد اليومي (g_tradesToday >= InpMaxTradesPerDay، افتراضي 10) ومؤقت التهدئة (g_cooldownUntil > TimeCurrent()) البوابة.
تتم محاسبة الربح/الخسارة في OnTradeTransaction. كل DEAL_ADD بالسحر 22202029 على الرمز الحالي يُحدّث g_realizedToday وg_realizedWeek وg_tradesToday. الصفقات الخاسرة تزيد g_consecLosses؛ عندما يصل إلى InpMaxConsecLosses (5 افتراضيًا)، يُضبط g_cooldownUntil إلى TimeCurrent() + InpCooldownHours*3600 (4 ساعات). يُدير UpdateDailyCounters_EX02029 العدادات اليومية والأسبوعية عند تغيّر اليوم أو الشهر. دالة لياقة OnTester تُرجع profit × profitFactor / maxDD، مُقيّدة بحد أدنى 10 صفقات — لذا يُكافئ محسّن الاستراتيجية كلًا من العائد المطلق والسلاسة، مع أرضية صلبة لحجم العينة.
الرمز المقصود حسب سياق التشغيل هو XAUUSD على M5 مع حساب أدنى 100 دولار، لكن المصدر رمز-مُحايد — يذكر الملخص صراحةً «FX Majors, Gold/Metals (portable)». ولأن الاستراتيجية بالكامل تُستخلص من رياضيات الفجوة من افتتاح إلى افتتاح بدون تحجيم تذبذب، فإن المُدخل الوحيد ذو المعنى لرمز مختلف هو إعادة معايرة InpGap (فجوة 1 نقطة على EURUSD صغيرة، وعلى XAUUSD ضوضاء فعليًا، وعلى NAS100 حركة كبيرة). المتداولون الذين يريدون إشارات أقل يرفعون InpGap؛ الذين يريدون المزيد يُخفضونه. المستشار أيضًا محايد الإطار الزمني عبر مُدخل InpTimeFrame الذي يمر عبر MapTimeframe_EX02029 — اضبطه على 5 (PERIOD_H1) على الأزواج الأقل سيولة حيث تظهر فجوات 1 نقطة عدة مرات في الساعة على M5 وإلا فسيدخل في تداول مفرط.
تحفظان عمليان من المصدر. أولًا، لا يوجد مرشح سبريد ولا حارس انزلاق يتجاوز الـ 10 نقاط الثابتة في m_slippage المستخدمة في طلبات التداول — وسيط عالي السبريد سيأكل معظم حافة النقطة الواحدة قبل أن يصل الأمر، لذا هذا النشر مخصص حصرًا لـ ECN/RAW. ثانيًا، نسبة المخاطرة/العائد الافتراضية 1:1 تعني أن الاستراتيجية تحتاج معدل تعبئة فوق 50٪ لتكون مربحة صافية، وهو ما قد لا تحققه استراتيجية عكسية على أداة صاخبة. اعمل باك تيست على حساب بجودة بيانات تيك قبل التشغيل الحي، وفكر في رفع InpTakeProfit إلى 75 أو 100 نقطة بمجرد تأكيد سلوك تعبئة الفجوة على بيانات وسيطك — المُدخلات متعمدة البساطة ليتسنى للمتداول ضبط نسبة المخاطرة/العائد دون الحاجة للتعويض عن افتراضات مبنية أخرى.
تفاصيل الاستراتيجية
في كل تيك تتشكّل فيه شمعة جديدة على g_tf المُكوَّن، يستحضر EX02029 آخر سعرَين عبر CopyRates، ويُنفّذ متباينة واحدة على افتتاح الشمعة [0] مقابل قمة/قاع الشمعة [1] زائد عتبة InpGap (افتراضي 1 نقطة)، ويُطلق OpenBuy أو OpenSell مع SL وTP ثابتين. يُقدّم الافتراضي 50/50 نقطة نسبة RR 1:1؛ ووقف متحرك متدرج بـ 5 نقاط وقف و5 نقاط خطوة يُدرّج SL إلى الأمام فقط عندما يتجاوز السعر نافذة التتبع في الاتجاه المربح، مع ما يصل إلى ثلاث محاولات لكل تعديل عند أخطاء requote/timeout/price-off/price-changed. يرفض حارس ما قبل التداول الدخول إذا كان SL المحسوب سينتهك الحد الأدنى لمستوى وقف الوسيط، وتحجب بوابة IsSafeToTrade_EX02029 الدخول خارج نافذة السوق المفتوحة (السبت/الأحد + الاثنين 0-2 + الجمعة 22-24)، وأثناء الأخبار عالية الأهمية في ±30 دقيقة (عندما يكون InpFilterNews مُفعّلًا)، وطالما g_cooldownUntil من سلسلة خسائر 5 لا يزال نشطًا.
يُفعَّل دخول الشراء عندما تفتح الشمعة الحالية تحت قاع الشمعة السابقة مطروحًا منها عتبة InpGap (افتراضي 1 نقطة)، رهانًا على تعبئة الفجوة صعودًا. يُفعَّل دخول البيع عندما تفتح الشمعة الحالية فوق قمة الشمعة السابقة مضافًا إليها عتبة الفجوة، رهانًا على تعبئة الفجوة هبوطًا. يعمل الفحص عند افتتاح الشمعة (إشارة إلى shift 1) داخل OnTick، بعد أن تحل بوابة IsSafeToTrade_EX02029 نظيفة.
جني أرباح ثابت عند InpTakeProfit نقطة (افتراضي 50)، ويُفعَّل وقف متحرك متدرج بمجرد تحرك السعر InpTrailingStop+InpTrailingStep (5+5 نقاط) لصالح المركز. تُعدّل دالة Trailing() وقف الخسارة إلى الأمام فقط — ولا توسعه أبدًا — وتعمل على كل تيك، وليس فقط عند افتتاح الشمعة. لا توجد حشوة تعادل ولا إغلاق جزئي؛ تُغلق المراكز إما عند TP الأصلي، أو تُوقف عند SL المُعدَّل المُدرَّج، أو تُوقف عند SL الأصلي إذا كانت تعبئة الفجوة سريعة بما يكفي لضرب الهدف.
وقف خسارة ثابت عند InpStopLoss نقطة (افتراضي 50) محسوب من سعر ask للدخول في الشراء أو سعر bid للدخول في البيع، مُقيَّس بنقطة الوسيط عبر m_adjusted_point. يفحص فحص سلامة قبل الأمر في OnTick رفض الشراء إذا كان SL المحسوب عند سعر bid الحالي أو أعلى منه (انتهاك مستوى وقف الوسيط)، مما يجبر إعادة التقييم في التيك التالي بدلاً من إرسال طلب مشوّه.
جني أرباح ثابت عند InpTakeProfit نقطة (افتراضي 50) لنسبة مخاطرة/عائد 1:1 خارج الصندوق. يعكس التناظر الافتراضي (SL 50 نقطة / TP 50 نقطة) فرضية عكس الفجوة — من المتوقع أن يكون الجزء غير المُعبَّأ من فجوة الافتتاح مساويًا تقريبًا في الحجم للفجوة نفسها، لذا تشحن الاستراتيجية بدون تحيز RR. رفع InpTakeProfit إلى 75 أو 100 نقطة على وسيط بسلوك تعبئة فجوة مؤكد هو المقبض الأول القياسي للضبط.
مُصمَّم لـ XAUUSD M5 على وسيط ECN/RAW بسبريد منخفض، مع حساب أدنى 100 دولار. يعمل على الأزواج الرئيسية للعملات الأجنبية والمعادن الأخرى بمُدخلات قابلة للنقل بين الرموز، لكن InpGap وSL/TP القائمة على النقاط تحتاج إعادة معايرة لكل رمز — 1 نقطة على EURUSD صغيرة، وعلى XAUUSD شبه ضوضاء، وعلى NAS100 حركة كبيرة. مُوصى به للمتداولين الذين يفهمون فرضية عكس الفجوة ويريدون إشارة متعمدة البساطة وقابلة للتدقيق بالكامل: شمعتان، عتبة واحدة، مخاطرة ثابتة.
منطق الاستراتيجية
Pipsgrowth EX02029 Breakout — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Breakout
الماجيك: 22202029
الإصدار: 2.00
الوصف:
Gap-trading EA that buys when a bar opens below the previous bar's low minus a gap threshold, and sells when a bar opens above the previous high plus a gap, with trailing stop
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTradeTransaction()RefreshRates()CheckVolumeValue()OpenBuy()OpenSell()Trailing()PrintResultTrade()PrintResultModify()DetectGMTOffset_EX02029()ServerToGMT_EX02029()
// Pipsgrowth EX02029 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Gap-trading EA that buys when a bar opens below the previous bar's low minus a gap threshold, and sells when a bar opens above the previous high plus a gap, with trailing stop
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حدد فترة رصد النطاق وهامش الاختراق وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| m_magic | 22202029 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_02029" | Trade Comment |
| InpGap | 1 | Gap (in pips) |
| InpTimeFrame | 0 | Timeframe (0=current,1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1,8=W1,9=MN1) |
| InpLots | 0.1 | Lots |
| InpStopLoss | 50 | Stop Loss (in pips) |
| InpTakeProfit | 50 | Take Profit (in pips) |
| InpTrailingStop | 5 | Trailing Stop (in pips) |
| InpTrailingStep | 5 | Trailing Step (in pips) |
| InpNewYorkEndGMT | 21 | --- Hardening: Capital Protection --- |
| InpCapAmount | 0.0 | Capital cap amount (0=disabled) |
| InpDailyLossLimitPct | 5.0 | --- Hardening: Trade Safety --- |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX02029 Gaps gap breakout trading with trailing stop, full 12-layer stack."
//---
//==================================================================//
// TIMEFRAME MAPPING //
//==================================================================//
ENUM_TIMEFRAMES MapTimeframe_EX02029(int tf)
{
switch(tf)
{
case 0: return (ENUM_TIMEFRAMES)Period();
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;
case 8: return PERIOD_W1;
case 9: return PERIOD_MN1;
default: return PERIOD_CURRENT;
}
}
ENUM_TIMEFRAMES g_tf = PERIOD_CURRENT;
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
CPositionInfo m_position; // trade position object
CTrade m_trade; // trading object
CSymbolInfo m_symbol; // symbol info object
//--- input parameters
input group "=== Identity ==="
input ulong m_magic = 22202029; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_02029"; // Trade Comment
input group "=== Strategy Parameters ==="
input ushort InpGap = 1; // Gap (in pips)
input int InpTimeFrame = 0; // Timeframe (0=current,1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1,8=W1,9=MN1)
input group "=== Trade Management ==="
input double InpLots = 0.1; // Lots
input ushort InpStopLoss = 50; // Stop Loss (in pips)
input ushort InpTakeProfit = 50; // Take Profit (in pips)
input ushort InpTrailingStop = 5; // Trailing Stop (in pips)
input ushort InpTrailingStep = 5; // Trailing Step (in pips)
//---
ulong m_slippage=10; // slippage
// --- Hardening: GMT Session Filter ---
input group "=== GMT Session Filter (Hardening) ===";
input bool InpUseGMTSessions = false;
input int InpLondonStartGMT = 7;
input int InpLondonEndGMT = 16;
input int InpNewYorkStartGMT = 12;
input int InpNewYorkEndGMT = 21;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية الاختراق
Pipsgrowth EX02026 Breakout — إكسبرت أدفايزر اختراق
Pipsgrowth EX02026 Breakout — Donchian Channel breakout EA for XAUUSD M5 with RSI confirmation, average-speed filter, session filtering, trailing stop. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX02001 Breakout — إكسبرت أدفايزر اختراق
Pipsgrowth EX02001 Breakout — Fractal Donchian high/low breakout on closed bar with RSI extreme filter. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX02027 Breakout — إكسبرت أدفايزر اختراق
Pipsgrowth EX02027 Breakout — Multi-symbol VWAP+KAMA Donchian/SuperTrend scalper with ADX regime switching between mean-reversion and breakout modes, . إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.