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. - فلتر
ADX—IsTrending()لا يرجع صحيحاً إلا عندما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) ينفذ خمسة فحوصات بالتسلسل، ويرجع خطأ عند أول فشل:
GetPositionCount() < MaxPyramidLevels(افتراضي 4، قابل للتعديل بين 2 و 6).IsSignalStillValid(direction)— السوبرترند والشريط لا يزالان متفقين مع اتجاه المركز. إذا انقلبت الإشارة، لا توسيع.AllPositionsInProfit()— كل مركز مفتوح بسحر الـEAيجب أن يكون ربحه غير المحقق > 0. أي مركز تحت الماء يُرفض.AllPositionsSLSecured()— وقف الخسارة لكل مركز يجب أن يكون على الأقلATR × 0.3داخل منطقة الربح. للشراء، الوقف يجب أن يكون > سعر الدخول +0.3×ATR. للبيع، < سعر الدخول −0.3×ATR. المركز بلا وقف أو بوقف لا يزال في منطقة الخسارة يُرفض.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_SHORT → STATE_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()
// 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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم بياني — يُنصح بـ H1 أو H4 لروبوتات الشبكة
- 7حدد خطوة الشبكة (نقاط)، الحد الأقصى للأوامر، وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| MagicNumber | 22203012 | Unique EA identifier |
| InpTradeComment | "Psgrowth.com Expert_03012" | Trade comment |
| RiskPercent | 1.0 | Risk % per position (0.5-2.0) |
| MaxPyramidLevels | 4 | Maximum pyramid positions (2-6) |
| ATRPeriod | 14 | ATR Period |
| SuperTrendFactor | 2.5 | SuperTrend multiplier (2.0-3.0) |
| FastEMA | 8 | Fast EMA for ribbon |
| SlowEMA | 21 | Slow EMA for ribbon |
| ADXPeriod | 14 | ADX Period |
| ADXThreshold | 20 | Min ADX for trending |
| MaxSpreadPoints | 200 | Max spread in points (Gold ~160) |
| PyramidSpacingATR | 1.5 | Min ATR distance between positions |
| InpMaxConsecLosses | 0 | +------------------------------------------------------------------+ |
#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;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية شبكة
Pipsgrowth EX03022 Grid — إكسبرت أدفايزر شبكة
Pipsgrowth EX03022 Grid — Hedging + grid recovery EA that opens opposing positions at configurable distance. Uses a hedge-and-recover approach wit. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX03027 Grid — إكسبرت أدفايزر شبكة
Pipsgrowth EX03027 Grid — Equal-lot pyramid scalper using EMA crossover + SuperTrend confirmation. Pyramiding with fixed or auto lot capped by Max. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX03021 Grid — إكسبرت أدفايزر شبكة
Pipsgrowth EX03021 Grid — Grid system with optional martingale lot progression for major pairs. Places initial buy and a ladder of BuyLimit orders. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.