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

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

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

Pipsgrowth EX03006 Grid — Avalanche EA that randomly opens Buy or Sell positions with SL/TP, then applies a martingale volume expansion factor on . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX03006 Avalanche ليس استراتيجية اتجاهية بل نظام عملة عشوائية مع تكاليف استرداد. كل تسع تيكات يقلب المستشراب الافتراضي عملة معدنية — يُهيأ مولّد الأرقام العشوائية مرة واحدة عند OnInit عبر MathSrand(GetTickCount())، ثم يُستدعى MathRand() داخل OnTick. إذا كانت القيمة العشوائية أعلى من 16384 يفتح المستشراب صفقة شراء، وإلا يفتح صفقة بيع. لا يوجد مرشح اتجاه، ولا حزمة مؤشرات، ولا توافق إشارات — الإدخالات مقصودة بأنها غير مرتبطة باتجاه السوق. الفرضية إحصائية: مع نسبة مخاطرة إلى عائد 1:2 على كل صفقة، يكفي معدل ربح 33.4% للوصول إلى نقطة التعادل قبل تطبيق مضاعف مارتينجال. يتحكم InpKMartin في مضاعف الكمية: عند خسارة الصفقة السابقة، تُضرب كمية الصفقة التالية بهذا المعامل، ولا تعود إلى InpLots إلا عندما يحقق رصيد الحساب قمة جديدة بعد صفقة رابحة. هذا الدمج هو ما يسميه رأس الملف بهندسة الطبقات الاثنتي عشرة: النظام (غير مطبَّق)، الإشارة (الرقم العشوائي)، الدخول، التأكيد (فحص الهامش)، عدم التداول، سقف رأس المال، المخاطرة، التحجيم، الإدارة، الخروج، التحجيم التسلسلي، وOnTester.

دورة حياة الصفقة تبدأ في OnTick. قبل أي شيء، تمسح الدالة جميع المراكز المفتوحة؛ إن وجدت مركزًا بسحر 22203006 على رمز الشارت، تحسب خسارته العائمة كنسبة من رصيد الحساب وفق الصيغة loss = -(position.Profit() * 100.0 / AccountBalance()). إذا تجاوزت هذه الخسارة InpMaxLoss (افتراضي 75.0%)، تستدعي TryClose_EX03006 لإغلاق التذكرة ثم ExpertRemove() لفك تركيب المستشراب من الشارت — مفتاح إيقاف قاطع بدون استرداد. إن كان المركز ضمن النطاق المسموح، يُحدَّث تعليق الشارت بالربح/الخسارة العائمة وتنتهي الدالة بدون فتح صفقة جديدة؛ لهذا السبب يحتفظ المستشراب بمركز واحد فقط في الوقت نفسه دون تراكم. إن لم يكن هناك مركز، تستدعي RefreshRates() لتحديث الأسعار، ويُزاد عداد ثابت، وتعود الدالة حتى يصل العداد إلى 9، مما يولّد خنق تيكات بمحاولة دخول واحدة تقريبًا كل تسع تيكات على الإطار الزمني النشط. فقط بعد تجاوز الخنق تُنفَّذ IsSafeToTrade_EX03006؛ إن أعادت false تنتهي الدورة بدون طلب.

تربط IsSafeToTrade_EX03006 بوابات التحصين: تبدأ بـ InActiveSession_EX03006 (تُتخطّى إن كان InpUseGMTSessions معطّلاً)، ثم فحص مهلة التهدئة، ثم InpEquityFloor مقابل equity الحالي، ثم InpDailyLossLimit مقابل g_realizedToday، ثم InpWeeklyLossLimit مقابل g_realizedWeek، ثم InpCapitalCap مقابل الرصيد الجاري، ثم InpMaxTradesPerDay مقابل g_dailyTrades، ثم InpMaxConsecLosses مقابل g_consecLosses. تنبيه: قيمة InpMaxConsecLosses الافتراضية 0 (معطّلة)، فبوابة الخسائر المتتالية متوقفة ما لم يرفعها المستخدم. التهدئة لمدة 30 دقيقة مبرمجة فعليًا داخل OnTradeTransaction: عندما يصل g_consecLosses إلى 3، يُعيَّن g_cooldownUntil إلى TimeCurrent() + InpCooldownMinutes × 60 ويُسجَّل في السجل. تعمل DetectGMTOffset_EX03006 مرة واحدة عند OnInit، تمسح النطاق -12..+12 مقابل ساعة الخادم وتختار الإزاحة التي تعظّم نتيجة بسيطة (يوم الأسبوع + ساعات التداول)؛ تُغذّي هذه الإزاحة ServerToGMT_EX03006 الذي يدعم مرشح الجلسة.

