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

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

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

Pipsgrowth EX02030 Breakout — Support/resistance breakout hunter. Scans a lookback window for highest high / lowest low, enters on close beyond the le. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

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

مسار الإشارة قصير ويُنفَّذ مرة واحدة لكل شمعة. يضمن طابع زمني ثابت lastBar داخل OnTick() أن بقية الدالة لا تنطلق إلا على شمعة جديدة، فلا تنهمر أوامر مدفوعة بالتذبذب داخل الشمعة. بعد فحص الشمعة الجديدة، تُصدر IsSafeToTrade_EX02030() موافقتها أو رفضها. عند الرفض — السوق مغلق، أو ضمن حظر أخبار، أو في فترة تهدئة نشطة، أو بلغ حد الخسارة اليومي، أو انخفض الرصيد تحت الحد الأدنى — لا يفعل Expert Advisor شيئاً. إن كانت هناك صفقة بالرقم السحري 22202030 على الرمز بالفعل، فإن HasTrade() تُنهي الدالة باكراً: صفقة واحدة مفتوحة في كل وقت، لا تدرّج، لا توسيع، لا تكديس.

حين تُفتح البوابة، يسحب Expert Advisor قمم وقيعان InpLookback (افتراضياً 20) بدءاً من الشمعة 2 — تُستبعد الشمعة 1 حتى لا تكون الشمعة الأخيرة غير المستقرة هي مستوى المقاومة أو الدعم — ويخزنها في مصفوفتين. يُرجع ArrayMaximum أعلى قمة (المقاومة)، ويُرجع ArrayMinimum أدنى قاع (الدعم). الهامش هو InpBuffer نقطة (افتراضياً 5) يُضاف خارج المستويين، منطقة صغيرة ترشّح الشموع التي تغلق داخل النطاق.

يُرسَل أمر شراء حين يكون سعر العرض الحالي أكبر من المقاومة + الهامش. ويُرسَل أمر بيع حين يكون سعر الطلب الحالي أقل من الدعم - الهامش. يمر كلا الأمرين عبر غلافين مخصصين — TryBuy_EX02030 وTrySell_EX02030 — يثبّتان اللوت المطلوب ضمن حدود الحد الأدنى والأعلى والخطوة لدى الوسيط، ويستدعيان OrderCalcMargin للتأكد من أن الحساب قادر على تمويل الصفقة، ثم يحاولان إرسال الأمر. تُسمح بثلاث محاولات كحد أقصى مع نوم 200 ميلي ثانية عند الأخطاء العابرة: REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED. يُرسَل الأمر كأمر سوق مع وقف خسارة وجني أرباح ثابتين بالنقاط؛ لا يجلس أي أمر معلق على دفتر الأوامر.

يُحسب وقف الخسارة كـ سعر_الطلب - InpStopLoss * _Point * 10 (افتراضياً 30 نقطة) للشراء، وبالعكس للبيع. جني الأرباح هو سعر_الطلب + InpTakeProfit * _Point * 10 (افتراضياً 60 نقطة). نسبة المخاطرة إلى العائد الافتراضية هي 1:2. وقف الثلاثين نقطة ضيّق مقارنة بنطاق XAUUSD المعتاد على 20 شمعة، لذا فإن الاختراق الفاشل سيلتهم خسارة صغيرة في حين أن الاختراق الناجح سيُحقق ضعفها.

ما لا تفعله الاستراتيجية لا يقل أهمية عما تفعله. لا يوجد وقف متحرك، لا تحريك لنقطة التعادل، لا إغلاق جزئي، لا خروج عند إشارة معاكسة في منتصف الصفقة. تستمر الصفقة حتى وقف الخسارة الثابت أو جني الأرباح الثابت. الشيء الوحيد الذي قد يُغلق الصفقة قبل ذلك هو فحص HasTrade() للشمعة التالية — ولأن EX02030 يقصر نفسه على صفقة واحدة، فإن التأثير العملي هو: إشارة اختراق جديدة والصفقة الحالية لا تزال مفتوحة يعني تجاهل الإشارة الجديدة. خطر الاحتفاظ بصفقة جني أرباح 60 نقطة عبر اتجاه 200 نقطة حقيقي، لكن الاستراتيجية تقبل ذلك مقابل عدم الاضطرار إلى إدارة الصفقة.

