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

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

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

Pipsgrowth EX02018 Breakout — Gold scalping strategy trading breakouts of Ichimoku cloud edges with optional EMA cross entry/exit confirmation, ATR-ba. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX02018 هو إكسبيرت أدفيزور لاختراق الذهب يعتمد على حافة سحابة إيشيموكو على إطار 15 دقيقة لزوج XAUUSD، ويتعامل مع صفقة واحدة فقط في كل مرة. الفكرة بسيطة: عندما يُغلق الذهب بشكل حاسم على الطرف البعيد من سحابة الكومو (Senkou Span A مقابل Senkou Span B) ويتقاطع خط Tenkan مع خط Kijun على نفس الشمعة، فإن التوازن السابق للسعر قد انتهى ومن المرجح أن يستمر الاختراق. يقرأ الإكسبيرت هذه الهندسة شمعة بشمعة وينفذ الصفقة. فوق ذلك، يعمل تقاطع المتوسط المتحرك الأسي EMA(8) فوق EMA(21) كطبقة إشارة ثانية اختيارية، ويمكن استخدام نفس الزوج كخروج مستقل عن مستويات السعر عندما يرغب المستخدم في فصل قرارات الخروج عن مستويات وقف الخسارة وجني الأرباح التقليدية.

كتلة إيشيموكو تعمل بفترات كلاسيكية: Tenkan = 9، Kijun = 26، Senkou = 52، ويسحب الإكسبيرت جميع البافرز الأربعة (Tenkan و Kijun و Senkou A و Senkou B) على كل شمعة جديدة من M15 عبر iIchimoku. يُحسب سقف السحابة كـ max(SenkouA, SenkouB) وقاعها كـ min(SenkouA, SenkouB). إشارة الشراء تتطلب أن يكون إغلاق[1] فوق سقف السحابة مع تقاطع صعودي لـ Tenkan/Kijun على الشمعة المغلقة للتو (prevTenkan[0] <= prevKijun[0] && tenkanSen > kijunSen)، وإشارة البيع هي المرآة: إغلاق[1] تحت قاع السحابة مع تقاطع هبوطي لـ Tenkan/Kijun. بعد ذلك يتم تقييم تقاطع EMA إذا كان UseEMACrossEntry مُفعّلًا (الافتراضي)، وأي إشارة لاحقة غير صفرية تفوز، فيمكن لتقاطع إما أن يؤكد قراءة إيشيموكو أو يتجاوزها. النتيجة تُمرَّر إلى OpenPosition() مع بوابة صارمة للصفقة الواحدة؛ فإذا كان CountPositions() أكبر أو يساوي 1 فإن الإكسبيرت يخرج قبل النظر في الإشارة.

وقف الخسارة مُرتبط بالسحابة وليس مجرد عدد ثابت من النقاط. داخل OpenPosition() يأخذ الإكسبيرت الحافة المقابلة من السحابة: للشراء يكون الوقف عند cloudBottom، وللبيع عند cloudTop، ثم يوسّع تلك المسافة لتصبح أكبر قيمة بين (أ) المسافة الفعلية لحافة السحابة، (ب) الحد الأدنى الذي يحدده المستخدم StopLossPips = 20، و(ج) 1.5× الحد الأدنى لمسافة الوقف لدى الوسيط من SYMBOL_TRADE_STOPS_LEVEL. يتم تطبيع السعر الناتج عبر NormalizePrice_EX02018() (تقريب إلى حجم tick للرمز) ويُمرَّر إلى دالة التداول. يُضبط جني الأرباح عند 2× بالضبط من مسافة الوقف (tpDist = max(slDist * 2, minDist * 1.5)) مما يعطي نسبة مخاطرة/عائد ثابتة 1:2. هدف جني الأرباح يُعاد حسابه من سعر الدخول لكل أمر، فيكون مضاعف R ثابتًا بصرف النظر عن موقع السحابة بالنسبة للدخول.

