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()
// 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)ملف التحسين
كيفية تثبيت الإكسبرت على 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpLots | 0.1 | Start Lots |
| InpStopLoss | 15 | Stop Loss (in pips) |
| InpTakeProfit | 30 | Take Profit (in pips) |
| InpMaxLoss | 75.0 | Maximum allowable drawdown by balance (in %) |
| InpKMartin | 1.0 | Volume expansion factor (1.0 = disabled) |
| m_magic | 22203006 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_03006" | Trade Comment |
| InpMaxConsecLosses | 0 | --- |
#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;
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.