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

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

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

Pipsgrowth EX03024 Grid — Control grid EA for XAUUSD that uses RSI filter for first entry, then adds grid levels at fixed step intervals with lot . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX03024 هو خبير آلي (EA) لشبكة تخفيف متوسط أحادية الاتجاه في كل دورة، مصمم لزوج XAUUSD على الإطار الزمني M5. جوهر الخبير يكمن في طريقة فتح أول صفقة: مؤشر RSI واحد بفترة 14 على سعر الإغلاق يحدد ما إذا كانت الضربة الأولى شراء أم بيع، ثم يلتزم الخبير بمضاعفة الاتجاه نفسه بإضافة ما يصل إلى أربع صفقات متابعة على فواصل ثابتة قدرها 300 نقطة. تنمو الشبكة درجة واحدة في كل مرة كلما تحرك السعر ضد دخول البداية، وتحمل كل درجة هدف جني أرباح خاص بها عند 500 نقطة. لا توجد martingale افتراضيًا، ولا شبكة تحوط، ولا سلّم أوامر معلقة، ولا وقف خسارة لكل صفقة، ولا هدف ربح على مستوى السلة — البنية أقرب إلى DCA منضبط مع هدف منه إلى شبكة صانع سوق حقيقية.

شجرة القرار تبدأ داخل OnTick(). في كل تيكة يستدعي الخبير أولًا UpdateDailyCounters_EX03024() لتدوير سلال الربح/الخسارة المحقق عند تغيير اليوم، ثم يُحدّث كائن الرمز عبر mysymbol.RefreshRates(). تُفعَّل بوابتان صلبتان قبل أي منطق استراتيجي: مرشّح سبريد عند mysymbol.Spread() > InpMaxSpread (250 نقطة) والدالة الموحدة IsSafeToTrade_EX03024(). تتحقق دالة الأمان من جلسة GMT، ومؤقت التهدئة، وأرضية Equity اختيارية (InpEquityFloor)، وسقف خسارة يومية محققة اختياري (InpDailyLossLimit)، وسقف خسارة أسبوعية محققة اختياري (InpWeeklyLossLimit)، وسقف رصيد اختياري (InpCapitalCap)، وحد أقصى لعدد الصفقات اليومية، وبوابة اختيارية لأقصى عدد خسائر متتالية. إن حجبت أي من هذه البوابات، تنتهي التيكة بصمت ولا يفعل الخبير شيئًا — لا دخول ولا تعديل ولا إضافة إلى الشبكة.

بعد اجتياز بوابات الأمان، يستدعي الخبير ManageGrid() بشكل غير مشروط في كل تيكة، ثم CheckSignal() فقط عند افتتاح شمعة M5 جديدة (تحرسه مقارنة lastBar == currentBar الستاتيكية). تتجاهل CheckSignal() الشبكة وتُفعَّل فقط عندما PositionsTotal() == 0 — ما إن توجد أي صفقة حتى تتولى الشبكة وقت التشغيل ويبقى دخول RSI خامدًا. عندما يكون سجل الصفقات فارغًا، تنسخ CheckSignal() قيمة RSI للشمعة السابقة عبر CopyBuffer(hRSI, 0, 1, 1, bufRSI) وتتفرّع حسب المستوى: قيمة دون 30 تستدعي OpenBuy(InpStartLot)، وقيمة فوق 70 تستدعي OpenSell(InpStartLot). يتيح مدخل InpUseRSIFilter للمستخدم تعطيل المرشّح، لكن الكود لا يزال يستدعي نفس CheckSignal() — التعطيل ببساطة يترك سجل الصفقات ليُملأ بواسطة منطق الشبكة وحده، لذا سيظل الخبير يبني فقط من نقطة ارتكاز RSI الأولى.

