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

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

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

Pipsgrowth EX02013 Breakout — Professional Trend/Reversal EA using JMA + Donchian Breakout entry with pyramiding, profit lock trailing, and tightening. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكس 02013 هو محرك اختراق مزدوج التأكيد مصمم للعمل على إطار الساعة H1 للأزواج XAUUSD و XAGUSD و EURUSD و USDJPY. لا يطارد Expert Advisor هذا مؤشراً واحداً، بل ينتظر حتى يتفق كسران هيكليان مستقلان قبل ضخ أي رأس مال. البوابة الأولى هي قناة دونشيان كلاسيكية على إطار زمني يختاره المستخدم (InpDonchianTF=4 يرمز إلى H1، الفترة 20، الإزاحة 1): لا يُفتح صفقة شراء إلا إذا أغلقت الشمعة السابقة فوق الحد العلوي للقناة، ولا تُفتح صفقة بيع إلا إذا أغلقت الشمعة السابقة تحت الحد السفلي. البوابة الثانية هي متوسط متحرك جوريك JMA يُحسب داخلياً عبر حلقة CalcJMA() بطول 14، ومرحلة 0، وقوة 0.45؛ يقارن GetJMASignal() قيمة JMA الحالية بقيمة الشمعة السابقة ويمنح إشارة شراء حين يكون المنحنى صاعداً، وإشارة بيع حين يكون هابطاً. يجب أن تشير البوابتان معاً في الاتجاه نفسه في نفس tick التقييم قبل أن يُرجع GetCombinedSignal() توجيهاً غير صفري — إن قالت دونشيان شراء لكن JMA ثابتة أو هابطة فلن تتم أي صفقة. تثبيت الإزاحة بـ 1 على كلتا الإشارتين يعني أن إكس 02013 يتفاعل فقط مع شموع مكتملة الإغلاق، وليس مع ارتفاعات الشمعة الجارية، مما يُلغي شريحة كبيرة من إشارات الاختراق الكاذب التي تعاني منها بوتات الإطارات الزمنية الأدنى.

ما يميز إكس 02013 عن بوت دونشيان التقليدي هو مكدس إدارة المراكز بعد الدخول. تُفتح الصفقة بوقف ثابت عند InpHardSL_Points=1000 نقطة وهدف ربح عند InpFixedTP_Points=2000 نقطة، أي بنسبة مخاطرة/عائد افتراضية 1:2. من هناك يتولى نظامان متتابعان للوقف المتحرك. الأول هو ManageProfitLock(): ما إن يبلغ الربح InpLock_StartDistance=500 نقطة، يبدأ الـ EA بسحب وقف الخسارة إلى سعر ناقص InpLock_BreathDistance=300 نقطة، لكن فقط حين يكون الوقف الجديد على الأقل InpLock_Step=50 نقطة أعمق في الربح من السابق — هذا يمنع رفض broker المتكرر لطلبات التعديل بسبب stops_level. الثاني هو ManageTightening(): حين يتجاوز الربح InpTighten_TriggerProfit=1500 نقطة، يتحول الـ EA إلى وضع أكثر إحكاماً بـ InpTighten_BreathDistance=150 نقطة و InpTighten_Step=20 نقطة، ليلتصق بالسعر بشكل أوثق. التضييق Tightening هو البديل الفعلي للخروج الجزئي: بدل إغلاق نصف الصفقة، يقفل معظم الربح غير المحقق ويترك الباقي يركض.

الهرمنة (Pyramiding) مفعّلة افتراضياً (InpEnablePyramiding=true) بسقف InpPyramid_MaxLevels=3 مراكز لكل اتجاه. شرطان مسبقان يحكمان كل إضافة هرمية: AreAllPositionsSecured() يتحقق أن كل مركز قائم في نفس الاتجاه قد نقل وقفه فوق نقطة التعادل بما لا يقل عن InpPyramid_SecureProfit=200 نقطة، و IsDistanceEnough() يشترط أن يكون الدخول الجديد على بعد InpPyramid_MinDistPoints=500 نقطة على الأقل من آخر سعر دخول. هذا المزيج يمنع الـ EA من الإضافة إلى عنقود خاسر أو تكديس الطلبات فوق بعضها حين يكون السوق متقطعاً. حساب حجم المركز قائم على المخاطرة عبر InpLots(): مع InpRiskPercent=0.5 يخاطر الـ EA بنسبة 0.5% من رصيد الحساب لكل صفقة، ثم يُقرّب اللوت إلى step الأداة، ويُطبّق الحد الأدنى، ويقص النتيجة عند الحد الأقصى للأداة وعند InpMaxLot=5.0. ضبط InpFixedLots على أي قيمة أكبر من صفر يُلغي حساب المخاطرة ويستخدم حجم ثابت، وهو خيار مفضل لحسابات الشركات الممولة التي تفضل sizing ثابت.

