Pipsgrowth EX03008 Grid — إكسبرت أدفايزر شبكة
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M15، M5، H1
Pipsgrowth EX03008 Grid — Advanced pyramid trading EA combining Hull MA, Supertrend, market structure, and support/resistance analysis. Pyramids i. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX03008 هو خبير آلي (EA) يعتمد على أسلوب الشبكة الهرمية (Pyramid Grid)، ولا يفتح صفقة جديدة إلا حين تتفق أربعة مصادر مختلفة للاتجاه مع خريطة دعم/مقاومة متعددة اللمسات ومع خط Supertrend. يرفض محرك الدخول التداول في فترات التذبذب المنخفض، ويرفضه حين لا يجد هيكل السوق نمط قمم وقيعان متصاعدة (أو متناقصة)، ويرفض إضافة طبقة ثانية من الشبكة ما لم يتحرك السعر لصالح الصفقة بمقدار PyramidStepPips نقطة. حين يكون AddOnTrendContinuation مفعّلاً وترفع قيمة MaxPositions فوق 1، يستطيع الخبير تكديس ما يصل إلى PyramidLevels (افتراضياً 5) صفقات في الاتجاه ذاته، كل واحدة منها تفتح بعد 50 نقطة من سعر دخول الطبقة السابقة، فيحوّل بذلك إشارة زخم واحدة إلى صفقة اتجاه مُدرَّجة.
يتم بناء مقياس الاتجاه رباعي المصادر داخل AnalyzeTrend. يُحسب متوسط هول المتحرك (Hull MA) بفترة HullPeriod (افتراضي 21) يدوياً على الإطار الزمني الذي يختاره المستخدم (يقبل كود MQL من 1 إلى 7 يقابل M1 وM5 وM15 وM30 وH1 وH4 وD1؛ أي كود خارج النطاق يعود إلى H1، علماً أن القيمة 8 المكتوبة في تعليق المصدر لا تمثل إطاراً زمنياً صالحاً لـ MQL). ويوفّر Supertrend على الإطار SuperTrendTimeframe (يقبل أيضاً الأكواد 1-7) التصويت الثاني، باستخدام SuperTrendPeriod (افتراضي 10) و SuperTrendMultiplier (افتراضي 3.0). أما المصدران الآخران فيأتيان من حركة السعر الخام: هل الإغلاق الأخير أعلى أم أدنى من الإغلاق السابق، وهل الإغلاق الأخير أعلى أم أدنى من خط Hull. تُجمع القيم الأربع المنطقية، تُقسم على أربعة، ثم تُدفع إلى متوسط متحرك بطول 14 بار في trendScore. ويُحوَّل المتوسط إلى trendStrength: أي قراءة أعلى من 0.7 تصبح اتجاهاً صاعداً قوياً (+2)، أعلى من 0.3 صعوداً ضعيفاً (+1)، السالب المتماثل يصبح هبوطاً ضعيفاً/قوياً، وأي قراءة داخل ±0.3 تُعتبر حالة محايدة (0).
يجمع GenerateSignals بين trendStrength وقراءة هيكل السوق وقراءة القرب من الدعم/المقاومة. يمشي DetectMarketStructure عبر StructureLookback (افتراضي 50) باراً ويسمّي القمة المرجّحة فقط إذا كانت كل واحدة من SwingHighLowBars (افتراضي 5) بارات على كل جانب تملك قمة أدنى، وبالعكس للقيعان المرجّحة. ثم يشترط أن تكون آخر قمة مرجّحة أعلى من سابقتها وأن يكون آخر قاع مرجّح أعلى من سابقه لإعلان bullishStructure؛ النمط المعاكس يعلن bearishStructure. يجمّع DetectSupportResistance كل القمم والقيعان المرجّحة في 10 حاويات كحد أقصى؛ المسافة بين المستويات المتقاربة تُقدَّر بـ SRTolerance (افتراضي 0.5) مضروبة في pipSize*10. بعد الدمج، تُحذف المستويات التي يقلّ عدد لمساتها عن SRMinTouches (افتراضي 2)، ثم تُرتَّب البقية حسب عدد اللمسات.
لا يُسمح بفتح صفقة شراء إلا إذا كان trendStrength يساوي +1 أو +2، وكان superTrendDir يساوي +1، وكان الإغلاق الحالي أعلى من Hull، وكان هيكل التأرجح الأخير bullishStructure، وكان السعر الحالي على مسافة SRTolerance*10 من مستوى دعم مؤهَّل. الشراء المعاكس يتطلب اتجاهاً هبوطياً، وSupertrend مقلوباً، وإغلاقاً أدنى من Hull، وهيكل هبوطي، وقرباً من مقاومة مؤهَّلة. كما يفعّل GenerateSignals علامة avoidTrade إذا كانت نسبة ATR(14)/السعر أعلى من 0.002 (يعتبرها نموذج المخاطر تذبذباً مفرطاً) أو أقل من 0.0002 (يعتبرها سيولة منخفضة). وهناك أيضاً رفض إضافي لمنطقة الحياد حين يرجع trendStrength إلى 0.
تدير الصفقات في ManagePositions. إذا كان buyPositions أكبر من 0 و trendStrength للشريط الجديد انقلب إلى هبوطي أو انقلب Supertrend أو هبط السعر تحت Hull، يغلق الخبير كل مراكز الشراء عبر ClosePositionsByType. نفس المنطق الانعكاسي يطبَّق على مراكز البيع. إذا تطابقت الإشارة الجديدة مع الاتجاه القائم وكان buyPositions أقل من MaxPositions، يفتح الخبير صفقة جديدة (حين لا يوجد مركز من هذا النوع)، أو — حين يكون AddOnTrendContinuation مفعّلاً و buyPositions أقل من PyramidLevels — يفتح صفقة إضافية إذا كان الإغلاق الحالي أعلى من GetLastPositionPrice بمقدار PyramidStepPips*10 نقطة. افتراضياً MaxPositions=1، ما يعني أن الخبير يعمل كأتباع اتجاه بصفقة واحدة حتى يرفع المستخدم هذا الحد. وAllowHedging=false بشكل افتراضي، فعندما ينعكس الاتجاه يغلق الخبير الطرف المقابل أولاً قبل فتح الجديد.
يعمل التريلينج على كل شريط جديد حين يكون UseDynamicTrailing مفعّلاً، والمسافة نفسها تتكيّف مع قوة الاتجاه. يُصغِّر ManageTrailingStops مسافة التريلينج الفعّالة إلى TrailingStopPips0.5 حين يكون trendStrength صفراً، وإلى TrailingStopPips0.7 حين يكون ±1، وتبقى كاملةً عند TrailingStopPips (افتراضي 30) حين يكون الاتجاه قوياً (±2). لا يرفع الخبير الوقف إلا إذا كانت الصفقة رابحة بما يتجاوز مسافة التريلينج الديناميكية، وفقط إذا كانت المسافة الجديدة أفضل من القديمة بفارق TrailingStepPips (افتراضي 10) نقطة على الأقل. كل تعديل يمر عبر TryModify_EX03008 الذي يعيد المحاولة حتى 3 مرات بفاصل 200 مللي ثانية على الأكواد المؤقتة (REQUOTE, TIMEOUT, PRICE_OFF, PRICE_CHANGED) ويقبل TRADE_RETCODE_DONE / DONE_PARTIAL في بقية الحالات.
طبقتان من المخاطر الصارمة. الأولى في CheckRiskManagement بعد منطق التداول. يُحدَّث accountHigh = max(accountHigh, balance) على كل شريط، ويُحسب drawdownPercent = (accountHigh - equity)/accountHigh*100، فإذا تجاوز MaxDrawdownPercent (افتراضي 20) يستدعي CloseAllPositions، وإن كان CloseAllOnMaxLoss مفعّلاً يستدعي ExpertRemove() لفك ارتباط الخبير من الشارت. حارس الخسارة اليومية يقارن dailyLoss/StartingBalance*100 مع MaxDailyLossPercent (افتراضي 10) وينهي كل المراكز بالطريقة نفسها. الطبقة الثانية في IsSafeToTrade_EX03008: يرفض العمل خارج نافذة لندن (7-16 بتوقيت GMT) أو نيويورك (12-21 بتوقيت GMT)، أو إذا كانت equity أقل من InpEquityFloor، أو إذا انخفض ربح/خسارة اليوم الفعلي تحت -InpDailyLossLimit، أو إذا انخفض ربح/خسارة الأسبوع تحت -InpWeeklyLossLimit، أو إذا وصل رصيد الحساب إلى InpCapitalCap، أو إذا بلغ g_dailyTrades سقف InpMaxTradesPerDay، أو إذا بلغ g_consecLosses سقف InpMaxConsecLosses. كل هذه العتبات قيمتها 0 افتراضياً ما عدا InpMaxTradesPerDay (50) و InpCooldownMinutes (30) — يفعّل الخبير تهدئة 30 دقيقة بعد 3 خسائر متتالية، إضافةً إلى أي تهدئة ما زالت سارية عبر g_cooldownUntil.
ينفّذ الخبير الأوامر عبر CTrade بسحر 22203008 ونص التعليق InpTradeComment. يُقرِّب TryBuy_EX03008 و TrySell_EX03008 حجم اللوت إلى درجة حجم الرمز ويقصُّه داخل الحد الأدنى والأعلى، ويجري فحص OrderCalcMargin مسبقاً مقابل ACCOUNT_MARGIN_FREE (ويسجّل رسالة ويخرج إذا لم تكفِ الهامش)، ثم يحاول فتح الأمر حتى 3 مرات بفاصل 200 مللي ثانية على نفس أكواد الخطأ المؤقتة. الزوج الافتراضي هو XAUUSD لكن المصدر يصف الخبير بأنه قابل للنقل إلى العملات الرئيسية والمعادن، لأن جميع المستويات تُحسب بالنقاط عبر pipSize*10 دون أي تحجيم خاص بالرمز. الإطار المقترح هو M15 ويعمل الملف من M5 حتى H1؛ فوق H1 يصبح كشف بنية السوق تحت-مُعيَّن، وتحت M5 يصير مقياس الاتجاه رباعي المصادر صاخباً مع كل تذبذب صغير. نظراً لصرامة شروط الدخول وكون خطوة الشبكة 50 نقطة، توقع قلة الصفقات وقضاء معظم العام في انتظار التقاء الاتجاه والبنية والمستوى مع Supertrend.
تفاصيل الاستراتيجية
يعمل EX03008 عبر خط أنابيب لكل شريط جديد في OnTick: يُحدِّث UpdateIndicators متوسط Hull و Supertrend على إطاراتهما المختارة، ويكتشف DetectMarketStructure القمم والقيعان المرجّحة داخل نافذة StructureLookback، ويجمّع DetectSupportResistance التأرجحات في 10 مستويات ويُبعد كل ما لمسته أقل من SRMinTouches، ويجمع AnalyzeTrend أصوات الاتجاه الأربعة في متوسط 14 بار ثم يصنّفها في trendStrength من خمس حالات (-2 إلى +2)، ويُعلن GenerateSignals عن buySignal أو sellSignal أو avoidTrade. ثم يفتح ManagePositions الطبقة الأولى، أو يضيف طبقة شبكة إذا تحرّك السعر 50 نقطة فوق آخر دخول وكان AddOnTrendContinuation مفعّلاً، أو يُصفّي الطبقة القائمة حين ينقلب أي من المصادر الأربعة للاتجاه. ويُحرّك ManageTrailingStops وقف الخسارة للأمام على كل شريط بمسافة تتناسب مع قوة الاتجاه، ويستدعي CheckRiskManagement CloseAllPositions (و ExpertRemove) عند بلوغ أقصى تراجع أو خسارة يومية قصوى، وتمنع طبقة الحماية في IsSafeToTrade_EX03008 أي دخول خارج نوافذ لندن/نيويورك بتوقيت GMT، أو بعد تجاوز حد الخسارة اليومية/الأسبوعية، أو بعد بلوغ سقف عدد الصفقات اليومية، أو خلال فترة تهدئة 30 دقيقة ما زالت سارية بعد 3 خسائر متتالية.
يتطلب فتح شراء أن يكون trendStrength أكبر من أو يساوي +1، و superTrendDir يساوي +1، وأن يكون آخر إغلاق أعلى من خط Hull، وأن يكون الهيكل صاعداً (HH+HL على آخر زوج تأرجح)، وأن يكون السعر على مسافة SRTolerance*10 نقطة من مستوى دعم لامس السعر SRMinTouches مرة على الأقل. يشترط البيع المعاكس نفس الشروط الهبوطية المتناظرة مع القرب من مقاومة مؤهَّلة. كما يفرض بوابة التذبذب (نسبة ATR(14)/السعر بين 0.0002 و0.002) ورفض الحياد (trendStrength == 0) قيوداً إضافية.
يُفعّل الخبير إغلاق الطرف المعاكس حين ينقلب trendStrength على الشريط الجديد، أو ينقلب Supertrend، أو يعبر السعر خط Hull في الاتجاه المضاد — ويقوم ClosePositionsByType بتصفية كل المراكز. حين يكون AddOnTrendContinuation مفعّلاً، تُضاف طبقات الشبكة فقط بعد أن يتحرك السعر PyramidStepPips*10 نقطة فوق سعر الدخول السابق. أما اختراق حد الخسارة اليومية أو أقصى تراجع فيستدعي CloseAllPositions، وإن كان CloseAllOnMaxLoss مفعّلاً يفك ExpertRemove() ارتباط الخبير بالشاشة كلياً.
تتلقى كل صفقة وقف خسارة ابتدائي عند InitialStopLossPips (افتراضي 50) نقطة تحت سعر Ask للشراء وفوق سعر Bid للبيع. يُحرّك وقف الخسارة التتبعي الديناميكي للأمام على كل شريط جديد، فيتقلّص إلى 50% من TrailingStopPips حين يَسطُح مقياس الاتجاه، و70% حين يكون ضعيفاً، ويبقى كاملاً TrailingStopPips (افتراضي 30) حين يكون الاتجاه قوياً، ويتقدّم بفارق TrailingStepPips (افتراضي 10) نقطة في كل مرة. لا يوجد سقف عالمي لوقف الخسارة لكل صفقة بحد ذاته غير MaxDrawdownPercent (افتراضي 20) و MaxDailyLossPercent (افتراضي 10)، وكلاهما يُغلق كل المراكز ويفك ارتباط الخبير من الشارت.
تتلقى كل صفقة جني أرباح ابتدائي عند InitialTakeProfitPips (افتراضي 100) نقطة فوق سعر Ask للشراء وأسفل سعر Bid للبيع، أي بنسبة مخاطرة إلى عائد 1:2 مقابل وقف الخسارة 50 نقطة. لا يوجد هدف ربح على مستوى السلة الكاملة؛ جني الأرباح يُحدَّد لكل صفقة على حدة ويبقى محفوظاً مع تقدّم وقف الخسارة التتبعي خلف السعر.
صُمِّم للزوج XAUUSD على الإطار M15 (مع M5 وH1 كأطر ثانوية مقبولة). الحد الأدنى للرصيد المُوصى به هو 100 دولار — بوابات المخاطر في الخبير تستند إلى StartingBalance (افتراضي 100) في فحص الخسارة اليومية، فالحسابات الأصغر تستخدم نفس النسب الافتراضية. الأفضل تشغيله على حساب ECN/RAW بفارق سعر منخفض وزمن استجابة قصير مع مساحة 50 نقطة للوقف على الأقل؛ انتبه إلى أن MaxPositions قيمته الافتراضية 1، فيعمل الخبير كأتباع اتجاه بصفقة واحدة إلى أن يرفع المستخدم هذا الحد ويتأكد من أن خطوة الشبكة 50 نقطة تناسب حجم الحساب.
منطق الاستراتيجية
Pipsgrowth EX03008 Grid — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Grid
الماجيك: 22203008
الإصدار: 2.00
الوصف:
Advanced pyramid trading EA combining Hull MA, Supertrend, market structure, and support/resistance analysis. Pyramids into trends with trailing stops and daily risk management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
OnTradeTransaction()IsNewBar()CheckDailyReset()UpdateIndicators()CalculateHullMA()CalculateSuperTrend()DetectMarketStructure()DetectSupportResistance()AnalyzeTrend()GenerateSignals()
// Pipsgrowth EX03008 Grid — Execution Flow (from source analysis)
// Family: Grid
// Advanced pyramid trading EA combining Hull MA, Supertrend, market structure, and support/resistance analysis. Pyramids into trends with trailing stops and daily risk 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)ملف التحسين
كيفية تثبيت الإكسبرت على 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| HullTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
| SuperTrendTimeframe | 8 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX03008 G4_PyramidPro — multi-indicator pyramid with Hull MA, Supertrend and S/R, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\PositionInfo.mqh>
#include <Trade\OrderInfo.mqh>
#include <Indicators\Indicators.mqh>
CTrade trade;
CPositionInfo positionInfo;
COrderInfo orderInfo;
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
ENUM_TIMEFRAMES g_HullTimeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_SuperTrendTimeframe = PERIOD_H1;
input group "=== TRADING SETTINGS ==="
input double LotSize = 0.01;
input double StartingBalance = 100;
input int MaxPositions = 1;
input bool AllowHedging = false;
input int MagicNumber = 22203008;
input string InpTradeComment = "Psgrowth.com Expert_03008";
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;
case 3: return PERIOD_M15;
case 4: return PERIOD_M30;
case 5: return PERIOD_H1;
case 6: return PERIOD_H4;
case 7: return PERIOD_D1;
default: return PERIOD_H1;
}
}
ENUM_TIMEFRAMES g_HullTimeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_SuperTrendTimeframe = PERIOD_H1;
input group "=== PYRAMID SETTINGS ==="
input int PyramidLevels = 5;
input double PyramidStepPips = 50;
input bool AddOnTrendContinuation = true;
input bool CloseAllOnTrendReversal = true;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.