P
PipsGrowth
شبكةمفتوح المصدر - مجاني

Pipsgrowth EX03012 Grid — إكسبرت أدفايزر شبكة

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

Pipsgrowth EX03012 Grid — Gold scalping EA with safe pyramiding based on SuperTrend and EMA ribbon alignment with ADX trend filter. Adds positions. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكسبرت EX03012 مبني حول آلية واحدة مقصودة: لا يضيف إلى مركز خاسر أبداً. ينتظر الـ EA تأكيد اتجاه جديد، يفتح مركزاً واحداً بحجم يتناسب مع ميزانية المخاطرة، ولا يضيف إليه مركزاً ثانٍ إلا بعد أن يكون المركز الأول في ربح غير محقق وأن يكون وقف الخسارة قد نُقل إلى منطقة الربح. هذا هو ما يميزه عن الشبكة الحقيقية — الكود في CanAddPyramidPosition() يفحص خمسة شروط قبل إضافة أي عقدة إضافية، وفشل أي شرط منها يوقف التوسيع بأكمله.

الإشارة التي يسميها المصدر "إشارة الماس" داخل DetectDiamondSignal() تتطلب توافق ثلاثة مؤشرات على نفس الشمعة:

  • السوبرترند — محسوب يدوياً داخل CalculateSuperTrend() عبر أخذ منتصف الشمعة السابقة وجمع وطرح ATR(14) × 2.5 (المتغير SuperTrendFactor)، ثم تحديد ما إذا كان الإغلاق فوق أو تحت خط الوقف السابق. الحالة superTrendDir هي اتجاه السوبرترند.
  • الشريط المتحرك — IsRibbonBullish() يرجع صحيحاً عندما EMA(8) > EMA(21)، والعكس لـ IsRibbonBearish(). فترتا الإيمَا قابلتان للتعديل عبر FastEMA و SlowEMA.
  • فلتر ADXIsTrending() لا يرجع صحيحاً إلا عندما ADX(14) >= 20 (المتغير ADXThreshold). أي قيمة أقل من 20 تُعتبر سوقاً غير متجه والـ EA لا يصدر إشارة.

إشارة الشراء لا تنطلق إلا عندما ينقلب superTrendDir من -1 إلى 1 على الشمعة المغلقة والشريط صاعد وADX يجتاز العتبة. البيع هو المرآة. لا توجد إشارة على شمعة يكون فيها السوبرترند أصلاً عند 1 — الانقلاب من الشمعة السابقة هو المحفز. هذا يقلل عدد الصفقات مقارنة بإكسبرت الارتداد، لكن كل صفقة تأتي مع وزن تأكيد اتجاه خلفها.

المركز الأول يُفتح عبر OpenPosition() الذي يستدعي SafeTradeOpen() بوقف قائم على ATR. مسافة الوقف الافتراضية هي ATR(14) × 1.5، وجني الأرباح ضعف المسافة، أي نسبة مخاطرة/عائد 1:2 مبرمجة داخل SafeTradeOpen(). حجم اللوت يُحسب من مسافة الوقف و RiskPercent (افتراضي 1.0% من الرصيد) داخل CalculateLotSize()، ويُقرب إلى SYMBOL_VOLUME_STEP ويُقصر بين SYMBOL_VOLUME_MIN و SYMBOL_VOLUME_MAX. الاستدعاء trade.Buy() / trade.Sell() مغلف داخل TryBuy_EX03012() / TrySell_EX03012() اللذان يفحصان OrderCalcMargin أولاً ويعيدان المحاولة ثلاث مرات عند أكواد REQUOTE، TIMEOUT، PRICE_OFF، PRICE_CHANGED مع نوم 200 مللي ثانية. نمط التعبئة يُكتشف تلقائياً من الرمز — FOK أولاً، ثم IOC، ثم RETURN.

