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

Pipsgrowth EX02032 Breakout — إكسبرت أدفايزر اختراق

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

Pipsgrowth EX02032 Breakout — Daily range breakout visualization EA that scans midnight to 6 AM for the session high/low, then marks breakout candles . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EA الاختراق اليومي للنطاق EX02032 هو أداة تصور على الشارت، وليس نظام تداول. يقوم EA بمسح الساعات الست الأولى من كل يوم تداولي، ثم يحدد النطاق الناتج على الشارت بمستطيل وخطين أفقيين، ثم يراقب خلال الساعات الخمس التالية أي شمعة تغلق خارج ذلك النطاق. عند حدوث الاختراق، يضع EA سهمًا موسومًا على الشمعة المعنية حتى يتمكن المتداول من رؤية حدث الاختراق بأثر رجعي. لا يتم إرسال أي أوامر إلى الوسيط، ولا تتم إدارة أي صفقات، ولا يحقق EA أي ربح أو خسارة بنفسه — فالمدخلات التي تحكم مخاطر التداول موجودة في المصدر للاستخدام اللاحق لكن لا يستهلكها مسار OnTick.

تعمل منطق التحديد في كل تكة. يتتبع EA حدود اليوم من خلال الحالة الساكنة داخل OnTick والدالة المساعدة isNewDay()، ثم يعيد تثبيت طوابعه الزمنية الأربعة الرئيسية من وقت افتتاح شمعة D1 الحالية: midnight، وsixAM (منتصف الليل + 63600)، وscanBarTime (السادسة صباحًا + فترة واحدة من الإطار الزمني الحالي)، وvalidBreakTime_end (منتصف الليل + 113600). يحدد زوج منتصف الليل-السادسة صباحًا نافذة الاكتشاف التي يُقاس خلالها النطاق؛ بينما يحدد scanBarTime وvalidBreakTime_end نافذة الاختراق التي تُقارن خلالها الشمعة المغلقة بهذا النطاق (من السادسة صباحًا حتى الحادية عشرة صباحًا بتوقيت الخادم). عندما تفتتح شمعة جديدة وكان وقت افتتاحها يساوي scanBarTime، يمشي EA على كل شمعة من الفهرس 1 حتى عدد الشموع المستنتج من (sixAM - midnight) / PeriodSeconds(_Period) + 1.

لكل شمعة يتم مسحها، يأخذ الكود max(open, close) وmin(open, close) — لاحظ خيار التصميم باستخدام جسم الشمعة فقط، وليس فتيلها المرتفع أو فتيلها المنخفض. يتم تحديث maximum_price وminimum_price الجاريين كلما تجاوز extremes جسم الشمعة القيمة السابقة، ويتتبع maximum_time / minimum_time وقت الشمعة التي ساهمت في extreme. بعد التقاط النطاق، ترسم create_Rectangle() مستطيلًا أزرق ممتلئًا من وقت+سعر الشمعة المرتفعة إلى وقت+سعر الشمعة المنخفضة. يُضاف خطا OBJ_TREND أفقيان: خط أسود عند السعر الأقصى يمتد من منتصف الليل إلى السادسة صباحًا، وخط أحمر عند السعر الأدنى على نفس النافذة. يحمل كل خط تسمية نصية مثبتة لليمين تعرض السعر الفعلي منسقًا إلى _Digits. تُنشأ جميع الكائنات الثلاثة بحمايات ObjectFind() بحيث لا تُضاف إلا مرة واحدة في اليوم، وتبقى على الشارت بعد فصل EA.