عندما تجتاز IsSafeToTrade، يُرمى حجر النرد. فرع الشراء يحسب sl = Ask - ExtStopLoss (حيث ExtStopLoss = InpStopLoss × m_adjusted_point، وm_adjusted_point تساوي Point × 10 للوسطاء بثلاثة أو خمسة أرقام) وtp = Ask + ExtTakeProfit؛ إن كان sl المحسوب عند Bid أو أعلى، تعود الدالة لانتظار تيك أفضل. فرع البيع يعكس ذلك بـ sl = Bid + ExtStopLoss وtp = Bid - ExtTakeProfit، مع نفس فحص sanity. بالقيم الافتراضية نحصل على وقف 15 نقطة وجني أرباح 30 نقطة على XAUUSD M5، أي نسبة 1:2 التي تعتمد عليها الرياضيات العشوائية. تستدعي OpenBuy وOpenSell m_trade.CheckVolume أولًا؛ إن قبل الوسيط الكمية المطلوبة تُستدعى TryBuy_EX03006 أو TrySell_EX03006، اللتان تُقرِّبان الكمية لأقرب multiple من خطوة الحجم، وتثبّتانها بين الحد الأدنى والأقصى، وتُجريان فحص OrderCalcMargin مسبقًا مقابل الهامش الحر، ثم ترسلان الأمر حتى 3 محاولات مع نوم 200ms عند REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED.

برمجة مارتينجال داخلة في OnTradeTransaction. عندما يُطلَق DEAL_TRANSACTION_DEAL_ADD من نوع DEAL_ENTRY_OUT بسحر ورمز هذا المستشراب، تقرأ الدالة totalProfit = deal_profit + deal_swap + deal_commission، تضيفه إلى g_realizedToday وg_realizedWeek، وعند الخسارة تزيد g_consecLosses (وقد تفعّل التهدئة). تحديث الكمية غير متماثل: عند الخسارة، m_volume = LotCheck(deal_volume × InpKMartin)، وإن كانت نتيجة التقريب صفرًا (مثلًا 0.01 × 1.0 مقرَّبة تحت الحد الأدنى)، تعود m_volume إلى InpLots. عند الربح، تتحقق الدالة هل AccountBalance() ≥ m_prev_balance_max؛ إن كان نعم، تعود الكمية إلى InpLots ويُحدَّث مقياس الرصيد الذروي. وإن كان لا — أي أن الحساب ما زال تحت قمته السابقة — تُضرب الكمية مجددًا في InpKMartin. هذا اللاتماثل هو خيار Avalanche المميز: فقط قمة equity جديدة تعيد التهيئة بالكامل، لذا صفقة رابحة واحدة لم تستعد القمة لا تُعدّ استردادًا. قيمة InpKMartin الافتراضية 1.0 تجعل المضاعف غير فعّال، وهو ما سيشغّله أغلب المستخدمين؛ رفعها نحو 1.5 أو 2.0 يعرض للحمل الكلاسيكي للاسترداد.

لا توجد طبقات هرمية، ولا تحوط، ولا تراكم إشارات في هذا المستشراب. تعليق الأمر ثابت: Psgrowth.com Expert_03006. المطبوع الوحيد على الشارت هو ربح/خسارة المركز العائم مع تعليق بنسبة السحب؛ لا توجد لوحة معلومات، ولا منحنى equity متراكب، ولا علامات دخول. تكافئ دالة OnTester عمليات الجري بمعدل ربح-إلى-سحب × عامل ربح (مقيَّدة بـ trades ≥ 10 وmaxDD > 0)، وتُعيد صفرًا عندما يكون عامل الربح ≤ 1 — لذا الاستراتيجية مُحسَّنة لمن ينتج أرباحًا صغيرة مع انسحابات ضحلة لا استردادات عميقة. يجب أن يدعم الوسيط نمط ORDER_FILLING للمستشراب (SetTypeFillingBySymbol يختار FOK/IOC/RETURN تلقائيًا). لحساب ECN/Raw يجب أن يكون السبريد على XAUUSD M5 صغيرًا بما يكفي لأن يظل وقف 15 نقطة وهدف 30 نقطة ذا معنى بعد تكاليف المعاملة؛ على وسيط سبريد واسع يتآكل العائد المتوقع بسرعة. الحد الأدنى للرصيد الموصى به 100 دولار (وفق قاعدة البيانات)، لكن هذا نظام بأسلوب مارتينجال حيث رأس المال الفعلي يتسع مع معامل K — مركز XAUUSD بحجم 0.1 ومع K=2.0 يخترق خمس مستويات يقترب من تعرض هامشي قدره 3.2 لوت، وهو ما لا يتحمله أغلب حسابات 100 دولار. عامل المستشراب كأداة بحث: ادرس آلية الاسترداد، أجرِ اختبار 10 صفقات لتأكيد التوصيل، وإن نويت تشغيله حيًّا، خفّض InpLots وحافظ على InpMaxLoss دون 75% الافتراضية بكثير.

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