بوابة التوسيع هي ما يبرر اسم الملف. CanAddPyramidPosition(direction) ينفذ خمسة فحوصات بالتسلسل، ويرجع خطأ عند أول فشل:

  1. GetPositionCount() < MaxPyramidLevels (افتراضي 4، قابل للتعديل بين 2 و 6).
  2. IsSignalStillValid(direction) — السوبرترند والشريط لا يزالان متفقين مع اتجاه المركز. إذا انقلبت الإشارة، لا توسيع.
  3. AllPositionsInProfit() — كل مركز مفتوح بسحر الـ EA يجب أن يكون ربحه غير المحقق > 0. أي مركز تحت الماء يُرفض.
  4. AllPositionsSLSecured() — وقف الخسارة لكل مركز يجب أن يكون على الأقل ATR × 0.3 داخل منطقة الربح. للشراء، الوقف يجب أن يكون > سعر الدخول + 0.3×ATR. للبيع، < سعر الدخول − 0.3×ATR. المركز بلا وقف أو بوقف لا يزال في منطقة الخسارة يُرفض.
  5. IsDistanceValid(direction) — السعر الحالي يجب أن يكون على بعد ATR × PyramidSpacingATR (افتراضي 1.5) من آخر فتح. هذا يمنع تكديس الأوامر داخل تجميع ضيق.

قبل أن ينطلق الفتح الثاني، SecureAllPositionSL() يمر على كل مركز ويشد وقف الخسارة إلى الدخول + 0.3×ATR (شراء) أو الدخول − 0.3×ATR (بيع) إذا كان الوقف الحالي لا يزال خلف ذلك المستوى. هذه هي اللحظة التي تتحول فيها الصفقة من "تحت خطر الخسارة" إلى "مضمونة الإغلاق بربح صغير في حال ضرب الوقف". ثم يُفتح الأمر الجديد بنفس نسبة المخاطرة، فوقف المركز الثاني أيضاً ATR × 1.5 طازج من السعر الجديد.

الإدارة تعمل على كل تيك من OnTick(). الحارس الأول هو GetCurrentSpread() > MaxSpreadPoints (افتراضي 200 نقطة = 20 نقطة على الذهب، أعلى من السبريد النموذجي البالغ 16 نقطة). أي شيء أعرض والتيك يكون لاغياً. ثم IsSafeToTrade_EX03012() يفحص الجلسة، التهدئة، حد الرصيد، حدود الخسارة اليومية والأسبوعية، حد رأس المال، عدد الصفقات اليومية، وعدّاد الخسائر المتتالية. الجلسة قائمة على GMT عبر InActiveSession_EX03012(): لندن 07:00–16:00 ∪ نيويورك 12:00–21:00، مع حجب السبت والأحد. فرق توقيت GMT يُكتشف تلقائياً عبر DetectGMTOffset_EX03012() الذي يمسح الفروقات من -12 إلى +12 ويختار الذي يضع الساعة الحالية بين 7 و 21 في يوم عمل.

على شمعة جديدة، يستدعي الـ EA RefreshIndicators() (ينسخ من الشمعة 1 المغلقة لتجنب إعادة الرسم)، ثم CalculateSuperTrend()، ثم CheckSignalFlip(). روتين انقلاب الإشارة هو الخروج الحاد: إذا كان الـ EA في STATE_LONG وانقلب السوبرترند والشريط إلى هبوطي معاً، تُغلق كل المراكز عبر CloseAllPositions() وتُعاد آلة الحالة. نفس الشيء لـ STATE_SHORTSTATE_LONG، وأي انتقال إلى STATE_NEUTRAL (السوبرترند أو الشريط غير متفقين).

ManageTrailingStops() يعمل على كل تيك. التتبع لا يتفعّل إلا بعد أن يتجاوز الربح ATR × 1 — قبل ذلك يبقى الوقف حيث وضعه SecureAllPositionSL(). بعد التفعيل، الوقف الجديد هو السعر − ATR × 1.5 للشراء و السعر + ATR × 1.5 للبيع، ولا يشدّ إلا للأمام (لا يعود للخلف). إذا كان لساق من سلالم الهرم وقف ضيق، التتبع يحترم فحص مسافة الوقف داخل SafePositionModify() قبل إرسال التعديل.

