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

Pipsgrowth EX05002 Hedge — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX05002 Hedge — EMA(fast/slow) cross seed entry; protective loss-triggered hedge opens ONE opposing cover when a position loses > N*ATR,. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EX05002 هو مستشار خبير متخصص في الصفقة الواحدة والغطاء الواحد. لا يدير سلة من الأطرف المقابلة أو يكدس أوامر توسيع داخل اتجاه — كل دخول هو صفقة «بذرة» واحدة بالضبط، ويُرفق بها غطاء معاكس واحد على الأكثر لتلك البذرة. لا يوجد منطق شبكة، ولا مارتينجال، ولا توسيع لوت لكل طبقة. مهمته الوحيدة هي الدخول عند تقاطع زخم مؤكد، وإدارة تلك الصفقة عبر نقطة التعادل والإغلاق الجزئي والوقف المتحرك، ثم — إذا استمر السعر في التحرك ضد البذرة — فتح غطاء وقائي واحد يحد من الخسارة بينما تنضج الفرضية الأصلية.

تُولَّد البذرة من تقاطع EMA(8) / EMA(21) على الشمعة المغلقة. التقاطع وحده لا يكفي: تحسب ComputeSignal() أيضاً رقم ثقة من الفرق النسبي بين المتوسطين (sep * 30 + 40، محدود بـ 100)، وتؤكد HtfAgrees() الاتجاه عبر فلتر EMA(50) على H1 — الشراء فقط فوق EMA50، والبيع فقط تحته. يعمل مصنف النظام (ClassifyRegime()) في كل تيك باستخدام ADX(14) و percentile لـ ATR(14) على 200 شمعة سابقة، ومؤشر بديل لعرض بولنجر (20، 2.0)، ويصنّف السوق إلى إحدى سبع حالات: COMPRESS وRANGE وCHOPPY وWEAKTREND وSTRONGTREND وEXPAND وBREAKOUT. يبذر EA فقط داخل RANGE أو COMPRESS أو WEAKTREND — الاتجاهات القوية والاختراقات مستبعدة عمداً حتى يكون للغطاء الوقائي مجال للعمل دون أن يصطدم بالزخم على الجانبين. وحالة CHOPPY تحظر جميع الدخولات الجديدة عبر NoTradeGated().

ينقسم الخطر والتسيير إلى نسبة لكل صفقة وغطاء للمحفظة. تسيّر CalcLot() البذرة عند 0.5% من رأس المال الفعّال افتراضياً (InpRiskPercent = 0.5)، حيث رأس المال الفعّال هو min(cap, equity) – realized_today. مسافة وقف الخسارة هي 2.0 × ATR(14) ويُشتق اللوت من تلك المسافة وقيمة/حجم التيك للرمز، ثم تقصّ NormalizeVolume() إلى درجة حجم الوسيط والحد الأدنى والأقصى. تتحقق OrderCalcMargin() مسبقاً من الهامش قبل إرسال الأمر، وتُعاد محاولة طلب CTrade حتى ثلاث مرات عند REQUOTE أو PRICE_OFF أو PRICE_CHANGED أو TIMEOUT مع 150 مللي ثانية بين المحاولات. يُختار نوع التعبئة تلقائياً: FOK إن كان الرمز يسمح، ثم IOC، ثم RETURN.

بمجرد فتح البذرة، يُدير EA كامل رزمة الإدارة في ManageExits() عند كل تيك. عند +1R، يرفع الوقف إلى نقطة التعادل + نقطة واحدة (لمرة واحدة، غير قابل للتراجع). عند نفس عتبة +1R، يُغلق أيضاً 50% من الصفقة كجني أرباح جزئي — يُتخطى الإغلاق الجزئي فقط إذا كان الحجم المتبقي سيقل عن 2× الحد الأدنى للوت عند الوسيط. بعد +1R، يتولى وقف متحرك عند ATR(14) × 2.5 ولا يتحرك إلا إلى الأمام. يراقب منطق الخروج أيضاً تقاطع EMA معاكس بثقة ≥ 50، ويُغلق الصفقة إذا انقلب النظام إلى STRONGTREND ضد الصفقة. يُطلق إيقاف زمني عند 240 شمعة في الصفقة (نحو 20 ساعة على M5) لمنع بقاء رأس المال عالقاً في صفقات خامدة.