تستخدم مراقب الاختراق close(1) وtime(1) — الشمعة السابقة المكتملة — حتى لا تنطلق على الشمعة قيد التشكل. إذا كان close(1) > maximum_price وكان وقت الشمعة داخل [scanBarTime, validBreakTime_end]، يستدعي EA دالة drawBreakPoint() برمز سهم 234 (سهم أسود يشير لأسفل من Wingdings)، مثبتًا في أسفل الشمعة، مع تسمية نصية سفلية يسرى تقرأ ' Breakout'. إذا كان close(1) < minimum_price على نفس النافذة، يرسم سهم 233 (سهم أزرق يشير لأعلى) مثبتًا في أعلى الشمعة مع تسمية نصية علوية يسرى. تُعيَّن علامة isHaveDailyRange_Break إلى true بعد الاختراق الأول من اليوم حتى لا يعيد EA الرسم على الشموع اللاحقة — لا يتم تمييز سوى الاختراق الأول. لا يوجد مفهوم لـ 'اختراق فاشل' أو 'إعادة دخول'؛ التحديد لمرة واحدة في اليوم.

نظرًا لأن EA لا يفتح صفقات، فإن طبقة أمان التداول بأكملها خاملة في البنية المشحونة لكنها موجودة في المصدر لأي شخص يريد توسيعها. تشمل دوال التقوية DetectGMTOffset_EX02032()، وهي بحث قائم على القوة الغاشمة عبر فروقات من -12 إلى +12 يُسجِّل كل مرشح بناءً على ما إذا كان توقيت GMT الناتج يقع في يوم عمل (نقاط +10) وداخل 7-21 GMT (نقاط +5)، ثم يعيد الفرق صاحب النقاط الأعلى. تُحفظ النتيجة في المتغير العام g_gmtOffset (افتراضي 3) وتُستخدم من قِبل ServerToGMT_EX02032() لكل تحويل زمني لاحق. تحظر IsMarketOpen_EX02032() أيام الأحد والسبت، والاثنين قبل الساعة 22 GMT (لاستبعاد التداخل المتأخر للجلسة الآسيوية مع لندن)، والجمعة عند/بعد الساعة 22 GMT. تكون InActiveSession_EX02032() متساهلة افتراضيًا لأن InpUseGMTSessions يكون افتراضيًا false، لكن إذا قلبه المستخدم إلى true، يتطلب EA أن تكون ساعة GMT الحالية داخل نافذة لندن (7-16 GMT) أو نافذة نيويورك (12-21 GMT). تستدعي IsNewsTime_EX02032() دالة CalendarValueHistory() للتحقق من الأحداث الاقتصادية عالية الأهمية في غضون InpNewsBufferMinutes (30 افتراضيًا) من الوقت الحالي. تجمع IsSafeToTrade_EX02032() كل ما سبق مع تطبيق غطاء رأس المال، وأرضية InpMinEquityPct (70% افتراضيًا)، وحارس g_tradesToday >= InpMaxTradesPerDay (10/يوم)، وقفل g_cooldownUntil، وغطاء خسارة يومية على g_realizedToday بنسبة 5% من الرصيد الأولي.

معالج OnTradeTransaction() هو أيضًا كود سقالة — لا يتلقى أي صفقة في هذه البنية. كُتب ليُرشِّح على TRADE_TRANSACTION_DEAL_ADD، ويتجاهل الصفقات ذات الرقم السحري أو الرمز المختلف، ويقبل فقط أحداث DEAL_ENTRY_OUT وDEAL_ENTRY_INOUT وDEAL_ENTRY_OUT_BY، ويراكم الربح+سواب+العمولة في g_realizedToday وg_realizedWeek، ويزيد g_consecLosses في الصفقات الخاسرة، ويطلق قفل g_cooldownUntil = TimeCurrent() + InpCooldownHours * 3600 بمجرد وصول g_consecLosses إلى InpMaxConsecLosses (5). تدور UpdateDailyCounters_EX02032() العدادات اليومية عند تغير يوم التقويم أو الشهر، وتدور العداد الأسبوعي عند انخفاض يوم الأسبوع أو تغير الشهر. دالة OnTester() موجودة كذلك لكنها تنتج إحصائيات صفرية في هذه البنية لأن EA لا يجري أي صفقات؛ معيار profit*profitFactor/maxDD وبوابة trades >= 10 هما مسارات كود ميت حتى يتم تركيب طبقة تداول.