منطق الشبكة هو قلب الخبير. تتجاوز ManageGrid() حلقة PositionsTotal() من أحدث تذكرة إلى الأقدم، مع تصفية على position.Symbol() == _Symbol && position.Magic() == InpMagicNumber (السحر الافتراضي 22203024). لكل صفقة شراء تتعقب العدد وأقل سعر فتح، ولكل صفقة بيع تتعجب العدد وأعلى سعر فتح. ثم تقارن mysymbol.Bid() الحالي مع آخر سعر فتح للشراء: إذا كان سعر البيع على الأقل InpGridStep * mysymbol.Point() (300 نقطة) أدنى من أدنى شراء، تفتح شراء آخر بحجم lastBuyLot * InpLotMultiplier. ينطبق المنطق المعكوس على البيع — إذا كان سعر ask على الأقل 300 نقطة فوق أعلى بيع، تفتح بيعًا آخر بنفس الحجم المضاعف. السقف هو InpMaxLevels (5 افتراضيًا)، لذا تتوقف الشبكة عند 5 عمليات شراء متتالية أو 5 عمليات بيع متتالية. مع InpLotMultiplier = 1.0 يبقى الحجم ثابتًا عند InpStartLot (0.01) وتكون كل درجة متطابقة، فيكون الخبير شبكة تخفيف متوسط حقيقية لا martingale. رفع المضاعف فوق 1.0 يحوّله إلى martingale ناعم: 0.01، 0.015، 0.0225، 0.0338، 0.0506 عبر خمس درجات عند 1.5×.

كل استدعاء لـ OpenBuy() وOpenSell() يحسب جني أرباح لكل صفقة قدره mysymbol.Ask() + InpTakeProfit * mysymbol.Point() (أو Bid - 500 نقطة للبيع) ويمرّر وقف خسارة 0 إلى طلب الصفقة. لا يوجد وقف خسارة في أي مكان في النظام — الوقف الوحيد هو InpEquityFloor الاختياري وسقوف الخسارة المحققة داخل IsSafeToTrade_EX03024(). تستدعي TryBuy_EX03024() وTrySell_EX03024() فحص هامش مسبق عبر OrderCalcMargin() (يُرفض الأمر قبل أن يخرج الطلب إذا كان marginReq > AccountInfoDouble(ACCOUNT_MARGIN_FREE))، ثم تعيد محاولة الأمر ثلاث مرات بفواصل 200ms على أكواد الإعادة المؤقتة REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED. يُعيَّن ORDER_FILLING_FOK داخل OnInit() وتسامح الانزلاق هو InpSlippage نقطة.

البنية التحتية المتبقية هي بقية طبقة التحصين. تجري DetectGMTOffset_EX03024() مسحًا من -12 إلى +12 على ساعة الخادم لتخمين إزاحة GMT عند الوسيط، وتُسجّل كل مرشّح حسب احتمال أيام الأسبوع وساعات التداول — الفائز يبذر g_gmtOffset وServerToGMT_EX03024() يعدّل كل فحص جلسة. تحجب InActiveSession_EX03024() عطلة نهاية الأسبوع (السبت والأحد يرجعان false فورًا)، وعندما يكون InpUseGMTSessions true، تقيّد نافذة التداول باتحاد InpLondonStartGMT=7 إلى InpLondonEndGMT=16 وInpNewYorkStartGMT=12 إلى InpNewYorkEndGMT=21. تستمع OnTradeTransaction() لأحداث TRADE_TRANSACTION_DEAL_ADD التي تطابق السحر والرمز، وتضيف الربح + التمويل + العمولة إلى سلال اليوم والأسبوع المحققة، وتزيد g_consecLossesHD المشفّر على صفقة خاسرة، وتعيد تصفيره على الرابحة. ثلاث خسائر متتالية تُشفّر تهدئة 30 دقيقة عبر g_cooldownUntil = TimeCurrent() + InpCooldownMinutes * 60 — هذه التهدئة مستقلة عن InpMaxConsecLosses الذي يُترك 0 (معطّل) في الكود المصدري.

تُرجع OnTester() نتيجة لياقة مخصصة (profit / maxDD) * (pf > 1 ? pf : 0)، مشروطة بـ maxDD > 0 وحد أدنى 10 صفقات مغلقة. يكافئ محسّن الاستراتيجية إذًا صافي العائد المرتفع نسبةً إلى أسوأ انسحاب من القمة إلى القاع، ويلغي النتيجة كليًا إذا لم يتجاوز عامل الربح 1.0. ولأن الخبير DCA أحادي الاتجاه، يجد المحسّن نقاط حلوى مختلفة عن شبكة صانع السوق الحقيقية: خطوات الشبكة الأضيق تربح في تذبذب ضحل بينما خطوات أوسع تصمد أمام انسحابات أعمق. ضبط المضاعف نحو 1.0 يبقي تعرض الأسوأ نسبيًا مع الحساب؛ ودفعه فوق 1.5 يحوّل EX03024 إلى martingale حيث تساوي خسارة سلة كاملة من خمس درجات نحو 7.6× مخاطر الضربة الأولى.

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