ما لا يفعله الـ EA يستحق الذكر. لا يوجد فلتر أخبار، لا يوجد مدخل kill switch، لا يوجد إيقاف عند انحناء الرصيد، لا يوجد تعادل+قفل جزئي، لا يوجد خروج زمني. المدخل InpMaxConsecLosses موثق بصفر (معطل فعلياً داخل IsSafeToTrade_EX03012())، لكن معالج OnTradeTransaction لديه تهدئة مبرمجة صلبة تنطلق بعد 3 خسائر متتالية لمدة InpCooldownMinutes (افتراضي 30) بصرف النظر عن قيمة المدخل. المداخل InpEquityFloor و InpDailyLossLimit و InpWeeklyLossLimit و InpCapitalCap كلها افتراضي صفر، أي أن تلك البوابات معطلة عند الخروج من العلبة. إذا أردت حدوداً صلبة للخسارة اليومية أو الأسبوعية، يجب أن تضبطها فوق الصفر قبل التشغيل الحي. الـ EA أيضاً لا يحتوي على فلتر اتجاه إطار زمني أعلى — يقرأ فقط السوبرترند والشريط و ADX للإطار الزمني الحالي.

دالة لياقة المُحسّن OnTester() في أسفل الملف هي (الربح / السحب الأقصى) × PF (مع اقتصار PF على 0 إذا كانت ≤ 1) وتُقيّد التحسين على trades >= 10 و maxDD > 0. هذا يميل بمُحسّن الاستراتيجية نحو مجموعات المعطيات التي تنتج حجم عينة محترماً ومعامل ربح موجب. مع نسبة 1:2 الافتراضية ومعدل السماح بالهرم الذي يعتمد على مدى تكرار استمرارية الاتجاه بعد الدخول الأول، توقع أن يفضل المُحسّن مدخلات تنتج أياماً قليلة ذات قناعة عالية بدلاً من ربح صغير متكرر.

لاختبار الـ EA على XAUUSD M5 في Strategy Tester، نموذج "كل تيك بناء على تيكات حقيقية" إلزامي — فلتر السبريد ومنطق تأمين الوقف يتفاعلان مع تغيرات السبريد على مستوى التيك، والشموع OHLC لن تختبر البوابات بشكل صحيح. اختبار خلفي 2020–2024 بمخاطرة افتراضية 1% لكل سلم و 4 مستويات هرم على حساب $10,000 سيظهر تقريباً 4× مخاطرة السلم الواحد عند الهرم الكامل، ولهذا الملف مُصنّف VERY HIGH: بوابة الأمان هي ربحية كل سلم، لا السحب على مستوى الحساب، وحركة عكسية قوية تأخذ ثلاث وقفات قبل أن يتمكن الرابع من تأمين الربح ستسجل خسائر متعددة متتالية. هذا هو المقايضة التي يقدمها التصميم — هرم فقط على الفائزين المؤكدين، لكن انعكاس اتجاه حقيقي ضد كومة قائمة يمكن أن يضاعف الخسائر بسرعة.

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