عمليًا، EX02032 أداة للمتداولين الذين يريدون سجلًا بصريًا نظيفًا لمتى ينكسر نطاق الجلسة المبكرة. تشمل التطبيقات المفيدة: متداول XAUUSD تقديري يستخدم المستطيل كمرجع لوضع وقف الخسارة ومحفزات الدخول خلال افتتاح لندن، ومتداول نطاق يريد معرفة ما إذا كان نطاق اليوم يُحترم أو يُخترق، ومعلم أو صانع محتوى يحتاج إلى أثر بصري متسق لسلوك الاختراق. الإطار الزمني الموصى به حسب ترويسة المصدر هو M5 — عدد الشموع البالغ نحو 72 على مدى ست ساعات هو ما يفترضه مسح extremes الجسم، وعلى H1 تحصل فقط على ست شموع ويصبح تقدير النطاق تقريبيًا. اقرن EA مع جلستي لندن ونيويورك للحصول على أنظف تعريف للنطاق؛ نافذة منتصف الليل-السادسة صباحًا تلتقط عادة الجلسة الآسيوية، ونافذة السادسة-الحادية عشرة صباحًا تلتقط عادة افتتاح لندن.

المدخلات المهمة: InpMagicNumber (22202032) معرف EA لطبقة التقوية الخاملة ويجب تركه على الافتراضي. InpUseGMTSessions يكون افتراضيًا false ليعمل EA دائمًا؛ اقلبه إلى true إذا أردت تقييد مراقبة الاختراق على ساعات GMT للجلسات. InpLondonStartGMT (7)، وInpLondonEndGMT (16)، وInpNewYorkStartGMT (12)، وInpNewYorkEndGMT (21) هي مدخلات نافذة الجلسة التي لا تنشط إلا عندما يكون InpUseGMTSessions صحيحًا. InpCapAmount (0 = معطل) وInpCapFloor (1000) يحددان سقف رأس المال الفعلي لطبقة التداول الخاملة؛ غير ذي صلة في وضع التصور. InpMinEquityPct (70%)، وInpDailyLossLimitPct (5%)، وInpMaxTradesPerDay (10)، وInpMaxConsecLosses (5)، وInpCooldownHours (4)، وInpFilterNews (true)، وInpNewsBufferMinutes (30) هي بقية مجموعة التقوية الخاملة. لا توجد مدخلات لوقف الخسارة أو جني الأرباح أو حجم اللوت أو المخاطرة لأن EA لا يتداول.

لا توجد مخاطرة على الحساب من تشغيل EA هذا على حساب حي — فهو لا يضع أوامر، والأثر الجانبي الوحيد هو كائنات الشارت. المخاطرة هي سوء تفسير كائنات الشارت: يُرسم المستطيل من وقت الشمعة المرتفعة إلى وقت الشمعة المنخفضة، وليس من منتصف الليل إلى السادسة صباحًا، لذا قد يكون المستطيل المرئي أضيق أو أعرض مما توحي به نافذة الوقت عندما تحدث extremes الجسم على شموع غير متجاورة. يعكس maximum_time وminimum_time وقت الشمعة التي تم تسجيل extreme الجسم لها، وليس وقت التكة الأعلى أو الأدنى الفعلية — هذه خاصية لمنطق المسح القائم على الجسم فقط، وليست خطأ. يجب على أي شخص يربط لاحقًا طبقة تداول حقيقية فوق EA هذا أن يستبدل نطاق الجسم فقط بفتائل الشمعة الفعلية (iHigh / iLow) قبل الاعتماد على المستطيل كمرجع لوقف الخسارة، لأن المسح القائم على الجسم فقط يقلل منهجيًا من النطاق الحقيقي عندما تحتوي الجلسة على شموع انعكاسية ذات فتائل طويلة.

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