طبقة التعزيز هي حيث تعيش معظم المدخلات. تُنفّذ IsSafeToTrade_EX02030 سبعة فحوصات:

  • ساعات السوق: تحظر IsMarketOpen_EX02030 يوم الأحد والسبت، وجمعة من الساعة 22:00 بتوقيت غرينتش فصاعداً، وإثنين حتى الساعة 22:00. عدم تماثل الإثنين والجمعة مقصود، إذ يراعي افتتاح الأحد المسائي وإغلاق الجمعة المسائي المعتاد لسوق العملات.
  • فلتر الجلسات: تفحص InActiveSession_EX02030 الساعة بتوقيت غرينتش مقابل نافذتين: لندن (افتراضياً 7–16) ونيويورك (افتراضياً 12–21). مع InpUseGMTSessions = false (الافتراضي)، يمر الفحص وExpert Advisor يتداول على مدار الساعة خلال أيام الأسبوع؛ أقلبه إلى true لحصر الأوامر في فترة التداخل.
  • حظر الأخبار: تستعلم IsNewsTime_EX02030 من CalendarValueHistory عن أحداث عالية الأهمية في نافذة ±30 دقيقة (InpNewsBufferMinutes = 30 افتراضياً). حين يكون InpFilterNews = true، يرفض Expert Advisor الدخول خلال إصدارات التقويم الأحمر.
  • سقف رأس المال: حين InpCapAmount > 0، يصبح رأس المال الفعلي MathMin(InpCapAmount, equity)، ويحظر Expert Advisor الأوامر الجديدة إن انخفض هذا الرقم تحت InpCapFloor (افتراضياً 1000). عند الافتراضي InpCapAmount = 0، يُعطّل هذا الفرع ويُعامل Expert Advisor كامل رصيد الحساب كأساس للحجم.
  • حد الرصيد الأدنى: يجب أن يبقى الرصيد الفعلي فوق InpMinEquityPct (افتراضياً 70%) من الرصيد الأولي، وإلا يتوقف Expert Advisor. هذا مفتاح قتل صادم للتراجعات الكارثية.
  • حدود التداول: InpMaxTradesPerDay (افتراضياً 10) تحدّ عدد الأوامر اليومية. عداد الخسائر المتتالية في OnTradeTransaction يزداد مع كل خسارة، وبعد InpMaxConsecLosses خسائر (افتراضياً 5) يُعيَّن g_cooldownUntil = TimeCurrent() + InpCooldownHours * 3600 (افتراضياً 4 ساعات)، لا يُسمح خلالها بأي أوامر جديدة.
  • حد الخسارة اليومي: إن تجاوزت القيمة المطلقة لـ g_realizedToday نسبة InpDailyLossLimitPct من الرصيد الأولي (افتراضياً 5%)، يتوقف Expert Advisor عن فتح صفقات حتى تلفّ UpdateDailyCounters_EX02030 العداد عند حدود اليوم التالي.

يُدار التحويل إلى توقيت غرينتش عبر DetectGMTOffset_EX02030، heuristic يقيّم كل فرق في النطاق -12 إلى +12 ويختار الفرق الذي يضع وقت الخادم الحالي داخل نطاق أيام الأسبوع وساعات العمل. القيمة الافتراضية المُعادة هي 3، لكن الدالة ستتجاوزها على الوسطاء الذين يكون وقت خادمهم أقرب إلى UTC.

دالة لياقة OnTester هي profit × profitFactor / maxDD، مع بوابة تتطلب 10 صفقات على الأقل. يُقصّ profitFactor إلى [1, 1000] لمنع صفقة شاذة واحدة من الهيمنة على الترتيب. الصيغة تكافئ Expert Advisors التي تُركّب الأرباح بينما تعاقب من يحققها عبر انفجارات المخاطر الذيلية، وهو ما يفيد في مقارنة مجموعات المعاملات في Strategy Tester لمنصة MT5.