على كل شمعة جديدة يسحب الـ EA نسخة من الشمعة المغلقة لـ ATR(14) و EMA(8) و EMA(21) و ADX(14)، ويشغّل صيغة السوبرترند اليدوية داخل CalculateSuperTrend()، ويسأل DetectDiamondSignal() هل انقلبت الحالة للتو إلى صاعد أو هابط مع اتفاق شريط الإيمَا و ADX فوق 20. الشمعة المطابقة الأولى تفتح مركزاً واحداً بحجم 1% من الرصيد عند وقف 1.5×ATR وهدف 3×ATR عبر SafeTradeOpen()، مع ثلاث محاولات عند أكواد requote/timeout/price-changed. الشموع اللاحقة إما تخرج الكومة عند تغيير حالة في CheckSignalFlip()، أو — إذا كان السوبرترند والشريط لا يزالان منسجمين، وكل مركز قائم في ربح، وكل وقف على بعد 0.3×ATR على الأقل في منطقة الربح، والسعر على بعد 1.5×ATR على الأقل من آخر تعبئة — تستدعي SecureAllPositionSL() لقفل الوقوف ثم تفتح سلم هرم بنفس نسبة المخاطرة. التتبع عند 1.5×ATR يتفعّل بعد 1×ATR من الربح على كل تيك، وبوابة الجلسة ترشّح إلى لندن 07:00–16:00 ∪ نيويورك 12:00–21:00 GMT مع حجب عطلة نهاية الأسبوع وسقف سبريد 200 نقطة.

إشارة الدخول

يفتح EX03012 مركزه الأول عند انقلاب اتجاه السوبرترند على شمعة مغلقة يتفق مع شريط EMA(8)/EMA(21) بينما يكون ADX(14) عند 20 أو أعلى. الشروط الثلاثة يجب أن تتحقق على نفس الشمعة: انتقال حالة من -1 إلى 1 (أو العكس) في superTrendDir، ورجوع IsRibbonBullish() أو IsRibbonBearish() صحيحاً، ونجاح IsTrending() في عتبة ADX. لا توجد إشارة على شمعة يكون فيها السوبرترند أصلاً منسجماً مع الاتجاه — الانقلاب هو المحفز.

إشارة الخروج

المخارج تتم عبر ثلاث مسارات: جني أرباح ثابت بنسبة 1:2 يوضع عند فتح المركز، وقف متابع عند 1.5×ATR يتفعّل بعد أن يتجاوز الربح 1×ATR (يُدار على كل تيك في ManageTrailingStops())، وإغلاق حاد عبر CheckSignalFlip() ينطلق عندما ينقلب السوبرترند والشريط ضد المركز أو عندما تصبح حالة الإشارة محايدة. سلالم الهرم تُغلق تلقائياً أيضاً إذا انقلبت الإشارة الأساسية وسط الكومة.

وقف الخسارة

كل مركز يُفتح بوقف خسارة عند الدخول − ATR(14) × 1.5 (شراء) أو الدخول + ATR(14) × 1.5 (بيع)، يُضبط داخل SafeTradeOpen() ويُقصر على الأقل عند 1.5× قيمة SYMBOL_TRADE_STOPS_LEVEL للوسيط. قبل إضافة سلم هرم، SecureAllPositionSL() يشد كل وقف قائم إلى الدخول ± 0.3×ATR (أي داخل منطقة الربح)، و AllPositionsSLSecured() يفرض هذا الحد الأدنى قبل السماح بالأمر التالي.

جني الأرباح

جني الأرباح مبرمج عند 2× مسافة الوقف، بنسبة مخاطرة/عائد ثابتة 1:2 على كل دخول. يُضبط جني الأرباح عند إرسال الأمر داخل SafeTradeOpen() ولا يُعدل بعد الفتح — وقف المتابعة وسحب الربح عند 1.5×ATR يتوليان أي امتداد يتجاوز جني الأرباح الأصلي، وليس جني الأرباح نفسه.

الأنسب لـ

مصمم لـ XAUUSD M5 بحد أدنى للإيداع $100 وتصنيف مخاطرة VERY HIGH، يناسب EX03012 المتداولين الذين يريدون دخولاً مؤكَّد الاتجاه مع شبكة أمان هرم مبرمجة بدلاً من شبكة حقيقية. مخاطرة 1% لكل سلم مع ما يصل إلى 4 سلالم تعني حساب $1,000 عند الهرم الكامل يعرض تقريباً $40 من المخاطرة لكل إشارة — بحجم يناسب الحسابات التي تستطيع استيعاب سحوبات متعددة السلالم أثناء انعكاس الاتجاه. الأفضل على حساب ECN/raw بسبريد ذهب أقل من 200 نقطة، يعمل على جلسة لندن أو نيويورك حيث تتجمع تقلبات الذهب.

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

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