في كل تكة، يتحقق EX02032 مما إذا كان يوم التقويم قد دار، وإن كان الأمر كذلك، يعيد تثبيت طوابعه الزمنية الأربعة الرئيسية من افتتاح شمعة D1: منتصف الليل، السادسة صباحًا، scanBarTime، وسقف الحادية عشرة صباحًا. عندما تفتتح شمعة جديدة عند scanBarTime، يمشي EA على كل شمعة بين منتصف الليل والسادسة صباحًا ويسجل الحد الأقصى والحد الأدنى الجاريين لـ max(open, close) وmin(open, close) لكل شمعة — لاحظ أن المسح يستخدم أجسام الشموع وليس الفتائل، مما يقلل منهجيًا من النطاق الحقيقي عند وجود شموع انعكاسية ذات فتائل طويلة. يُرسم OBJ_RECTANGLE أزرق ممتلئ من الشمعة المرتفعة إلى الشمعة المنخفضة، مع خط أسود عند السعر المرتفع وخط أحمر عند السعر المنخفض، كلاهما موسوم بقيمته العددية ومثبت يمينًا عند السادسة صباحًا. من السادسة صباحًا إلى الحادية عشرة صباحًا، يقارن EA إغلاق كل شمعة مكتملة بالنطاق المسجل؛ أول شمعة تغلق خارج أي من الجانبين تطلق سهمًا موسومًا على الشارت — سهم أسود لأسفل 234 لاختراق مرتفع، وسهم أزرق لأعلى 233 لاختراق منخفض. توجد مجموعة التقوية الكاملة (اكتشاف GMT، فتح السوق، فلتر الأخبار، سقف رأس المال، سقف الخسارة اليومي، التهدئة، تتبع PnL عبر OnTradeTransaction) في المصدر لكنها غير نشطة لأنه لا تُوضع أوامر.

إشارة الدخول

لا يفتح EX02032 أي صفقات — بل يحدد الاختراقات على الشارت. يُرسم وسم اختراق 'صاعد' (سهم 234، أسود، مثبت في الأسفل) عندما تغلق شمعة فوق السعر الأقصى للجسم المسجل بين منتصف الليل والسادسة صباحًا بتوقيت الخادم. يُرسم وسم اختراق 'هابط' (سهم 233، أزرق، مثبت في الأعلى) عندما تغلق شمعة دون السعر الأدنى للجسم على نفس النافذة. تمتد نافذة الاختراق من السادسة صباحًا حتى الحادية عشرة صباحًا بتوقيت الخادم، ولا يُوسم سوى الاختراق الأول من اليوم.

إشارة الخروج

لا يوجد خروج لأن EA لا يحمل أي صفقات. بمجرد رسم وسم الاختراق الأول، تقفل علامة isHaveDailyRange_Break أي رسم إضافي لبقية اليوم. تبقى كائنات الشارت (المستطيل، الخطان، السهم مع التسمية النصية) مرئية حتى تُشغِّل isNewDay() التالية إعادة تعيين الحالة ويُرسم النطاق الجديد فوقها.

وقف الخسارة

لا يتم تعيين وقف خسارة لأن EA أداة شارت فقط — فهو لا يفتح أوامر أبدًا، ولا يعدل صفقات، ولا يستدعي OrderSend. يوجد هيكل التقوية الكامل (سقف رأس المال، حد الخسارة اليومي، أرضية حقوق الملكية، التهدئة) في المصدر ككود قالب منسوخ لكنه لا يُستهلَك بواسطة مسار OnTick.

جني الأرباح

لا يتم تعيين جني أرباح لأن EA أداة شارت فقط. نافذة الاختراق محددة بزمن: يتوقف EA عن مراقبة الإغلاقات الجديدة خارج النطاق بعد الحادية عشرة صباحًا بتوقيت الخادم، ولا يُرسم الوسم إلا على أول اختراق مؤهل من اليوم — لا يوجد مفهوم لإعادة الدخول أو لمحاولة اختراق ثانية.

الأنسب لـ