يوجد مساران للخروج. الأول: CheckExits() تعمل على كل شمعة جديدة، وعندما يكون UseEMAExit مُفعّلًا فإنها تغلق أي صفقة مفتوحة لم يعد اتجاهها متفقًا مع زوج EMA؛ فالصفقات الطويلة تُغلق عندما fastEMAVal < slowEMAVal، والصفقات القصيرة تُغلق عندما fastEMAVal > slowEMAVal. الثاني: وقف الخسارة وجني الأرباح القياسيان من الأمر يتولّيان حالات الخروج الأخرى. SafePositionModify() هي الحارس لأي تعديل أثناء الطيران؛ فهي تتحقق من مستوى الوقف لدى الوسيط، وتوسّع الوقف/الهدف إذا كانت الحد الأدنى للمسافة لدى الوسيط أكبر، وترفض التعديلات التي تضع وقف الخسارة في الجهة الخاطئة من السعر. لاحظ أنه لا توجد خطوة تعادل ولا trailing stop في هذا الإكسبيرت، فالصفقة تُحفظ حتى جني الأرباح أو وقف الخسارة أو انعكاس EMA.

حجم الصفقة مبني على نسبة المخاطرة مع خيار حجم ثابت احتياطي. CalculatePositionSize(slPips) تقسم مبلغ المخاطرة (الرصيد × RiskPercent / 100، الافتراضي 2%) على القيمة لكل نقطة من وقف الخسارة؛ وفي الذهب تُحسب القيمة لكل نقطة من SYMBOL_TRADE_TICK_VALUE / SYMBOL_TRADE_TICK_SIZE × pipSize، حيث pipSize = 10×_Point في عروض الأسعار ذات 3 و5 منازل (وهو ما يستخدمه كل وسيط لزوج XAUUSD). يُقرَّب الحجم الخام إلى مضاعفات SYMBOL_VOLUME_STEP ويُقيَّد بين الحد الأدنى والحد الأقصى للوت. إذا كان UseMoneyManagement معطّلًا فإن الحجم الافتراضي هو FixedLotSize = 0.01. نسبة 2% الافتراضية مرتفعة نسبيًا لنظام اختراق بصفقة واحدة؛ والمسار الأكثر تحفظًا هو خفضها إلى 0.5–1% مع إبقاء UseEMAExit مُفعّلًا، أو تعطيل إدارة الأموال والاعتماد على 0.01 لوت ثابت. يتم فحص الهامش عبر OrderCalcMargin قبل إرسال الأمر، فإذا كان الهامش غير كافٍ يُلغى الأمر قبل أي إعادة محاولة.

قاعدة الصفقة الواحدة تعني أن هذا الإكسبيرت لا يدخل في متوسط التكلفة مع الخاسرين. بمجرد فتح الصفقة، التقييم الوحيد اللاحق هو عبر CheckExits. لا يوجد pyramiding ولا scaling ولا martingale؛ فإذا تحركت الصفقة ضد السحابة فإنها تتوقف عند حافة السحابة أو الحد الأدنى 20 نقطة وتبقى متوقفة.

تعمل مجموعة الأمان كبوابة بعد الخروج: IsSafeToTrade_EX02018() ترجع false إذا تحقق أي مما يلي: خارج نافذة لندن (7–16 GMT) أو نيويورك (12–21 GMT) عندما يكون InpUseGMTSessions مُفعّلًا، عطلة نهاية الأسبوع (الأحد قبل 22:00 GMT أو الجمعة بعد 22:00 GMT)، داخل نافذة 30 دقيقة حول حدث اقتصادي عالي التأثير (الافتراضي مُفعّل)، حقوق الملكية أقل من 70% من الرصيد الابتدائي (InpMinEquityPct)، انتهاك الحد الأدنى لسقف رأس المال (إذا كان InpCapAmount > 0 فإن السقف الفعلي = min(السقف، حقوق الملكية) ويجب ألا يقل عن InpCapFloor = 1000)، 10 صفقات أو أكثر اليوم، ضمن نافذة g_cooldownUntil، أو أن الخسارة اليومية المحققة قد بلغت 5% من الرصيد الابتدائي. ربط التهدئة بعد الخسائر المتتالية موجود في OnTradeTransaction(): كل صفقة مغلقة تحدّث g_realizedToday و g_realizedWeek و g_consecLosses، وبمجرد g_consecLosses >= InpMaxConsecLosses = 5 يوقف الإكسبيرت لمدة InpCooldownHours = 4 ساعات. مرشح السبريد (MaxSpreadPips = 25) هو المرشح الوحيد عند الدخول؛ فهو يرفض الشمعة إذا كان السبريد الحالي بالنقاط أعلى من 25. في XAUUSD هذا الحد كافٍ للسماح بالظروف العادية للسوق مع حجب أسوأ ارتفاعات السبريد في الأخبار.