بوابة عدم التداول هي الأكبر في إكس 02013. يتداول الـ EA داخل نافذتين زمنيتين محددتين بتوقيت GMT: لندن من 7 إلى 16 ونيويورك من 12 إلى 21 (InpUseGMTSessions=true)، ويحظر عطلة نهاية الأسبوع عبر فحص day_of_week داخل InActiveSession_EX02013(). يُحوَّل وقت السيرفر إلى GMT عبر DetectGMTOffset_EX02013() الذي يمسح فروقات من -12 إلى +12 ويختار الذي يعطي ساعة يوم عمل بين 7 و21، مما يوفر محاذاة تلقائية مع broker دون تدخل يدوي. فلتر السبريد يرفض الدخول حين يتجاوز السبريد الحالي InpMaxSpreadPoints=200 نقطة، وهو إعداد متسامح مناسب لتقلبات سيولة XAUUSD. حدود الخسارة اليومية (InpDailyLossLimit) والأسبوعية (InpWeeklyLossLimit) وأدنى رصيد (InpEquityFloor) ونسبة الرصيد إلى الرصيد الأولي (InpMinEquityPct=70) ومفتاح InpMaxDDPct=20 للإيقاف الكامل كلها معطلة افتراضياً أو مضبوطة على قيم متساهلة — يفعّلها المستخدم حسب broker ومستوى المخاطرة لديه. سقف InpMaxTradesPerDay=20 يحد من نشاط الـ EA اليومي، ومعالج OnTradeTransaction يتتبع الخسائر المتتالية ليُفعّل فترة تهدئة (InpCooldownMinutes) عند بلوغ العتبة (InpMaxConsecLosses) التي يحددها المستخدم.

تنفيذ الأوامر مُحصّن ضد عواصف إعادة التسعير: TryBuy_EX02013() و TrySell_EX02013() يعيدان المحاولة حتى 3 مرات بفاصل 200 مللي ثانية على رموز TRADE_RETCODE_REQUOTE و TRADE_RETCODE_TIMEOUT و TRADE_RETCODE_PRICE_OFF و TRADE_RETCODE_PRICE_CHANGED، ويتحققان مسبقاً من الهامش عبر OrderCalcMargin() قبل الإرسال. تتم التعبئة بسعر ask/bid الحالي داخل حلقة إعادة المحاولة، فحتى بعد رفض price-changed يُعيد الـ EA التسعير على السعر الجديد. تعديلات المراكز تمر عبر TryModify_EX02013() الذي يكمّ الوقف الجديد إلى حجم tick الأداة قبل الإرسال ويعيد المحاولة 3 مرات أيضاً. دالة اللياقة OnTester() تجمع معامل الاسترداد مع معامل الربح (rf × pf) وتفرض بوابات: عدد الصفقات ≥ 10، و Drawdown ≤ InpMaxDDPct، والربح الصافي > 0، مما يمنع المُحسّن من اختيار مجموعات معطيات تبدو حادة في العينة الداخلية لكنها تُفجّر الحساب خارج العينة.

إكس 02013 عملياً يتصرف كصياد اختراق يحترم الاتجاه ويرفض الدخول حتى يتفق مقياسان مستقلان، وحين يدخل يُحكم إغلاق الأرباح عبر نظام التريلينج ذي المرحلتين. ليس scalper بدقات tick، وليس martingale، وليس شبكة — إنه EA اختراق H1 بقواعد هرمنة صريحة وإطار تريلينج منضبط بشكل غير معتاد. المدخل InpDryRun يتيح للمستخدم تجفيف كل إشارة دون إرسال أوامر، وهي الخطوة الموصى بها على رمز جديد للتأكد أن إطاري Donchian و JMA ينتجان إشارات متفقة عند تقاطع الجلسات المفضل لدى المتداول. المدخل InpKillSwitch هو زر طوارئ يغلق فوراً كل المراكز بالسحر 22202013 ويوقف أي دخول لاحق. كلاهما معطل افتراضياً، ويصل الـ EA جاهزاً للتداول على XAUUSD H1 بهندسة 1:2 افتراضية ونوافذ جلسات لندن/نيويورك مفعلة.

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