الغطاء الوقائي هو نظام فرعي مستقل تقوده ManageHedge(). لكل صفقة رئيسية لا تزال مفتوحة بسحر EA، تقيس الانحراف المعاكس الحالي: (open_px - bid) للشراء، (ask - open_px) للبيع. عندما تتجاوز تلك المسافة InpHedgeLossATRMult * ATR(14) (افتراضياً 1.5 × ATR)، ولم تكن الصفقة موجودة بالفعل في g_hedged_tickets، وكان عدد الغطاء الكلي أقل من min(InpMaxHedges, 3)، يفتح EA أمر سوق معاكس واحداً بـ volume = position.Volume() * min(InpHedgeLotMultiplier, 1.5) — أي نفس حجم البذرة افتراضياً، محدود بـ 1.5× كحد أقصى صارم عبر تعريف HEDGE_LOT_MULT_MAX. يُوسم الغطاء بتعليق ..._H، وتُضاف تذكرة البذرة إلى g_hedged_tickets حتى لا يُغطى مرة أخرى، ويُضبط g_last_hedge_time بحيث تضطر الأغطية اللاحقة للانتظار InpHedgeCooldownMin دقيقة (افتراضياً 5). لا يرث الغطاء أي وقف خسارة/جني أرباح من البذرة — يبقى حتى الإغلاق اليدوي أو تسوية السلة بواسطة إيقاف الأسهم.

طبقة التحصين مركّبة فوق ذلك. تحظر IsMarketOpen() السبت والجمعة بعد 21:00 بتوقيت السيرفر، بالإضافة إلى الأحد قبل 22:00. تترجم InActiveSession() وقت السيرفر إلى GMT باستخدام g_gmtOffset المكتشف تلقائياً (أو InpServerGMTOffset اليدوي)، ثم تقبل الشموع فقط داخل لندن (7–16 GMT) أو نيويورك (12–21 GMT)، وترفض صراحة نافذة آسيا (0–7 GMT) عندما يكون InpAvoidAsia صحيحاً. تحظر IsNewsTime() الدخول في ±15 دقيقة من افتتاح جلسة لندن أو نيويورك عندما يكون InpNewsFilter مفعّلاً. تجري NoTradeGated() عشرة فحوصات منفصلة (نظام choppy، فروق أسعار > 250 نقطة، الجلسة، الأخبار، سقف الصفقات اليومي، عدم توافق الإطار الأعلى، أرضية رأس المال، خسارة يومية، خسارة أسبوعية، تهدئة بعد خسائر متتالية، الحد الأقصى المتزامن) وتكتب سلسلة reason في السجل إذا فشل أي منها.

يُفرض غطاء رأس المال مرتين. عند الدخول، تحد EffectiveCapital() عند أصغر من InpCapitalCapAmount (تعيين 0 يعني استخدام كامل الأسهم) والأسهم الحالية للحساب، ثم تطرح الربح/الخسارة المحققة اليوم. يُسَيَّر اللوت من ذلك الرقم الفعّال، لذلك بعد يوم خسارة يتداول EA تلقائياً بحجم أصغر. الخسارة اليومية عند 3% والخسارة الأسبوعية عند 6% تحظر جميع الدخولات الجديدة؛ تُقرأ الأرقام المحققة مباشرة من سجل الصفقات المُصفّى بالسحر والرمز. يفحص فحص طارئ منفصل في OnTick() ويغلق كل شيء إذا انخفضت الأسهم تحت balance – (effective_capital × daily_loss_pct) — وقف الأسهم.

