Pipsgrowth EX02024 Breakout — إكسبرت أدفايزر اختراق
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · D1
Pipsgrowth EX02024 Breakout — Daily breakout EA that places BuyStop above the previous day's high and SellStop below the previous day's low, with trai. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX02024 Breakout هو إكسبرت أدفايزر لكسر النطاق اليومي يعمل على شمعة D1 ويستخدم أمرين معلقين من نوع Stop لالتقاط الجانب الذي يخترق أولاً. يحدد ملف المصدر Pipsgrowth_com_EX02024.mq5 العائلة على أنها Breakout، والرقم السحري 22202024، والإصدار 2.00. يقول الوصف في رأس الملف حرفياً: "إكسبرت كسر يومي يضع BuyStop فوق قمة اليوم السابق وSellStop تحت قاع اليوم السابق، مع وقف متحرك وحذف تلقائي للأوامر المعلقة يومياً".
لا تحتوي الاستراتيجية على حزمة مؤشرات. لا يوجد RSI، ولا ATR، ولا بولينجر، ولا تقاطع متوسطات. القرار هيكلي بحت: يقرأ الإكسبرت الشمعة اليومية المكتملة السابقة ويتصرف بناءً على قمتها وقاعها. هذا ما يميز EX02024 عن بقية عائلة الكسر في PipsGrowth — حيث تحتاج إكسبرات كسر M5 مثل GB10OOO وGaussianEMA إلى فلتر نسبة الجسم/المدى، وبوابة اتجاه الإطار الزمني الأعلى، ودرجة ثقة قبل الإطلاق، بينما لا يحتاج EX02024 سوى قمة الأمس وقاع الأمس.
حساب المستوى دقيق. كل يوم جديد، بعد أن ترجع IsSafeToTrade_EX02024() بقيمة true ولا توجد أوامر معلقة، يستدعي الإكسبرت iHigh(m_symbol.Name(), PERIOD_D1, 1) وiLow(m_symbol.Name(), PERIOD_D1, 1). تعيد هذه الدالة قم وقاع الشمعة رقم 1 — الشمعة اليومية الأخيرة المغلقة. ثم يضيف ExtMinDistance إلى القمة لأمر BuyStop، ويطرح ExtMinDistance من القاع لأمر SellStop. مع الافتراضي InpMinDistance = 25 نقطة، يجلس BuyStop على بعد 25 نقطة فوق قمة الأمس، ويجلس SellStop على بعد 25 نقطة تحت قاع الأمس. هذه النقاط الـ25 هي عازل ضوضاء؛ لن يُفعَّل الأمر بفتيل يخترق المستوى بالكاد.
بمجرد تفعيل الأمر المعلق، يفتح الإكسبرت الصفقة مع بقاء الأمر المعلق الآخر. يراقب معالج OnTradeTransaction() صفقات DEAL_ENTRY_IN. بمجرد تسجيل صفقة من نوع DEAL_TYPE_BUY أو DEAL_TYPE_SELL لهذا الرمز والسحر، يستدعي DeleteAllPendingOrders() ويزيل الأمر المعلق الباقي على الجانب المعاكس. هذا هو النمط القياسي "عند الكسر، احذف الجانب الآخر" — ما إن ينكسر مستوى، تصبح الصفقة المتماثلة رهاناً عكسياً وتُلغى.
معاملات المخاطرة ضيقة عمداً لإكسبرت يومي. InpStopLoss = 50 نقطة وInpTakeProfit = 50 نقطة هي القيم الافتراضية، مما يعطي نسبة مخاطرة/عائد 1:1 على كسر نظيف. هذا صادق: الإكسبرت يراهن على المتابعة الهيكلية لكسر النطاق اليومي، وليس على تمديد الفائزين إلى 3R. وقف الخسارة المتحرك هو الآلية التي تسمح للفائزين بالاستمرار. InpTrailingStop = 5 نقاط وInpTrailingStep = 5 نقاط هي القيم الافتراضية. دالة Trailing() لا تعدّل وقف الخسارة إلا بعد أن يتحرك السعر بأكثر من TrailingStop + TrailingStep = 10 نقاط فوق سعر الفتح، وفقط إذا كان وقف الخسارة الحالي لا يزال على الجانب الخاطئ من مستوى التتبع الجديد. كل تعديل ناجح يدفع الوقف أقرب إلى السعر الحالي دون سحبه للخلف أبداً. ولأن الإكسبرت على D1، يحدث هذا التتبع مرة واحدة يومياً على الأكثر، لكنه يعني أن الصفقة المفتوحة يمكنها البقاء عدة أيام وركوب الترند بينما يمشي الوقف خلفها.
يستخدم تحديد الحجم فئة CMoneyFixedMargin من MT5 مع Risk = 5 بالمئة من الهامش الحر. هذه هي وحدة إدارة الأموال MoneyFixedMargin من المكتبة القياسية، وليست نهج نسبة الرصيد الأكثر شيوعاً في CheckOpenLong. خمسة بالمئة من الهامش الحر لكل صفقة عدوانية — على حساب 1,000 دولار برافعة 100:1 على XAUUSD، ينتج عن ذلك حجم مركز كبير بما يكفي ليشعر بالنطاق اليومي الكامل. عادةً ما يخفض المستخدمون الجدد Risk إلى 1–2 بالمئة قبل التشغيل المباشر، والإكسبرت يقبل أي قيمة من 0 إلى 100.
مجموعة التحصين في EX02024 مكتملة بشكل غير عادي لإكسبرت أوامر معلقة. ترفض IsSafeToTrade_EX02024() وضع أوامر معلقة جديدة عند تحقق أي مما يلي: السوق مغلق (الأحد قبل 22:00 بتوقيت جرينتش، السبت بعد 22:00 بتوقيت جرينتش يوم الجمعة، أو عطلة)، فلتر الجلسة النشطة بتوقيت جرينتش مفعّل والساعة الحالية خارج لندن 7–16 أو نيويورك 12–21، حدث إخباري عالي التأثير خلال 30 دقيقة عبر تقويم MQL5 الاقتصادي (CalendarValueHistory يفحص CALENDAR_IMPORTANCE_HIGH)، انتهاك حد رأس المال-الأسهم عند تفعيل InpCapAmount، انخفضت الأسهم إلى أقل من 70 بالمئة من الرصيد الأولي، بلوغ عدد صفقات اليوم الحد، وجود فترة تهدئة نشطة، أو تجاوزت خسائر اليوم المحققة عتبة 5 بالمئة. عندما تكون البوابة مغلقة، يستمر الإكسبرت في تشغيل Trailing() ومنطق حذف الأوامر المعلقة — لكنه يرفض فقط وضع أوامر Stop جديدة.
منطق حذف الأوامر المعلقة سلوك منفصل ومهم. تتابع دالة OnTick() وقت فتح الشمعة اليومية الأخيرة في dt_last_delete. عندما تبدأ شمعة يومية جديدة، إذا كانت الأوامر المعلقة من اليوم السابق لا تزال موجودة، يضبط الإكسبرت bln_delete_all = true ويمسحها في القرعة التالية. هذه هي الطريقة التي يفرض بها EX02024 قاعدة "كسر واحد في اليوم": تنتهي صلاحية BuyStop وSellStop الخاصين بالأمس مع نطاق الأمس، وتستخدم أوامر اليوم فتح اليوم.
فلتر الجلسة معطّل افتراضياً (InpUseGMTSessions = false)، مما يعني أن الإكسبرت يضع الأوامر 24 ساعة يومياً عندما تسمح البوابات الأخرى. معظم المشغلين يفعّلون فلتر الجلسة ويقصرون على لندن 7–16 بتوقيت جرينتش أو نيويورك 12–21، لأن مستوى الكسر اليومي لا يتحقق بشكل مفيد إلا خلال الجلسات النشطة. فلتر الأخبار مفعّل افتراضياً، لذا فإن نشر بيانات الرواتب غير الزراعية أو مؤشر أسعار المستهلك سيؤخر تلقائياً وضع الأوامر المعلقة لمدة 30 دقيقة قبل وبعد.
بعض الملاحظات العملية للمستخدمين لأول مرة. m_slippage = 10 مشفّر في المصدر — ليس معامل إدخال. يفحص فلتر الأخبار الأحداث عالية التأثير فقط، وليس المتوسطة أو المنخفضة. علم InpUseGMTSessions هو مفتاح قاطع؛ إذا كنت تريد من الإكسبرت تجاهل توقيت الجلسة تماماً، اتركه false. تحسب وحدة CMoneyFixedMargin حجم اللوت من الهامش الحر، وليس من الرصيد، لذلك أثناء التراجع ينكمش حجم اللوت طبيعياً وأثناء سلسلة الفوز يكبر.
عادةً ما ينتج عن اختبار هذا الإكسبرت في Strategy Tester لـ MT5 على XAUUSD D1 بنسبة مخاطرة/عائد 1:1 و5 بالمئة مخاطرة العديد من المكاسب الصغيرة، والفائزين العرضيين الذين يركبون الترند عبر التتبع، وتدفق من الخسائر الموقوفة عندما يكون الكسر زائفاً. دالة لياقة OnTester المخصصة هي profit * profitFactor / maxDD مع حد أدنى 10 صفقات — سيرتب Strategy Tester مجموعات المعاملات التي تحسن نسبة صافي الربح إلى أقصى تراجع، وليس فقط الربح المطلق. يجب أن تركز جولات المحسن على InpMinDistance (الذي يتحكم في شراسة دخول الكسر) ومعامل Risk (الذي يتحكم في ميل منحنى الأسهم وعمقه معاً).
تفاصيل الاستراتيجية
في كل قرعة، يفحص EX02024 أولاً بوابة الأمان عبر IsSafeToTrade_EX02024() — ساعات السوق، فلتر جلسة لندن/نيويورك الاختياري، تعتيم الأخبار، أرضية الأسهم، حد الخسارة اليومي، وفترة تهدئة الخسائر المتتالية. إذا كانت البوابة مغلقة، يتخطى الإكسبرت وضع أوامر جديدة لكنه يستمر في تشغيل Trailing() ومنطق حذف الأوامر المعلقة عند انتقال اليوم. عندما تكون البوابة مفتوحة ولا توجد أوامر معلقة لهذا السحر، يقرأ الإكسبرت iHigh(...,PERIOD_D1,1) وiLow(...,PERIOD_D1,1)، ويضيف InpMinDistance (25 نقطة) إلى القمة لـ BuyStop، ويطرح InpMinDistance من القاع لـ SellStop، ويرسل كليهما عبر PendingBuyStop() وPendingSellStop() مع وقف الخسارة وجني الأرباح الثابتين. يختم الإكسبرت أيضاً dt_last_delete بوقت افتتاح شمعة D1 الحالية ليعرف متى انقلب اليوم. عندما ترى OnTradeTransaction() DEAL_ENTRY_IN لهذا الرمز والسحر، تستدعي DeleteAllPendingOrders() لإزالة أمر الإيقاف المعاكس الباقي. لا تعدل دالة Trailing() وقف الصفقة إلا بعد أن يتحرك السعر بما يتجاوز TrailingStop + TrailingStep في الربح ويكون الوقف الحالي لا يزال خلف مستوى التتبع الجديد. يستخدم تحديد الحجم CMoneyFixedMargin من MT5 مع Risk=5% من الهامش الحر لكل صفقة. لياقة OnTester المخصصة هي profit*profitFactor/maxDD مع حد أدنى 10 صفقات.
في كل شمعة يومية جديدة، يقرأ الإكسبرت قمة وقاع شمعة D1 المكتملة السابقة عبر iHigh/iLow(...,PERIOD_D1,1) ويضع BuyStop عند القمة زائد InpMinDistance نقطة (افتراضي 25) وSellStop عند القاع ناقص InpMinDistance نقطة. تبقى الأوامر المعلقة سارية طوال اليوم حتى يخترق أحد المستويات أو تبدأ شمعة D1 جديدة. عند تفعيل صفقة، يُحذف الأمر المعلق المعاكس الباقي عبر OnTradeTransaction().
يحدث الخروج عند جني الأرباح الثابت (InpTakeProfit، افتراضي 50 نقطة)، أو عند وقف الخسارة المتحرك بمجرد تحرك السعر بأكثر من InpTrailingStop + InpTrailingStep (5 + 5 = 10 نقاط) فوق الفتح، أو عند وقف الخسارة الثابت (InpStopLoss، افتراضي 50 نقطة). التتبع رatchet فقط — لا يحرك الوقف إلا في اتجاه الربح ولا يوسّعه أبداً. تُحذف الأوامر المعلقة التي لم تُفعَّل بحلول افتتاح شمعة يومية جديدة في القرعة التالية.
وقف الخسارة لكل صفقة هو مسافة نقاط ثابتة يحددها InpStopLoss (افتراضي 50 نقطة) من سعر دخول الأمر المعلق. يستخدم تحديد الحجم CMoneyFixedMargin مع Risk=5% من الهامش الحر، لذا تتدرج المخاطرة الدولارية لكل صفقة مع هامش الحساب وليس الرصيد. يفرض الإكسبرت أيضاً حد خسارة يومية عالمية قدره InpDailyLossLimitPct (5%) وأرضية أسهم قدرها InpMinEquityPct (70% من الرصيد الأولي).
جني الأرباح هو مسافة نقاط ثابتة يحددها InpTakeProfit (افتراضي 50 نقطة)، موضوع على نفس المسافة على الجانب المعاكس من الدخول مثل وقف الخسارة. التقسيم الافتراضي 50/50 هو نسبة مخاطرة/عائد 1:1؛ وقف الخسارة المتحرك هو الآلية التي تسمح للفائزين بالتمديد إلى ما بعد 1R عندما ينتج عن الكسر اليومي ترند متعدد الأيام.
هذا الإكسبرت مصمم لـ XAUUSD على D1 ويعمل بشكل أفضل على وسيط فروقات ضيقة حيث تُملأ أوامر الإيقاف المعلقة بنظافة عند المستوى. الحد الأدنى للرصيد الموصى به هو 100 دولار وفقاً لرأس المصدر، ولكن نظراً لأن Risk يُضبط مقابل الهامش الحر عند 5% افتراضياً، فإن رصيد 500–1,000 دولار يمنح الإكسبرت مساحة كافية للحجم المناسب دون ضغوط هامش على صفقة واحدة. فلتر الجلسة الافتراضي معطل، لذا يضع الإكسبرت الأوامر 24 ساعة يومياً؛ تشغيل فلتر لندن 7–16 / نيويورك 12–21 بتوقيت جرينتش يقلل من الأوامر المعلقة المهدورة خلال الساعات الآسيوية الهادئة. فلتر الأخبار (مفعّل افتراضياً، ±30 دقيقة) ضروري لـ XAUUSD نظراً لتفاعل المعدن مع بيانات الرواتب غير الزراعية ومؤشر أسعار المستهلك وقرارات لجنة السوق المفتوحة الفيدرالية. الأنسب للمتداولين الذين يمكنهم الاحتفاظ بصفقة عبر عدة أيام بينما يرتشح وقف الخسارة المتحرك خلف الاختراق.
منطق الاستراتيجية
Pipsgrowth EX02024 Breakout — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Breakout
الماجيك: 22202024
الإصدار: 2.00
الوصف:
Daily breakout EA that places BuyStop above the previous day's high and SellStop below the previous day's low, with trailing stop and automatic daily pending-order deletion
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTradeTransaction()RefreshRates()PendingBuyStop()PendingSellStop()PrintResultTrade()IsPendingOrdersExists()DeleteAllPendingOrders()Trailing()PrintResultModify()DetectGMTOffset_EX02024()
// Pipsgrowth EX02024 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Daily breakout EA that places BuyStop above the previous day's high and SellStop below the previous day's low, with trailing stop and automatic daily pending-order deletion
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 | 22202024 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_02024" | Trade Comment |
| InpStopLoss | 50 | Stop Loss (in pips) |
| InpTakeProfit | 50 | Take Profit (in pips) |
| InpTrailingStop | 5 | Trailing Stop (in pips) |
| InpTrailingStep | 5 | Trailing Step (in pips) |
| InpMinDistance | 25 | Minimum distance |
| Risk | 5 | Risk in percent for a deal from a free margin |
| InpNewYorkEndGMT | 21 | --- Hardening: Capital Protection --- |
| InpCapAmount | 0.0 | Capital cap amount (0=disabled) |
| InpDailyLossLimitPct | 5.0 | --- Hardening: Trade Safety --- |
| InpNewsBufferMinutes | 30 | +------------------------------------------------------------------+ |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX02024 Breakdown — daily breakout with pending stop orders and trailing, full 12-layer stack."
//---
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Expert\Money\MoneyFixedMargin.mqh>
CPositionInfo m_position; // trade position object
CTrade m_trade; // trading object
CSymbolInfo m_symbol; // symbol info object
CAccountInfo m_account; // account info wrapper
COrderInfo m_order; // pending orders object
CMoneyFixedMargin *m_money;
//--- input parameters
input group "=== Identity ==="
input ulong m_magic = 22202024; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_02024"; // Trade Comment
input group "=== Strategy Parameters ==="
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)
input ushort InpMinDistance = 25; // Minimum distance
input group "=== Money Management ==="
input double Risk = 5; // Risk in percent for a deal from a free margin
//---
ulong m_slippage=10; // slippage
double ExtStopLoss=0.0;
double ExtTakeProfit=0.0;
double ExtTrailingStop=0.0;
double ExtTrailingStep=0.0;
double ExtMinDistance=0.0;
double m_adjusted_point; // point value adjusted for 3 or 5 points
bool bln_delete_all=false;
datetime dt_last_delete=0;
//--- Hardening Globals
int g_gmtOffset = 3;
int g_tradesToday = 0;
datetime g_dayStartTime = 0;
double g_initialBalance = 0.0;
datetime g_cooldownUntil = 0;
int g_consecLosses = 0;
double g_realizedToday = 0.0;
double g_realizedWeek = 0.0;
datetime g_weekStartTime = 0;
// --- Hardening: GMT Session Filter ---
input group "=== GMT Session Filter (Hardening) ===";
input bool InpUseGMTSessions = false;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.