الاستراتيجية تتجنب النطاقات. الأسواق الاتجاهية المستمرة تنتج اختراقات نظيفة تصل إلى جني الأرباح. الأسواق العرضية تنتج اختراقات فاشلة متكررة تضرب وقف الثلاثين نقطة. نافذة الاسترجاع والهامش هما المعاملان اللذان يتأرجحان أكثر؛ 20 شمعة و5 نقاط مضبوطة لـ XAUUSD على M15، لكن نافذة أوسع (40–50 شمعة) سترشّح ضوضاء أكثر على حساب الدخول المتأخر. على M5، نفس الإعدادات ستُتاجر بكثرة؛ إن InpMaxTradesPerDay = 10 يحدّ الأسوأ، لكن وقف الخسارة الثابت سيظل يُسجّل خسارة.

ملاحظات عن الوسيط: الهامش مُعيَّن بالنقاط لا بـ النقاط × السبريد، لذا فإن حساب ECN بسبريد منخفض سيعطي أنظف إشارات. XAUUSD بسبريد نموذجي 15–25 نقطة مناسب؛ الزوج الغريب بـ 50+ نقطة سبريد سيأكل الهامش وقد يحتاج رفع InpBuffer. لا يوجد علم InpDryRun في هذه النسخة، لذا يتداول Expert Advisor منذ لحظة ربطه بالشارت. جرّبه على حساب تجريبي أولاً إن أردت مراقبة السلوك قبل الانتقال للحقيقي.

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

يستدعي OnTick() أولاً UpdateDailyCounters_EX02030() لتدوير عدادات الأرباح والخسائر اليومية والأسبوعية، ثم يضمن طابع زمني ثابت lastBar أن بقية الدالة لا تعمل إلا على شمعة جديدة. البوابة التالية هي IsSafeToTrade_EX02030() التي تجمع سبعة فحوصات: ساعات السوق، وفلتر الجلسات الاختياري، وحظر الأخبار، وسقف رأس المال، وحد الرصيد الأدنى، وحد الصفقات اليومية، وفترة تهدئة نشطة من سلسلة خسائر حديثة. إن فُتحت البوابة وأعادت HasTrade() قيمة false، يسحب Expert Advisor قمم وقيعان InpLookback بدءاً من الشمعة 2، ويحدد أعلى قمة وأدنى قاع للنافذة عبر ArrayMaximum وArrayMinimum، ويقارن سعر العرض والطلب الحاليين بتلك المستويات مضافاً إليها هامش 5 نقاط. يُرسَل أمر سوق شراء أو بيع عبر TryBuy_EX02030 أو TrySell_EX02030، اللتان تُثبّتان اللوت، وتتحققان من الهامش، وتُعيدان المحاولة حتى ثلاث مرات عند أخطاء السعر العابرة. يُرسَل الأمر مع وقف خسارة وجني أرباح ثابتين بالنقاط — لا يوجد داخل الصفقة وقف متحرك، ولا تحريك نقطة تعادل، ولا إغلاق جزئي، لذا تستمر الصفقة حتى حدودها.

إشارة الدخول

يُصدر EX02030 أوامر سوق، لا أوامر معلقة. يُرسَل أمر شراء حين يتجاوز سعر العرض الحالي أعلى قمة لآخر InpLookback شمعة (افتراضياً 20) بهامش 5 نقاط؛ ويُرسَل أمر بيع حين ينخفض سعر الطلب تحت أدنى قاع بنفس الهامش. يضمن حارس الشمعة الجديدة تقييم كل إشارة مرة واحدة لكل شمعة، ويمر الأمر عبر TryBuy_EX02030 / TrySell_EX02030 مع ثلاث محاولات عند أخطاء السعر العابرة.

إشارة الخروج