صيغة OnTester المخصصة هي (net_profit * profit_factor) / (1 + |balance_dd|)، مقيّدة بـ 30 صفقة كحد أدنى وعامل ربح موجب. تكافئ الصيغة كلاً من الربحية لكل وحدة تراجع والاتساق عبر صفقات كثيرة — النوع من المنحنى الذي يمكن لنظام غطاء-صفقة-واحدة أن ينتجه فعلاً. اختبار رجعي يفوز بشكل كبير في 12 صفقة ثم يعيدها سيحصل على درجة ضعيفة حتى لو كان الربح المطلق مرتفعاً.

ملصق minDeposit في الكتالوج هو 100$، ومستوى الخطر HIGH — كلاهما صحيح. يحتاج EA إلى هامش كافٍ لتغطية بذرة كاملة + غطاء كامل عند درجة لوت الوسيط، والغطاء الوقائي مفيد فقط إذا كان الحساب يستطيع حمل كلا الجانبين خلال حركة ATR كاملة ضد البذرة. نسبة الخطر الافتراضية 0.5% لكل صفقة تفترض أن المشغّل مستعد لتحمل البذرة حتى وقف الخسارة والغطاء حتى وقف الخسارة في اليوم نفسه، وهو أسوأ حالة واقعية لهذا التصميم. يجب على أي شخص يشغّل هذا أن يحجم لتلك الحالة، وليس للبذرة وحدها.

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

في كل تيك يحدّث EA مؤشرات ATR(14) وADX(14) وBollinger(20, 2.0) وEMA(8) وEMA(21) وEMA(50) على H1 ويعيد حساب النظام من ADX وATR-percentile وعرض النطاق. يسمح مصنف الحالات السبع بمرور البذور الجديدة فقط في RANGE / COMPRESS / WEAKTREND؛ وتُحظر CHOPPY حظراً صارماً. بعد ذلك تجري NoTradeGated() عشرة فحوصات قبل الصفقة (فروق الأسعار، الجلسة، الأخبار، سقف الصفقات اليومي، توافق الإطار الأعلى، أرضية رأس المال، الخسارة اليومية، الخسارة الأسبوعية، تهدئة بعد خسائر متتالية، الحد الأقصى المتزامن) وترفض الدخول مع تسجيل السبب إذا فشل أي منها. لا تُفتح بذرة جديدة إلا على شمعة جديدة وفقط عندما يكون الحساب خالياً من سحر EA هذا. الغطاء الوقائي هو نظام منفصل تماماً: تفحص ManageHedge() المراكز الرئيسية المفتوحة في كل تيك، وعندما تكون الصفقة بخسارة بأكثر من 1.5 × ATR(14) وغير موجودة في g_hedged_tickets وكان عدد الأغطية أقل من 3، يفتح أمر سوق معاكس واحداً بنفس حجم اللوت (محدود بـ 1.5× عبر تعريف HEDGE_LOT_MULT_MAX) ويوسم التذكرة حتى لا تُغطى مرتين. تُباعد الأغطية 5 دقائق على الأقل عبر g_last_hedge_time ولا ترث أي وقف خسارة/جني أرباح — تبقى حتى وقف الأسهم أو الإغلاق اليدوي.

إشارة الدخول

تُفتح صفقة بذرة عند تقاطع EMA(8) فوق EMA(21) على شمعة مغلقة، بشرط إضافي أن يوافق EMA(50) على H1 الاتجاه (السعر أعلى للشراء، وأقل للبيع) وأن يحوّل مصنف النظام السوق إلى RANGE أو COMPRESS أو WEAKTREND. تُشتق ثقة الإشارة من فرق EMA، ولا يُؤخذ أي دخول في أنظمة CHOPPY أو STRONGTREND أو EXPAND أو BREAKOUT.

إشارة الخروج

تعمل الخروجات عند كل تيك: تُقفل نقطة التعادل (الفتح ± 1 نقطة) لمرة واحدة عند +1R، ويُغلق 50% من الصفقة كجني أرباح جزئي عند نفس عتبة +1R، ويتولى وقف متحرك عند ATR(14) × 2.5 ولا يتحرك إلا إلى الأمام. تُغلق الصفقة أيضاً عند تقاطع EMA معاكس بثقة ≥ 50، أو انعكاس النظام إلى STRONGTREND ضد الصفقة، أو بعد 240 شمعة في الصفقة.