تدور حلقة التداول على كل تيك لكنها لا تحاول فتح أمر جديد إلا كل تسع تيكات عبر عداد ثابت داخل OnTick. أول ما تفعله كل تيك هو البحث عن مركز قائم بسحر 22203006 على رمز الشارت؛ إن وُجد، يقيّم المستشراب سحبه كنسبة من رصيد الحساب، إما يحدّث تعليق الشارت أو — عند تجاوز 75% — يغلقه ويفكّ نفسه من الشارت بـ ExpertRemove(). حين لا يوجد مركز، يصل العداد إلى 9، وتُنفّذ IsSafeToTrade_EX03006 بوابات التحصين (جلسة GMT نشطة، لا تهدئة جارية، أرضية equity، حدود خسارة يومية/أسبوعية، سقف رأس مال، حد أقصى للصفقات اليومية، حد أقصى للخسائر المتتالية)، ويقرّر MathRand() المهيأ بـ MathSrand بين الشراء والبيع. تُحدَّد كمية الأمر التالي عبر OnTradeTransaction: عند الخسارة تُضرب في InpKMartin (افتراضي 1.0، بلا تغيير)، وعند الربح تعود إلى InpLots فقط عندما يكون الرصيد ≥ m_prev_balance_max؛ وإلا يُطبَّق المضاعف مجددًا. لا توجد مؤشرات، ولا مرشحات إشارات، ولا طبقات هرمية، ولا لوحة — النظام كله رمية نرد، ومضاعف مارتينجال، ومفتاح إيقاف قاطع.

إشارة الدخول

اتجاه عشوائي كل تسع تيكات: يُهيّئ OnTick مولّد الأرقام العشوائية بـ GetTickCount عند OnInit، وكل تسع تيكات يسمح العداد الثابت بتشغيل IsSafeToTrade_EX03006؛ إن اجتازت مجموعة الأمان وكانت MathRand() > 16384 يفتح المستشراب شراءً بسعر Ask، وإلا بيعًا بسعر Bid، كلاهما بوقف 15 نقطة وهدف 30 نقطة بنسبة مخاطرة/عائد 1:2. مع InpKMartin الافتراضي 1.0 تساوي كمية الصفقة التالية كمية السابقة في كل تداول، لذا الاتجاه هو المتغير الوحيد. يتحقق LotCheck وm_trade.CheckVolume من الكمية، وOrderCalcMargin من الهامش الحر، وترسل TryBuy/TrySell حتى 3 محاولات مع نوم 200ms عند requote/timeout/price-changed.

إشارة الخروج

تخضع المخارج لكل صفقة لوقف 15 نقطة وهدف 30 نقطة يُعيَّنان في مسار OpenBuy/OpenSell. إذا تجاوزت الخسارة العائمة InpMaxLoss=75% من رصيد الحساب، تستدعي حلقة OnTick TryClose_EX03006 على التذكرة ثم ExpertRemove() لفك المستشراب — إيقاف قاطع بلا إعادة دخول. لا يوجد وقف متحرك، ولا تعادل، ولا إغلاق جزئي، ولا خروج مبني على الوقت؛ ولا تعود سلسلة الكمية إلى InpLots إلا عندما تحقّق صفقة رابحة قمة جديدة للرصيد (m_prev_balance_max)، وليس عند أي ربح فردي.

وقف الخسارة

وقف ثابت 15 نقطة على كل أمر، يُضرب في m_adjusted_point (Point × 10 للوسطاء بثلاثة أو خمسة أرقام) كي يعمل على كل من FX بأربعة أرقام والذهب بخمسة أرقام. وبشكل مستقل، تحسب حلقة OnTick loss = -(position.Profit() * 100.0 / balance) في كل تيك؛ إذا تجاوزت InpMaxLoss (افتراضي 75.0%) يُغلق المركز عبر TryClose_EX03006 ويفكّ المستشراب نفسه من الشارت بـ ExpertRemove().

