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

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

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

Pipsgrowth EX02017 Breakout — Gold scalping strategy trading breakouts of Williams fractals with ATR-based stop loss and take profit, spread filter, a. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX02017 هو سكالبير اختراق يعتمد على فراكتالات ويليامز، مصمم خصيصاً لزوج XAUUSD على إطار M15. يراقب Expert Advisor آخر فراكتال علوي وسفلي مؤكد — وهي نقاط البيفوت المحلية التي تتشكل عندما يكون لشمعة M15 جارتان أدنى من الأعلى على كل جانب (للفراكتال العلوي)، أو جارتان أعلى من الأسفل على كل جانب (للفراكتال السفلي) — وينتظر أن يتجاوز إغلاق الشمعة المغلقة مستوى الفراكتال بمقدار لا يقل عن FractalBuffer نقطة (5 نقاط افتراضياً). يجب أن يحدث الاختراق على شمعة مغلقة؛ الاختراقات على التيك الحي لا تكفي.

طبقة الإشارة مقصودة البساطة. لا يوجد مصنف نظام ADX، ولا EMA متعدد الأطر الزمنية، ولا SuperTrend، ولا قناة Gaussian. فقط مؤشر iFractals على PERIOD_M15 ومؤشر iATR(14) لحساب حجم الوقف. يحدّث EA مخازن الفراكتال وATR في الدالة RefreshIndicators() عند كل شمعة M15 جديدة، ويفحص نافذة 30 شمعة للعثور على أحدث قيمة فراكتال علوي وسفلي غير فارغة، ثم يحدّث متغيرين عامين — lastFractalHigh وlastFractalLow — تستشيرهما دالة OnTick().

عند تفعيل إشارة الشراء، يستدعي EA الدالة OpenPosition(ORDER_TYPE_BUY). تحسب الدالة حجم اللوت عبر CalculatePositionSize(): إذا كانت UseMoneyManagement مفعّلة، فإنها تخاطر بنسبة RiskPercent من رصيد الحساب (2.0% افتراضياً)، وتقسم على قيمة النقطة للرمز، وتقرّب إلى أقرب خطوة لوت للأسفل. إذا كانت إدارة الأموال معطلة، تعود إلى FixedLotSize (0.01 افتراضياً). مسافة الوقف هي الحد الأقصى بين ثلاثة أشياء: currentATR * 1.5، وStopLossPips * pipSize (15 نقطة افتراضياً)، وminDist * 1.5 حيث minDist هو stops_level الخاص بالوسيط معبراً عنه بوحدات السعر (مع احتياطي 10 نقاط). يعني هذا التصميم المعتمد على الحد الأدنى أن EA يوسّع وقفه في جلسات الذهب المتقلبة ويضيّقه في الجلسات الهادئة، لكنه لا ينخفض أبداً عن المرجع الثابت 15 نقطة ولا عن مسافة الوقف الدنيا للوسيط.

مسافة جني الأرباح هي max(SL * 2, minDist * 1.5)، مما يعطي نسبة مخاطرة إلى عائد 1:2، مع حماية minDist حتى لا يضع EA جني الأرباح داخل منطقة الوقف الدنيا للوسيط. يتم تطبيع مستويات الوقف وجني الأرباح عبر NormalizePrice_EX02017 التي تقرّب إلى حجم التيك للرمز. قبل الإرسال، يستدعي EA OrderCalcMargin للتأكد من أن الحساب يستطيع تمويل الأمر، ثم يرسل عبر غلاف CTrade بالرقم السحري 22202017 وانزلاق 3 نقاط. إذا أعاد الوسيط REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED، يعيد EA المحاولة حتى 3 مرات بفاصل 200 مللي ثانية.

تتم إدارة المخاطر على مستوى الحساب وليس على مستوى الصفقة. لا يوجد trailing stop، ولا رatchet لنقطة التعادل، ولا إغلاق جزئي — تُحفظ الصفقة إلى SL أو TP الثابت، وEA لا يفتح سوى صفقة واحدة في كل مرة (يقطع CountPositions() >= 1 منطق الدخول). يتولى مكدس الحماية العمل بعد بدء التداول. تراقب OnTradeTransaction إضافة الصفقات بالرقم السحري لـ EA، وتجمع ربح الصفقة + السواب + العمولة، وتحدّث g_realizedToday وg_realizedWeek. عندما تصل خسارة اليوم المحققة إلى InpDailyLossLimitPct من الرصيد الابتدائي (5% افتراضياً)، تحظر IsSafeToTrade_EX02017 جميع الإدخالات الجديدة. عندما يتجاوز g_consecLosses قيمة InpMaxConsecLosses (5 افتراضياً)، يتم تعيين cooldown: g_cooldownUntil = TimeCurrent() + InpCooldownHours * 3600 (4 ساعات)، ويتوقف EA حتى مرور الموعد النهائي.