وقف الخسارة

وقف الخسارة الأولي لكل صفقة هو 2.0 × ATR(14) على الشمعة المغلقة، مقيّد بـ SYMBOL_TRADE_STOPS_LEVEL الخاص بالوسيط. ثم يُرفع الوقف إلى نقطة التعادل + 1 نقطة عند +1R (لمرة واحدة)، ويُسلَّم إلى وقف متحرك عند ATR(14) × 2.5 بعد ذلك. لا يوجد وقف خسارة على مستوى المحفظة يتجاوز سقوف الخسارة اليومية (3%) والأسبوعية (6%) ووقف الأسهم الطارئ.

جني الأرباح

جني الأرباح لكل صفقة هو 3.0 × ATR(14)، مما يحدد نسبة مخاطرة إلى عائد قدرها 1.5:1 مقابل وقف 2.0 × ATR(14). عملياً، يُغلق 50% من الصفقة عند +1R كجني أرباح جزئي قبل بلوغ جني الأرباح الكامل، ويميل وقف الخسارة المتحرك إلى اقتناص الباقي.

الأنسب لـ

مناسب لحساب 100$ أو أكثر على وسيط ECN/RAW بفوارق أسعار منخفضة يقدم XAUUSD أو الأزواج الرئيسية للفوركس، على إطار M5 أو H1. يحتاج EA إلى هامش كافٍ لاستيعاب بذرة كاملة + غطاء بالحجم الكامل (افتراضياً 1.0× البذرة) خلال حركة معاكسة قدرها 1.5 × ATR، ووسيط يستطيع التعامل مع تسيير الصفقات ومستوى الوقف على عقد المعادن. مستوى الخطر HIGH لأن كلا الجانبين قد يكونان نشطين في نفس الوقت، والغطاء نفسه بلا وقف حتى الإغلاق اليدوي أو إطلاق وقف الأسهم.

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

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

العائلة: Hedge الماجيك: 22205002 الإصدار: 2.00

الوصف: EMA(fast/slow) cross seed entry; protective loss-triggered hedge opens ONE opposing cover when a position loses > N*ATR, lot multiplier capped (<=1.5x), max 3 hedges, per-position single-hedge, cooldown gated. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • AtrPercentile()
  • EffectiveCapital()
  • RealizedToday()
  • RealizedThisWeek()
  • ComputeSignal()
  • HtfAgrees()
  • InSession()
  • SpreadOk()
  • CountMyPositions()
  • CountHedgePositions()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX05002 Hedge — Execution Flow (from source analysis)