جني الأرباح

جني أرباح ثابت 30 نقطة على كل أمر، بنسبة مخاطرة/عائد 1:2 مقابل الوقف 15 نقطة (InpStopLoss=15، InpTakeProfit=30، كلاهما بالنقاط × m_adjusted_point). لا يوجد وقف متحرك ولا تعادل ولا إغلاق جزئي — جني الأرباح هو المخارج المستهدف الوحيد ويُحدَّد عند فتح الأمر عبر OpenBuy/OpenSell.

الأنسب لـ

حسابات شديدة المخاطرة تريد اختبار آلية مارتينجال غير اتجاهية على XAUUSD M5. الحد الأدنى للرصيد الموصى به 100 دولار وفق قاعدة البيانات، لكن اعتبر ذلك أرضية لاختبار التوصيل — سلسلة 0.1 لوت على XAUUSD مع InpKMartin > 1.0 تتجاوز حساب 100 دولار بسرعة، لذا الاستخدام الحي يحتاج رصيدًا أكبر بكثير أو InpLots مخفّضًا عن 0.1 بكثير. شغّله على وسيط ECN/Raw Spread (أهداف 15/30 نقطة الثابتة لا تصمد أمام السبريد الواسع)، أبقِ InpUseGMTSessions=true مع نوافذ لندن 7-16 ونيويورك 12-21 بتوقيت GMT الافتراضية، واحترم تهدئة OnTradeTransaction التي تُفعَّل بعد 3 خسائر متتالية. سقف 50 صفقة يوميًا ومفتاح الإيقاف عند 75% سحب هما خط الدفاع الأخير — لا ترفع InpMaxLoss فوق 75% دون مبرر واضح، لأن فرع ExpertRemove() سيُفعَّل ويختفي المستشراب من الشارت.

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

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

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

الوصف: Avalanche EA that randomly opens Buy or Sell positions with SL/TP, then applies a martingale volume expansion factor on losing trades. Includes max drawdown protection by balance. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • OnTradeTransaction()
  • RefreshRates()
  • CheckVolumeValue()
  • LotCheck()
  • OpenBuy()
  • OpenSell()
  • PrintResultTrade()
  • DetectGMTOffset_EX03006()
  • ServerToGMT_EX03006()
  • InActiveSession_EX03006()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX03006 Grid — Execution Flow (from source analysis)
// Family: Grid
// Avalanche EA that randomly opens Buy or Sell positions with SL/TP, then applies a martingale volume expansion factor on losing trades. Includes max drawdown protection by balance. 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

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

المعاملالافتراضيالوصف
InpLots0.1Start Lots
InpStopLoss15Stop Loss (in pips)
InpTakeProfit30Take Profit (in pips)
InpMaxLoss75.0Maximum allowable drawdown by balance (in %)
InpKMartin1.0Volume expansion factor (1.0 = disabled)
m_magic22203006Magic Number
InpTradeComment"Psgrowth.com Expert_03006"Trade Comment
InpMaxConsecLosses0---
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX03006.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX03006 Avalanche_AV   random entry with martingale recovery and drawdown protection, full 12-layer stack."
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
#include <Trade\AccountInfo.mqh>
CPositionInfo  m_position;                   // trade position object
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
CAccountInfo   m_account;                    // account info wrapper
//--- input parameters
input group "=== Risk Settings ==="
input double   InpLots           = 0.1;      // Start Lots
input ushort   InpStopLoss       = 15;       // Stop Loss (in pips)
input ushort   InpTakeProfit     = 30;       // Take Profit (in pips)
input double   InpMaxLoss        = 75.0;     // Maximum allowable drawdown by balance (in %)
input double   InpKMartin        = 1.0;      // Volume expansion factor (1.0 = disabled)

input group "=== Trade Management ==="
input ulong    m_magic           = 22203006; // Magic Number
input string   InpTradeComment   = "Psgrowth.com Expert_03006"; // Trade Comment

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;
//---
ulong          m_slippage=10;                // slippage

double         ExtStopLoss=0.0;
double         ExtTakeProfit=0.0;

double         m_adjusted_point;             // point value adjusted for 3 or 5 points

double         m_volume=0.0;
double         m_last_deal_profit_OUT=0.0;

double         m_prev_balance_max=0;

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

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

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

الوسوم:ex03006gridpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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