العائلة: Grid الماجيك: 22203012 الإصدار: 2.00

الوصف: Gold scalping EA with safe pyramiding based on SuperTrend and EMA ribbon alignment with ADX trend filter. Adds positions only when all existing positions are in profit with secured SL. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • IsNewBar()
  • GetCurrentSpread()
  • RefreshIndicators()
  • CalculateSuperTrend()
  • IsRibbonBullish()
  • IsRibbonBearish()
  • IsTrending()
  • DetectDiamondSignal()
  • IsSignalStillValid()
  • GetPositionCount()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX03012 Grid — Execution Flow (from source analysis)
// Family: Grid
// Gold scalping EA with safe pyramiding based on SuperTrend and EMA ribbon alignment with ADX trend filter. Adds positions only when all existing positions are in profit with secured SL. 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افتح برنامج 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

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

المعاملالافتراضيالوصف
MagicNumber22203012Unique EA identifier
InpTradeComment"Psgrowth.com Expert_03012"Trade comment
RiskPercent1.0Risk % per position (0.5-2.0)
MaxPyramidLevels4Maximum pyramid positions (2-6)
ATRPeriod14ATR Period
SuperTrendFactor2.5SuperTrend multiplier (2.0-3.0)
FastEMA8Fast EMA for ribbon
SlowEMA21Slow EMA for ribbon
ADXPeriod14ADX Period
ADXThreshold20Min ADX for trending
MaxSpreadPoints200Max spread in points (Gold ~160)
PyramidSpacingATR1.5Min ATR distance between positions
InpMaxConsecLosses0+------------------------------------------------------------------+
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX03012.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX03012 GoldPyramidScalper — Gold scalping with safe pyramiding, full 12-layer stack."

#include <Trade\Trade.mqh>

//+------------------------------------------------------------------+
//| INPUT PARAMETERS                                                  |
//+------------------------------------------------------------------+
input group "=== Identity ==="
input long     MagicNumber       = 22203012; // Unique EA identifier
input string   InpTradeComment   = "Psgrowth.com Expert_03012"; // Trade comment

input group "=== Risk Management ==="
input double   RiskPercent       = 1.0;      // Risk % per position (0.5-2.0)
input int      MaxPyramidLevels  = 4;        // Maximum pyramid positions (2-6)

input group "=== Indicator Settings ==="
input int      ATRPeriod         = 14;       // ATR Period
input double   SuperTrendFactor  = 2.5;      // SuperTrend multiplier (2.0-3.0)
input int      FastEMA           = 8;        // Fast EMA for ribbon
input int      SlowEMA           = 21;       // Slow EMA for ribbon
input int      ADXPeriod         = 14;       // ADX Period
input int      ADXThreshold      = 20;       // Min ADX for trending

input group "=== Trading Settings ==="
input double   MaxSpreadPoints   = 200;      // Max spread in points (Gold ~160)
input double   PyramidSpacingATR = 1.5;      // Min ATR distance between positions

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;
input double   InpDailyLossLimit  = 0.0;
input double   InpWeeklyLossLimit = 0.0;
input double   InpCapitalCap      = 0.0;

input group "=== Hardening Trade Safety ==="
input int      InpMaxTradesPerDay = 50;
input int      InpCooldownMinutes = 30;
input int      InpMaxConsecLosses = 0;

//+------------------------------------------------------------------+
//| GLOBAL VARIABLES                                                  |
//+------------------------------------------------------------------+
CTrade trade;

// Indicator handles
int atrHandle;
int fastEmaHandle;
int slowEmaHandle;
int adxHandle;

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

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

الوسوم:ex03012gridpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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