// Family: Hedge
// EMA(fast/slow) cross seed entry; protective loss-triggered hedge opens ONE opposing cover when a position loses > N*ATR, lot multiplier capped (<=1.5x), max 3 hedges, per-position single-hedge, cooldown gated. 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
الأطر الزمنية المُحسّنة:
M5H1

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2تأكد أن وسيطك يسمح بالتحوط (الاحتفاظ بمراكز معاكسة في آن واحد)
  3. 3افتح برنامج MetaTrader 5 على حاسوبك
  4. 4من القائمة العلوية اختر File → Open Data Folder
  5. 5انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  6. 6في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  7. 7اسحب الإكسبرت على رسم بياني وحدد مستوى تفعيل التحوط والتعرض الأقصى
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMagic22205002EA main magic number
InpTradeComment"Psgrowth.com Expert_05002"Trade comment
InpRiskPercent0.5Risk per trade (%) of effective capital
InpDailyLossLimitPct3.0Daily loss limit (%) of effective capital
InpWeeklyLossLimitPct6.0Weekly loss limit (%) of effective capital
InpMaxConcurrent4Max concurrent main positions (this EA)
InpCooldownAfterLoss2Cooldown consecutive losses before re-arm
InpCapitalCapAmount0.0Capital cap allocated ($ REAL money)
InpCapitalCapFloor50.0Floor below which entries are blocked ($)
InpEMAFast8Fast EMA period
InpEMASlow21Slow EMA period
InpHedgeLossATRMult1.5Loss trigger (ATR multiples, >=1.0)
InpHedgeLotMultiplier1.0Hedge lot multiplier (1.0=fixed, max 1.5)
InpMaxHedges3Max simultaneous hedges (0..3)
InpHedgeCooldownMin5Cooldown between hedge trades (minutes)
InpMaxSpreadPts250Max spread (points)
InpSlippagePts30Slippage (points)
InpUseTrailingtrueUse ATR trailing stop
InpUsePartialTPtrueUse partial TP at +1R
InpServerGMTOffset0Server GMT offset hours (0=auto-detect)
InpLondonStartHour7London session start (GMT)
InpLondonEndHour16London session end (GMT)
InpNYStartHour12New York session start (GMT)
InpNYEndHour21New York session end (GMT)
InpAvoidAsiatrueAvoid Asian session
InpAsiaStartHour0Asian session start (GMT)
InpAsiaEndHour7Asian session end (GMT)
InpNewsFilterfalseAvoid trading near news session opens
InpNewsFilterMinutes15Minutes to avoid around news
InpMaxTradesPerDay50Maximum trades per day
InpMinEquityPercent95.0Stop trading if equity < this % of initial balance
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX05002.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX05002 HedgeCover — EMA cross seed + loss-triggered protective hedge, full 12-layer stack."

#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\SymbolInfo.mqh>
#include <Trade\AccountInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Trade\DealInfo.mqh>

//--- Tunables promoted to #define (kept OUT of input surface to respect 12-22 cap)
#define ATR_PERIOD          14
#define ATR_PCTILE_LOOKBACK 200
#define ADX_PERIOD          14
#define BB_PERIOD           20
#define BB_DEVIATION        2.0
#define HTF_EMA_PERIOD      50
#define HTF_TF              PERIOD_H1
#define REGIME_ADX_STRONG   25.0
#define REGIME_ADX_WEAK     18.0
#define ATR_PCTILE_RANGE_HI 70.0
#define ATR_PCTILE_RANGE_LO 30.0
#define BBW_COMPRESS_PCT    20.0
#define HEDGE_LOT_MULT_MAX  1.5      // hard cap on hedge lot multiplier
#define HEDGE_MAX_CAP       3        // hard cap on simultaneous hedges
#define MAX_CONCURRENT_CAP  10
#define SL_ATR_MULT         2.0
#define TP_ATR_MULT         3.0
#define BE_R_MULT           1.0
#define PARTIAL_TP_FRAC     0.5
#define PARTIAL_TP_R        1.0
#define TRAIL_ATR_MULT      2.5
#define TRAIL_START_R       1.0
#define MAX_BARS_IN_TRADE   240
#define MAX_SPREAD_MULT     3.0
#define SESSION_START_HOUR  7
#define SESSION_END_HOUR    21
#define NEWS_WINDOW_MIN     30

CTrade         trade;
CPositionInfo  position;
CSymbolInfo    mysymbol;
CAccountInfo   account;

//================== INPUTS (12-22 hard cap) ========================
input group "=== Identity ==="
input long     InpMagic              = 22205002;             // EA main magic number
input string   InpTradeComment       = "Psgrowth.com Expert_05002"; // Trade comment

input group "=== Risk & Sizing ==="
input double   InpRiskPercent        = 0.5;                 // Risk per trade (%) of effective capital
input double   InpDailyLossLimitPct  = 3.0;                 // Daily loss limit (%) of effective capital
input double   InpWeeklyLossLimitPct = 6.0;                 // Weekly loss limit (%) of effective capital
input int      InpMaxConcurrent      = 4;                   // Max concurrent main positions (this EA)
input int      InpCooldownAfterLoss  = 2;                   // Cooldown consecutive losses before re-arm

input group "=== Capital Allocation Cap ==="

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

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

الوسوم:ex05002hedgepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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