بوابة الجلسة جدار صلب. تستدعي DetectGMTOffset_EX02017 في OnInit وتمشي الفوارق من -12 إلى +12 GMT، وتسجّل كل واحدة منها حسب يوم الأسبوع (الإثنين-الجمعة +10) والساعة (7-21 +5)، ثم تثبّت النتيجة الأفضل كـ g_gmtOffset. مع الإعدادات الافتراضية، تكون InpUseGMTSessions مفعّلة، وInpLondonStartGMT/InpLondonEndGMT تحدد 7-16 GMT، وInpNewYorkStartGMT/InpNewYorkEndGMT تحدد 12-21 GMT. تتحقق InActiveSession_EX02017 مما إذا كانت ساعة GMT الحالية تقع داخل أي من النافذتين. يحظر حارس السوق المفتوح أيضاً يوم السبت، والأحد قبل الساعة 22 GMT، والجمعة من الساعة 22 GMT فصاعداً. تستعلم IsNewsTime_EX02017 من التقويم الاقتصادي MQL5 عبر CalendarValueHistory عن الأحداث في نافذة ±InpNewsBufferMinutes (30 دقيقة)، وتحظر الإدخالات إذا وقع أي حدث عالي الأهمية في هذا النطاق.

حماية رأس المال قابلة للتكوين لكن غير نشطة افتراضياً. InpCapAmount تساوي 0.0 افتراضياً، مما يعطّل الحد الأقصى. عند ضبطها فوق الصفر، يكون رأس المال الفعال هو min(InpCapAmount, equity)، وإذا انخفض رأس المال الفعال تحت InpCapFloor (1000.0)، يرفض EA التداول. مفتاح الإيقاف هو InpMinEquityPct (70.0% من الرصيد الابتدائي): إذا انخفضت equity تحت 70% من اللقطة المأخوذة في OnInit، تحظر IsSafeToTrade_EX02017 الإدخالات.

معيار المُختبر في OnTester() هو profit * profitFactor / maxDD، مع بوابات profitFactor في (0, 1000]، وmaxDD > 0، و10 صفقات على الأقل. لاحظ أن البوابات هنا أكثر تساهلاً من بقية عائلة EX02 — الحد الأدنى لعدد الصفقات هو 10 بدلاً من 30، مما يعكس الطبيعة منخفضة التردد لـEA يعمل بإطار M15 وصفقة واحدة في كل مرة.

عملياً، هذا هو «اختراق ذهب مضبوط ونُسي»: مدخلات بسيطة، إشارة واحدة قائمة على الفراكتال على M15، SL/TP ثابت، ومكدس حماية يحمي الحساب بدلاً من إدارة الصفقات المفتوحة بشكل دقيق. مناسب للمتداولين الذين يريدون تطبيق ويليامز فراكتال نظيفاً دون مكدس التأكيد متعدد الطبقات الذي تجلبه EAs الـEX02 الأكثر تعقيداً.

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

عند كل شمعة M15 جديدة يحدّث EA مخازن iFractals وiATR(14)، ويمشي في نافذة 30 شمعة للعثور على أحدث قيمة فراكتال علوي وسفلي غير فارغة، ويخزنهما في lastFractalHigh وlastFractalLow. ثم يقارن منطق الدخول إغلاق الشمعة السابقة مع هذه المستويات مع إضافة FractalBuffer (5 نقاط)؛ تتفعّل إشارة شراء عندما يخترق الإغلاق الفراكتال العلوي زائد المخزن، وإشارة بيع على العكس. يمر الأمر عبر OrderCalcMargin، ويُملأ عبر وضع FOK/IOC/RETURN المكتشف تلقائياً من GetAllowedFilling، وتتم إعادة المحاولة حتى 3 مرات على رموز requote أو timeout أو price-off أو price-changed. إدارة المراكز على مستوى الحساب فقط: تجمع OnTradeTransaction الأرباح والخسائر اليومية والأسبوعية، وتفرض سقف InpDailyLossLimitPct للخسارة اليومية وcooldown لـInpCooldownHours بعد InpMaxConsecLosses، بينما تستخدم بوابة الجلسة DetectGMTOffset_EX02017 مع CalendarValueHistory لإبقاء الإدخالات داخل نافذة لندن-نيويورك وبعيداً عن الأخبار عالية الأهمية.

إشارة الدخول

تتفعّل إشارة الشراء عندما يتجاوز إغلاق شمعة M15 مغلقة آخر فراكتال علوي مؤكد من ويليامز زائد FractalBuffer البالغ 5 نقاط؛ وتتفعّل إشارة البيع المعاكسة عندما ينخفض الإغلاق تحت آخر فراكتال سفلي ناقص المخزن المؤقت. يأخذ EA صفقة واحدة فقط في المرة، ويحجمها لتخاطر بنسبة RiskPercent (2.0% افتراضياً) من رصيد الحساب، ولا يدخل إلا عندما يكون السبريد الفوري تحت MaxSpreadPips (25 نقطة).

إشارة الخروج

تُحفظ الصفقات إلى SL أو TP الثابت — لا يوجد trailing stop، ولا نقطة تعادل، ولا إغلاق جزئي. يفرض EA الخروج فقط على مستوى شكل الصفقة (صفقة واحدة، ثم خمول حتى الاختراق التالي). تأتي المخارج على مستوى الحساب من مكدس الحماية: cooldown لمدة 4 ساعات بعد InpMaxConsecLosses (5) خسائر متتالية، وحظر ليوم كامل عند تحقق InpDailyLossLimitPct (5%) من الرصيد الابتدائي، وحظر وقت الأخبار للأحداث عالية الأهمية خلال InpNewsBufferMinutes (30 دقيقة).