تنفيذ الأمر يعتمد على إعادة المحاولة عند إعادة التسعير. OpenPosition() تجري حتى 3 محاولات بفاصل 200 مللي ثانية عند TRADE_RETCODE_REQUOTE أو TRADE_RETCODE_TIMEOUT أو TRADE_RETCODE_PRICE_OFF أو TRADE_RETCODE_PRICE_CHANGED؛ ونفس النمط مستخدم في TryClose_EX02018 و TryClosePartial_EX02018 و TryModify_EX02018 (الأخيرة تنام 100 مللي ثانية بين المحاولات). يتم تهيئة كائن CTrade مرة واحدة في OnInit() بالرقم السحري، والانحراف بالنقاط = Slippage (الافتراضي 3)، ووضع التعبئة الصحيح الذي تختاره GetAllowedFilling(): FOK إذا كان الوسيط يسمح به، وإلا IOC، وإلا RETURN.

معيار OnTester() هو: ربح × عامل ربح / أقصى تراجع، مع حد أدنى 10 صفقات؛ وأقل من ذلك تُرفض الاستراتيجية (ترجع 0). هذا يفضل مجموعات المعايير ذات صافي ربح مرتفع وعامل ربح مرتفع نسبة للتراجع، وهو المطلوب في استراتيجية اختراق بصفقة واحدة يمكن أن تمر بتراجعات عميقة. تخمين DetectGMTOffset_EX02018() يختار أفضل إزاحة GMT في النطاق -12..+12 عبر تسجيل كل مرشح على يوم-عمل-داخل-النافذة بالإضافة إلى ساعة-نشطة-داخل-النافذة، وتُخزن النتيجة في g_gmtOffset وتُستخدم لتحويل وقت الخادم إلى GMT في فحوصات الجلسة وساعات السوق ومواعيد الأخبار.

عمليًا، يعمل الإكسبيرت كمتداول scalper ليوم اتجاهي على الذهب: ينتظر حتى تلتزم السحابة بجانب، ويأخذ الاختراق بمخاطرة مرتبطة بحافة السحابة، ويضرب إما جني الأرباح 1:2 أو يخبره EMA أن الحركة انتهت. نسبة 2% الافتراضية للمخاطرة عدوانية لنظام يأخذ بضع صفقات فقط في اليوم، لذا فإن المسار الأكثر أمانًا هو خفضها إلى 0.5–1% والسماح لإيشيموكو بأداء عمله. شغّله على حساب ECN/RAW حتى لا يقطع مرشح السبريد 25 نقطة إشارات كثيرة، والتزم بـ XAUUSD على M15؛ فهذا هو الرمز والإطار اللذان ضُبطت حولهما المعايير.

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

في كل شمعة M15 جديدة، تسحب RefreshIndicators() بافرز إيشيموكو الأربعة وقيم ATR(14) و EMA(8)/EMA(21)، بينما تحصر IsNewBar() كل المعالجة في قرارات الشمعة المغلقة. ترجع GetIchiSignal() و GetEMASignal() قيمة +1/-1/0، وأي إشارة لاحقة غير صفرية تفوز، فيستطيع EMA تجاوز قراءة إيشيموكو عندما تكون السحابة غير واضحة. تُرسي OpenPosition() وقف الخسارة عند حافة السحابة المقابلة (مع توسيع المسافة لتصبح أكبر قيمة بين 20 نقطة ومسافة حافة السحابة و1.5× الحد الأدنى لدى الوسيط) وتضبط جني الأرباح عند 2× من تلك المسافة. ترفض CheckFilters() الشموع التي يتجاوز فيها السبريد 25 نقطة، ثم تُجري IsSafeToTrade_EX02018() بوابة الأمان: الجلسات وعطلة نهاية الأسبوع ونافذة الأخبار وأدنى حقوق الملكية وسقف رأس المال وعدد الصفقات اليومية والتهدئة والخسارة اليومية المحققة. لا يوجد pyramiding ولا تعادل ولا trailing، فالصفقة تُحفظ حتى جني الأرباح أو وقف الخسارة أو انعكاس EMA.

إشارة الدخول