يُشغّل إكس 02013 قناة دونشيان داخلية ومتوسط JMA داخلي بالتوازي، ويشترط أن يتفقا على الاتجاه على شمعة مكتملة (الإزاحة 1) قبل فتح أي صفقة. تقارن بوابة دونشيان إغلاق الشمعة السابقة بأعلى قمة للـ 20 شمعة السابقة على إطار InpDonchianTF؛ وتقارن بوابة JMA القيمة المُنعّمة الحالية بقيمة الشمعة السابقة، صعوداً مقابل هبوطاً. ما إن تُفتح الصفقة، يُطبّق الـ EA نظامي تريلينج متتابعين — يبدأ ManageProfitLock عند 500 نقطة ربح، ثم يتولى ManageTightening عند 1500 نقطة — وكلاهما يُكمّ الوقف الجديد إلى حجم tick الأداة ويدفعه للأمام بخطوات ثابتة. الهرمنة مفعلة افتراضياً حتى 3 مستويات، لكنها لا تنطلق إلا إذا كان كل مركز قائم في الاتجاه نفسه فوق نقطة التعادل وكان الدخول الجديد على بعد 500 نقطة على الأقل من آخر سعر دخول. كل أمر يمر عبر غلاف إعادة محاولة بثلاث محاولات يُعيد التسعير على requote/timeout/price-changed ويتحقق مسبقاً من الهامش عبر OrderCalcMargin، وبوابة الأمان تفرض نوافذ جلستي لندن ونيويورك، وحداً أقصى 20 صفقة يومياً، وأدنى رصيد 70%، ومفتاح إيقاف كامل عند Drawdown 20%.

إشارة الدخول

يتطلب الدخول شراء أن يُغلق السعر السابق فوق الحد العلوي لقناة دونشيان وأن يكون منحنى JMA(14) صاعداً (jma[0] > jma[1]) في نفس التقييم. والدخول بيع هو المرآة — إغلاق تحت الحد السفلي مع انحدار JMA للأسفل. تُقيَّم كلتا الإشارتين على الإزاحة 1، فلا تُحتسب إلا الشموع المكتملة.

إشارة الخروج

الخروج عبر الهدف الثابت عند 2000 نقطة (افتراضي 1:2)، أو عبر وقف متحرك ذي مرحلتين: ManageProfitLock يسحب وقف الخسارة خلف السعر ما إن يتجاوز الربح 500 نقطة، ثم يتولى ManageTightening عند 1500 نقطة ربح بفسحة 150 نقطة أكثر إحكاماً.

وقف الخسارة

وقف خسارة ثابت عند InpHardSL_Points=1000 نقطة (10 نقاط على FX بخمس خانات أو 100 نقطة على XAUUSD بثلاث خانات) لحظة الدخول. بعد الدخول لا يُحرَّك وقف الخسارة إلا للأمام عبر ManageProfitLock أو ManageTightening — لا يتراجع أبداً.

جني الأرباح

جني أرباح ثابت عند InpFixedTP_Points=2000 افتراضياً (نسبة مخاطرة/عائد 1:2 مقابل وقف 1000 نقطة). اضبطه على 0 لتعطيل الهدف الثابت ودع نظام التريلينج يدير الخروج بالكامل.

الأنسب لـ

الأفضل على H1 XAUUSD بمخاطرة 0.5% افتراضية لكل صفقة؛ كما يناسب متداولي XAGUSD و EURUSD و USDJPY الذين يريدون اختراق H1 مع تريلينج مدمج. الحد الأدنى للرصيد: 100 دولار. يحتاج الـ EA إلى نوافذ جلستي لندن 7-16 GMT ونيويورك 12-21 GMT للإعداد الافتراضي، ويستفيد من broker ECN/RAW بفارق سبريد منخفض — InpMaxSpreadPoints=200 متسامح لكن تغذية نظيفة تساعد هندسة 1:2 على التنفس.

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

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

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

الوصف: Professional Trend/Reversal EA using JMA + Donchian Breakout entry with pyramiding, profit lock trailing, and tightening management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • CloseAllPositions_EX02013()
  • ManageProfitLock()
  • ManageTightening()
  • ManagePyramiding()
  • AreAllPositionsSecured()
  • IsDistanceEnough()
  • OpenTrade()
  • InpLots()
  • CountTrades()
  • GetDonchian()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX02013 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Professional Trend/Reversal EA using JMA + Donchian Breakout entry with pyramiding, profit lock trailing, and tightening 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
الرموز المُحسّنة:
XAUUSDXAGUSDEURUSDUSDJPY
الأطر الزمنية المُحسّنة:
H1

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

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