في كل تيكة يستدعي الخبير أولًا UpdateDailyCounters_EX03024() وIsSafeToTrade_EX03024() لفرض جلسة GMT (لندن 7-16، نيويورك 12-21، بدون عطلة نهاية الأسبوع)، وسقف السبريد (250 نقطة)، ومؤقت التهدئة، وأرضية Equity، وسقوف الخسارة اليومية/الأسبوعية المحققة، وسقف الرصيد، وحد أقصى لصفقات اليوم، وبوابة الخسائر المتتالية. بعد اجتياز البوابات، تتجاوز ManageGrid() كل صفقة مفتوحة بسحر 22203024 ورمز مطابق للرمز البياني، وتجد أدنى شراء وأعلى بيع، وتُسلّم الدرجة التالية عندما Bid < lastBuyPrice - 300*Point (أو المرآة للبيع)، بسقف InpMaxLevels (5) لكل جانب وحجم يُضرب في InpLotMultiplier. تعمل CheckSignal() فقط على شمعة M5 جديدة وفقط عندما لا توجد صفقة مفتوحة، فتنادي OpenBuy عند RSI(14) < 30 أو OpenSell عند RSI(14) > 70. يكتب كل OpenBuy/OpenSell جني أرباح 500 نقطة في الأمر ووقف خسارة 0؛ وTryBuy_EX03024 / TrySell_EX03024 يفحصان الهامش مسبقًا ويعيدان المحاولة ثلاث مرات بفواصل 200ms على أكواد الإعادة المؤقتة. تُحدّث OnTradeTransaction() سلال الربح/الخسارة المحققة وعدّاد g_consecLossesHD المشفّر — ثلاث خسائر متراكمة تُفعّل تهدئة 30 دقيقة بصرف النظر عن مدخل InpMaxConsecLosses. تُرجع OnTester() (profit/maxDD)*(pf>1?pf:0)، مشروطة بـ maxDD > 0 و10 صفقات على الأقل.

إشارة الدخول

تُفتح الصفقة الأولى بواسطة RSI بفترة 14 على سعر الإغلاق: قراءة دون 30 تستدعي OpenBuy(InpStartLot) وقراءة فوق 70 تستدعي OpenSell(InpStartLot). ما إن تُفتح أي صفقة حتى يدخل RSI في سكون وينتظر الخبير حركة سعر قدرها InpGridStep (300 نقطة، أي 30 نقطة على XAUUSD) ضد الدخول، ثم يضيف متابعة بحجم lastBuyLot * InpLotMultiplier (أو المرآة للبيع)، حتى InpMaxLevels (5) إجمالًا في الاتجاه نفسه. يمكن لمدخل InpUseRSIFilter تعطيل بوابة RSI لكنه لا يحوّل الخبير إلى صانع سوق — الشبكة لا تزال تبنى من نقطة ارتكاز أول صفقة.

إشارة الخروج

الإغلاق صارم لكل صفقة على حدة: كل أمر فردي يحمل هدف جني أرباح خاص به قدره 500 نقطة (50 نقطة) ويُغلق بواسطة الوسيط عندما يتجاوز bid/ask ذلك المستوى. لا يوجد هدف ربح على مستوى السلة، ولا وقف خسارة لكل صفقة، ولا خروج مبني على الوقت — الشيء الوحيد الذي يُسَطِّح سجل الصفقات بالكامل في مرور واحد هو InpEquityFloor الاختياري أو سقوف الخسارة المحققة داخل IsSafeToTrade_EX03024().

وقف الخسارة

لا يُرسل وقف خسارة لكل صفقة على أي أمر (وسيط SL في TryBuy_EX03024 / TrySell_EX03024 مشفّر عند 0). مظروف المخاطرة هو أرضية Equity اختيارية (InpEquityFloor)، وسقوف الخسارة اليومية/الأسبوعية المحققة، وسقف الرصيد (InpCapitalCap)، وتهدئة 30 دقيقة التي تُفعّل مشفّرة بعد ثلاث خسائر متتالية عبر g_cooldownUntil.