تَنشَط إشارات الشراء عندما يكون إغلاق الشمعة M15 السابقة فوق سقف سحابة إيشيموكو (أكبر Senkou A و Senkou B) ويتقاطع Tenkan فوق Kijun على نفس الشمعة؛ وإشارات البيع هي المرآة تحت قاع السحابة مع تقاطع هبوطي لـ Tenkan/Kijun. إذا كان UseEMACrossEntry مُفعّلًا فإن الإشارة اللاحقة غير الصفرية من تقاطع EMA(8)/EMA(21) تفوز، فيمكن لـ EMA أن يؤكد قراءة إيشيموكو أو يتجاوزها. توجد بوابة صارمة للصفقة الواحدة تمنع أي دخول جديد ما دامت هناك صفقة مفتوحة على الرقم السحري نفسه.

إشارة الخروج

تُغلق الصفقات المفتوحة إما بجني الأرباح عند نسبة مخاطرة/عائد 1:2، أو بوقف الخسارة عند حافة السحابة أو 20 نقطة، أو عبر CheckExits() عندما يكون UseEMAExit مُفعّلًا ويخالف زوج EMA(8)/EMA(21) اتجاه الصفقة. لا توجد خطوة تعادل ولا trailing stop، فالخروج هو واحد من ثلاثة أحداث منفصلة. تعمل SafePositionModify() كحارس لأي تعديل أثناء الطيران ضد الحد الأدنى لمسافة الوقف لدى الوسيط.

وقف الخسارة

وقف الخسارة مُرتبط بحافة سحابة إيشيموكو المقابلة للدخول (قاع السحابة لصفقات الشراء، وسقف السحابة لصفقات البيع)، مع توسيع المسافة لتصل على الأقل إلى 20 نقطة (StopLossPips) و1.5× الحد الأدنى لمسافة الوقف لدى الوسيط. يُطبَّع السعر إلى حجم tick للرمز قبل إرساله إلى دالة التداول. صفقة واحدة فقط، ولا يتم الدخول في متوسط التكلفة مع الخاسرين.

جني الأرباح

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

الأنسب لـ

مصمم لزوج XAUUSD على إطار M15 مع حد أدنى موصى به للإيداع قدره 100 دولار (مخاطرة متوسطة). استخدم حساب ECN أو RAW بسبريد منخفض حتى لا يحجب مرشح السبريد 25 نقطة عددًا كبيرًا من الشموع؛ فالإكسبيرت مُعاير لتداخل جلستي لندن (7–16 GMT) ونيويورك (12–21 GMT) عندما يكون سوق الذهب أكثر اتجاهية. نسبة المخاطرة الافتراضية 2% عدوانية لنظام بصفقة واحدة؛ لذا خفّضها إلى 0.5–1% للتداول الحي، أو عطّل إدارة Money Management واعتمد على حجم ثابت 0.01 لوت بينما تتعلم سلوك إيشيموكو على بيانات وسيطك.

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

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

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

الوصف: Gold scalping strategy trading breakouts of Ichimoku cloud edges with optional EMA cross entry/exit confirmation, ATR-based stops, spread filter, and money management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • SafePositionModify()
  • CheckExits()
  • GetEMASignal()
  • RefreshIndicators()
  • GetIchiSignal()
  • OpenPosition()
  • CalculatePositionSize()
  • IsNewBar()
  • GetPipSize()
  • CheckFilters()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX02018 Breakout — Execution Flow (from source analysis)
// Family: Breakout
// Gold scalping strategy trading breakouts of Ichimoku cloud edges with optional EMA cross entry/exit confirmation, ATR-based stops, 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

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

المعاملالافتراضيالوصف
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_EX02018.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX02018 GoldScalper_IchimokuBreak_CloudEdge — Ichimoku cloud edge 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 "=== EMA Strategy ==="
input bool   UseEMACrossEntry   = true;
input bool   UseEMAExit         = true;
input int    FastEMAPeriod      = 8;
input int    SlowEMAPeriod      = 21;

input group "=== Ichimoku Settings ==="
input int    Tenkan             = 9;
input int    Kijun              = 26;
input int    Senkou             = 52;

input group "=== Trade Settings ==="
input int    StopLossPips       = 20;
input int    Slippage           = 3;
input int    MagicNumber        = 22202018;
input string InpTradeComment    = "Psgrowth.com Expert_02018";

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

CTrade trade;
int handleIchi, handleATR, handleFastEMA, handleSlowEMA;
datetime lastBarTime = 0;
double currentATR;
double tenkanSen, kijunSen, senkouA, senkouB;
double fastEMAVal, slowEMAVal;

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

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

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

الوسوم:ex02018breakoutpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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