المعاملالافتراضيالوصف
InpEquityFloor0.0Stop trading if equity drops below this
InpDailyLossLimit0.0Max daily loss in account currency (0=off)
InpWeeklyLossLimit0.0Max weekly loss in account currency (0=off)
InpCapitalCap0.0Stop trading if balance exceeds this (0=off)
InpMaxTradesPerDay20Max trades per day
InpCooldownMinutes0Cooldown after consecutive losses (minutes)
InpMaxConsecLosses0Stop trading after N consecutive losses (0=off)
InpSlippagePoints20.0Max slippage (points)
InpLogfalseEnable verbose logging
InpMinEquityPct70.0Min equity as % of initial balance to trade [0-100, step 1]
InpDryRunfalseDry-run: log signals without executing trades
InpKillSwitchfalseKill switch: close all positions and stop trading
InpMaxDDPct20.0Max drawdown % — stop trading if exceeded [1-50, step 0.5]
InpMaxLot5.0Max lot size cap [0.01-100, step 0.01]
InpDonchianTF4Donchian timeframe (1=M1,2=M5,3=M15,4=H1,5=H4,6=D1,7=W1,8=MN1)
InpJMA_TF4JMA timeframe (1=M1,2=M5,3=M15,4=H1,5=H4,6=D1,7=W1,8=MN1)
InpJMA_Power0.450.3-0.7 recommended
InpRSI_Upper70.0Filter: RSI max for Buy
InpRSI_Lower30.0Filter: RSI min for Sell
InpRiskPercent0.5Risk % per trade
InpFixedLots0.0If > 0, uses fixed lots instead of risk %
InpHardSL_Points1000Stop Loss in Points
InpFixedTP_Points2000Take Profit in Points (0 = None)
InpMagicNumber22202013Magic Number (222 + Expert ID)
InpTradeComment"Psgrowth.com Expert_02013"--- Trade Management ---
InpLock_StartDistance500Points profit to start locking
InpLock_BreathDistance300Distance (Points) to keep SL from Price
InpLock_Step50Move SL only if improved by this step
InpTighten_TriggerProfit1500Pionts profit to switch to tight mode
InpTighten_BreathDistance150Tighter Distance (Points) from Price
InpTighten_Step20Tighter Step
InpPyramid_MaxLevels3Max positions per direction
InpPyramid_MinDistPoints500Min distance from last entry
InpPyramid_SecureProfit200Existing trades must have SL > BreakEven + this
InpMaxSpreadPoints200Max Spread allowed (Points)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX02013.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX02013 dochin_is_complete   JMA + Donchian Breakout with pyramiding and profit lock, full 12-layer stack."

#include <Trade/Trade.mqh>

//+------------------------------------------------------------------+
//| Global Objects                                                   |
//+------------------------------------------------------------------+
CTrade trade;
ulong  g_magicNumber = 123456; // Will be set from input

//+------------------------------------------------------------------+
//| Hardening Globals                                                |
//+------------------------------------------------------------------+
double g_initialBalance = 0;
double g_realizedToday  = 0;
double g_realizedWeek   = 0;
datetime g_dayStartTime  = 0;
datetime g_weekStartTime = 0;
int    g_gmtOffset      = 3;
int    g_dailyTrades    = 0;
int    g_consecutiveLosses = 0;
datetime g_cooldownUntil = 0;

//+------------------------------------------------------------------+
//| Hardening Inputs                                                 |
//+------------------------------------------------------------------+
input group "=== Hardening GMT Sessions ===";
input bool   InpUseGMTSessions  = true;
input int    InpLondonStartGMT  = 7;
input int    InpLondonEndGMT    = 16;
input int    InpNewYorkStartGMT = 12;
input int    InpNewYorkEndGMT   = 21;

input group "=== Hardening Capital Protection ===";
input double InpEquityFloor     = 0.0;    // Stop trading if equity drops below this
input double InpDailyLossLimit  = 0.0;    // Max daily loss in account currency (0=off)
input double InpWeeklyLossLimit = 0.0;    // Max weekly loss in account currency (0=off)
input double InpCapitalCap      = 0.0;    // Stop trading if balance exceeds this (0=off)

input group "=== Hardening Trade Safety ===";
input int    InpMaxTradesPerDay = 20;     // Max trades per day
input int    InpCooldownMinutes = 0;      // Cooldown after consecutive losses (minutes)
input int    InpMaxConsecLosses = 0;      // Stop trading after N consecutive losses (0=off)
input double InpSlippagePoints  = 20.0;   // Max slippage (points)
input bool   InpLog             = false;  // Enable verbose logging
input double InpMinEquityPct    = 70.0;   // Min equity as % of initial balance to trade [0-100, step 1]
input bool   InpDryRun          = false;  // Dry-run: log signals without executing trades
input bool   InpKillSwitch      = false;  // Kill switch: close all positions and stop trading
input double InpMaxDDPct        = 20.0;   // Max drawdown % — stop trading if exceeded [1-50, step 0.5]
input double InpMaxLot          = 5.0;    // Max lot size cap [0.01-100, step 0.01]

//+------------------------------------------------------------------+
//| Input Parameters                                                 |
//+------------------------------------------------------------------+

// --- Signal Settings ---

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

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

الوسوم:ex02013breakoutpipsgrowthfreemt5xauusdxagusdeurusdusdjpy

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

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

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

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

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

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

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

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