لا توجد إدارة داخل الصفقة — لا وقف متحرك، لا تحريك لنقطة التعادل، لا إغلاق جزئي. يحدث الخروج عند جني الأرباح الثابت (افتراضياً 60 نقطة) أو وقف الخسارة الثابت (افتراضياً 30 نقطة) الذي رُسِل مع الأمر، وبعدها تُفرّغ HasTrade() ويُصبح Expert Advisor حراً للإطلاق مجدداً. الحد الأقصى للصفقات المتزامنة هو صفقة واحدة، لذا فإن إشارة اختراق جديدة لن تُغلق أو تستبدل صفقة مفتوحة.

وقف الخسارة

وقف خسارة ثابت عند InpStopLoss نقطة (افتراضياً 30) تحت سعر دخول الشراء أو فوق سعر دخول البيع، يُحسب كـ InpStopLoss * _Point * 10 ويُرسَل مع أمر السوق. مسافة الثلاثين نقطة أقل بكثير من نطاق XAUUSD المعتاد على 20 شمعة، وهو ما يعطي نسبة 1:2 مع جني الأرباح الافتراضي 60 نقطة.

جني الأرباح

جني أرباح ثابت عند InpTakeProfit نقطة (افتراضياً 60) فوق سعر دخول الشراء أو تحت سعر دخول البيع، يُعيَّن على أمر السوق وقت الإرسال. تغيير InpStopLoss دون تغيير InpTakeProfit يحوّل نسبة المخاطرة إلى العائد: إن خفّضت SL إلى 20 يعمل Expert Advisor عند 1:3؛ وإن رفعته إلى 60 تنخفض النسبة إلى 1:1.

الأنسب لـ

مضبوط لـ XAUUSD على شارت M15 مع حد أدنى للإيداع 100 دولار، رغم أن المعاملات نفسها مكتوبة صراحة لتعمل على M5 وH1 أيضاً. الاستراتيجية تتجنب النطاقات: تُجدي أكثر في الأسواق الاتجاهية المستقرة وتتألم في الأسواق العرضية، لذا فإن حساب ECN بسبريد منخفض على XAUUSD خلال تداخل جلستي لندن ونيويورك هو أنظف تشغيل. اضبط InpUseGMTSessions = true لتطبيق تلك النوافذ فعلاً (الافتراضي متساهل)، وفكّر في رفع InpBuffer إن كان متوسط السبريد لدى وسيطك أعلى من 20 نقطة.

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

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

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

الوصف: Support/resistance breakout hunter. Scans a lookback window for highest high / lowest low, enters on close beyond the level with a buffer. Fixed lot, fixed SL/TP in pips. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • HasTrade()
  • OnTradeTransaction()
  • DetectGMTOffset_EX02030()
  • ServerToGMT_EX02030()
  • IsMarketOpen_EX02030()
  • InActiveSession_EX02030()
  • IsNewsTime_EX02030()
  • IsSafeToTrade_EX02030()
  • UpdateDailyCounters_EX02030()
  • TryBuy_EX02030()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX02030 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Support/resistance breakout hunter. Scans a lookback window for highest high / lowest low, enters on close beyond the level with a buffer. Fixed lot, fixed SL/TP in pips. 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)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
XAUUSD
الأطر الزمنية المُحسّنة:
M15M5H1

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
InpNewYorkEndGMT21--- Hardening: Capital Protection ---
InpCapAmount0.0Capital cap amount (0=disabled)
InpDailyLossLimitPct5.0--- Hardening: Trade Safety ---
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX02030.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX02030 BreakoutHunter — S/R breakout with volume confirmation, full 12-layer stack."

#include <Trade\Trade.mqh>
input group "=== Identity ==="
input int    InpMagicNumber = 22202030;
input string InpTradeComment = "Psgrowth.com Expert_02030";

input group "=== Strategy Parameters ==="
input int    InpLookback    = 20;
input int    InpBuffer      = 5;

input group "=== Risk Management ==="
input double InpLotSize     = 0.10;
input int    InpStopLoss    = 30;
input int    InpTakeProfit  = 60;
CTrade trade; datetime lastBar=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;
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;

int OnInit() {
   trade.SetExpertMagicNumber(InpMagicNumber);
   trade.SetDeviationInPoints(20);

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

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

الوسوم:ex02030breakoutpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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