جني الأرباح

كل أمر فردي يحمل جني أرباح قدره InpTakeProfit * mysymbol.Point() (500 نقطة = 50 نقطة على XAUUSD لكل من الشراء والبيع، معكوسًا حول سعر الدخول). لا يوجد هدف على مستوى السلة — الدورة الرابحة تُغلق درجة واحدة في كل مرة، لا الخمس معًا.

الأنسب لـ

المتداولون الذين يديرون XAUUSD على تغذية M5 بسبريد منخفض (سقف 250 نقطة متسع بما يكفي لاستيعاب معظم عروض ECN) بحد أدنى 100 دولار ورغبة في تحمّل تخفيف متوسط أحادي الاتجاه. الأنسب للتشغيل داخل نوافذ لندن 7:00-16:00 ونيويورك 12:00-21:00 بتوقيت GMT حيث سيولة الذهب في أعمق مستوياتها، وفقط على حسابات تتحمل أسوأ سيناريو لسلة من خمس درجات عند مضاعف الحجم المختار (5×0.01 لوت عند 1.0×، 7.6×0.01 لوت عند 1.5×). تهدئة 30 دقيقة المشفّرة بعد ثلاث خسائر متتالية وInpEquityFloor الاختياري يجعلانه مناسبًا للحسابات بنمط prop-firm التي تحتاج إلى قاطع انسحاب صريح.

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

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

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

الوصف: Control grid EA for XAUUSD that uses RSI filter for first entry, then adds grid levels at fixed step intervals with lot multiplier, closing basket on global average take profit. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • CheckSignal()
  • ManageGrid()
  • OpenBuy()
  • OpenSell()
  • NormalizeLot()
  • DetectGMTOffset_EX03024()
  • ServerToGMT_EX03024()
  • InActiveSession_EX03024()
  • UpdateDailyCounters_EX03024()
  • IsSafeToTrade_EX03024()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX03024 Grid — Execution Flow (from source analysis)
// Family: Grid
// Control grid EA for XAUUSD that uses RSI filter for first entry, then adds grid levels at fixed step intervals with lot multiplier, closing basket on global average take profit. 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
الأطر الزمنية المُحسّنة:
M5

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
InpGridStep300Grid Step (points)
InpMaxLevels5Max Grid Levels
InpLotMultiplier1.0Lot Multiplier (1.0 = Fixed, >1.0 = Martingale)
InpStartLot0.01Start Lot
InpTakeProfit500Take Profit (points) (Global TP)
InpMagicNumber22203024Magic Number
InpTradeComment"Psgrowth.com Expert_03024"Trade Comment
InpMaxSpread250Max Spread (points)
InpSlippage3Slippage
InpUseRSIFiltertrueRSI Filter for First Entry
InpMaxConsecLosses0--- Handles
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX03024.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX03024 ControlGrid_XAUUSD_5M — RSI-filtered grid with lot multiplier and basket TP, full 12-layer stack."

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

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

//--- Input Groups
input group "=== Grid Strategy Parameters ==="
input int      InpGridStep       = 300;      // Grid Step (points)
input int      InpMaxLevels      = 5;        // Max Grid Levels
input double   InpLotMultiplier  = 1.0;      // Lot Multiplier (1.0 = Fixed, >1.0 = Martingale)

input group "=== Money Management ==="
input double   InpStartLot       = 0.01;     // Start Lot
input int      InpTakeProfit     = 500;      // Take Profit (points) (Global TP)

input group "=== Trade Management ==="
input int      InpMagicNumber    = 22203024; // Magic Number
input string   InpTradeComment   = "Psgrowth.com Expert_03024"; // Trade Comment
input int      InpMaxSpread      = 250;      // Max Spread (points)
input int      InpSlippage       = 3;        // Slippage
input bool     InpUseRSIFilter   = true;     // RSI Filter for First Entry

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;

//--- Handles
int hRSI;
double bufRSI[];

//--- Hardening Globals
double   g_realizedToday  = 0;
double   g_realizedWeek   = 0;
datetime g_dayStartTime   = 0;
datetime g_weekStartTime  = 0;

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

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

الوسوم:ex03024gridpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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