وقف الخسارة

مسافة وقف الخسارة هي الحد الأقصى بين ATR(14) × 1.5، والمرجع الثابت 15 نقطة (StopLossPips)، و1.5 × minDist (stops_level الخاص بالوسيط مع احتياطي 10 نقاط)، مما يوسّع الوقف في الجلسات المتقلبة ويضعه عند الحد الأدنى الثابت أو حد الوسيط الأدنى. يتم تطبيع المستوى إلى حجم التيك عبر NormalizePrice_EX02017، والتحقق منه مقابل stops_level للوسيط قبل إرسال الأمر.

جني الأرباح

مسافة جني الأرباح هي الحد الأقصى بين SL × 2 و1.5 × minDist، مما يعطي نسبة مخاطرة إلى عائد 1:2 في كل صفقة. يتم أيضاً تطبيع TP إلى حجم التيك والتحقق منه مقابل stops_level للوسيط حتى لا يقع داخل منطقة الوقف الدنيا.

الأنسب لـ

مناسب للمتداولين الذين يشغّلون XAUUSD على إطار M15 مع وسيط ECN أو RAW بسبريد منخفض (يحظر EA الإدخالات عندما يتجاوز السبريد 25 نقطة) وبحد أدنى للرصيد 100 دولار، نظراً للمخاطرة الافتراضية 2% لكل صفقة. تفترض بوابة جلسة لندن-نيويورك ومرشح الأخبار ±30 دقيقة وسيطاً يمكن تحويل توقيت خادمه بشكل موثوق إلى GMT — يتولى الاكتشاف التلقائي في DetectGMTOffset_EX02017 التعامل مع معظم إعدادات توقيت الخادم، لكن تحقّق من النتيجة في سجل Strategy Tester قبل التشغيل الحي. تجعل وضعية «صفقة واحدة، احتفظ إلى SL/TP» هذا EA منخفض المتابعة على الشاشة: مناسب تماماً للمتداولين الذين يريدون تعرضاً لاختراقات فراكتال ويليامز دون مراقبة الشارت.

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

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

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

الوصف: Gold scalping strategy trading breakouts of Williams fractals with ATR-based stop loss and take profit, spread filter, and money management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • SafePositionModify()
  • RefreshIndicators()
  • OpenPosition()
  • CalculatePositionSize()
  • IsNewBar()
  • GetPipSize()
  • CheckFilters()
  • CountPositions()
  • DetectGMTOffset_EX02017()
  • ServerToGMT_EX02017()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX02017 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Gold scalping strategy trading breakouts of Williams fractals with ATR-based stop loss and take profit, spread filter, and money management. 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
الأطر الزمنية المُحسّنة:
M15

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

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

المعاملالافتراضيالوصف
FractalBuffer5Pips buffer above/below fractal
InpNewYorkEndGMT21--- Hardening: Capital Protection ---
InpCapAmount0.0Capital cap amount (0=disabled, effective capital = min(capAmount, equity))
InpMinEquityPct70.0--- Hardening: Trade Safety ---
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX02017.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX02017 GoldScalper_FractalBreak_HighLowBreak — Williams fractal breakout scalper, full 12-layer stack."
#include <Trade\Trade.mqh>

input group "=== Risk Management ==="
input bool   UseMoneyManagement = true;
input double RiskPercent        = 2.0;
input double FixedLotSize       = 0.01;

input group "=== Trade Settings ==="
input int    StopLossPips       = 15;
input int    Slippage           = 3;
input int    MagicNumber        = 22202017;
input string InpTradeComment    = "Psgrowth.com Expert_02017";
input int    FractalBuffer      = 5;          // Pips buffer above/below fractal

input group "=== Filters ==="
input bool   UseSpreadFilter    = true;
input double MaxSpreadPips      = 25.0;

CTrade trade;
int handleFractals, handleATR;
datetime lastBarTime = 0;
double currentATR;
double lastFractalHigh = 0, lastFractalLow = 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 ===";
input bool    InpUseGMTSessions       = true;
input int     InpLondonStartGMT       = 7;
input int     InpLondonEndGMT         = 16;
input int     InpNewYorkStartGMT      = 12;
input int     InpNewYorkEndGMT        = 21;

// --- Hardening: Capital Protection ---
input group "=== Capital Protection ===";
input double  InpCapAmount            = 0.0;      // Capital cap amount (0=disabled, effective capital = min(capAmount, equity))
input double  InpCapFloor             = 1000.0;
input double  InpMinEquityPct         = 70.0;

// --- Hardening: Trade Safety ---
input group "=== Trade Safety ===";
input int     InpMaxTradesPerDay      = 10;
input int     InpMaxConsecLosses      = 5;
input int     InpCooldownHours        = 4;
input double  InpDailyLossLimitPct    = 5.0;

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

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

الوسوم:ex02017breakoutpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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