الأفضل لمحللي شارت XAUUSD على M5 الذين يريدون سجلًا بصريًا نظيفًا لمتى ينكسر نطاق الجلسة المبكرة، مع بقاء المستطيل كمرجع لبقية اليوم. يتناسب جيدًا مع جلستي لندن ونيويورك لأن نافذة الاكتشاف (منتصف الليل-السادسة صباحًا بتوقيت الخادم) تلتقط عادة نطاق آسيا، ونافذة المراقبة (السادسة-الحادية عشرة صباحًا) تلتقط عادة افتتاح لندن. الرصيد الموصى به: 100$ كحد أدنى (لا يضع EA أي صفقات، لذا يكون رأس المال في خطر فقط من خلال موجز بيانات الشارت للوسيط وتداول المستخدم التقديري على المستويات الموسومة). لا توجد متطلبات وسيط خاصة — أي موجز MT5 يوفر أوقات افتتاح دقيقة لشمعة D1 سيعمل، ولا حاجة إلى ECN أو سبريد خام.

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

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

العائلة: Breakout الماجيك: 22202032 الإصدار: 2.00

الوصف: Daily range breakout visualization EA that scans midnight to 6 AM for the session high/low, then marks breakout candles between 6 AM and 11 AM with chart objects and arrows

المؤشرات:

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

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

  • open()
  • high()
  • low()
  • close()
  • time()
  • isNewBar()
  • create_Rectangle()
  • isNewDay()
  • create_Line()
  • drawBreakPoint()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX02032 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Daily range breakout visualization EA that scans midnight to 6 AM for the session high/low, then marks breakout candles between 6 AM and 11 AM with chart objects and arrows

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
الأطر الزمنية المُحسّنة:
M5H1

كيفية تثبيت الإكسبرت على 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اسحب الإكسبرت على رسم H1 أو H4
  7. 7حدد فترة رصد النطاق وهامش الاختراق وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMagicNumber22202032Magic Number
InpTradeComment"Psgrowth.com Expert_02032"Trade Comment
InpNewYorkEndGMT21--- Hardening: Capital Protection ---
InpCapAmount0.0Capital cap amount (0=disabled)
InpDailyLossLimitPct5.0--- Hardening: Trade Safety ---
InpNewsBufferMinutes30--- Hardening Globals
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX02032.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX02032 DAILY_RANGE_BREAKOUT_EA — session range breakout visualization, full 12-layer stack."

input group "=== Identity ==="
input int      InpMagicNumber    = 22202032; // Magic Number
input string   InpTradeComment   = "Psgrowth.com Expert_02032"; // Trade Comment

// --- 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;

// --- Hardening: Capital Protection ---
input group "=== Capital Protection (Hardening) ===";
// InpCapEnabled removed — use InpCapAmount=0 to disable
input double  InpCapAmount            = 0.0;      // Capital cap amount (0=disabled)
input double  InpCapFloor             = 1000.0;
input double  InpMinEquityPct         = 70.0;
input double  InpDailyLossLimitPct    = 5.0;

// --- Hardening: Trade Safety ---
input group "=== Trade Safety (Hardening) ===";
input int     InpMaxTradesPerDay      = 10;
input int     InpMaxConsecLosses      = 5;
input int     InpCooldownHours        = 4;
input bool    InpFilterNews           = true;
input int     InpNewsBufferMinutes    = 30;

//--- 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;

double maximum_price = -DBL_MAX;
double minimum_price = +DBL_MAX;
datetime maximum_time, minimum_time;

bool isHaveDailyRange_Prices = false;
bool isHaveDailyRange_Break = false;

#define RECTANGLE_PREFIX "RANGE RECTANGLE "
#define UPPER_LINE_PREFIX "UPPER LINE"
#define LOWER_LINE_PREFIX "LOWER LINE"

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit(){

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

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

الوسوم:ex02032breakoutpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

اسم الملفPipsgrowth_com_EX02032.mq5
حجم الملف19.5 KB
الإصدارv2.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةالاختراق
المخاطرةمخاطرة متوسطة
الأطر الزمنية
M5H1
أزواج العملات
XAUUSD
الحد الأدنى للإيداع$100