Pipsgrowth EX03014 Grid — إكسبرت أدفايزر شبكة
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M1، M15
Pipsgrowth EX03014 Grid — Grid system with configurable order placement (buy/sell/ both), step progression (static/geometric/exponential), profit . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX03014 Grid هو محرك شبكة MT5 يعتمد على السعر فقط. لا يحتوي على أي مؤشر — الاستراتيجية مدفوعة بالكامل بحفظ سجل المراكز المفتوحة، وعتبات نقاط قابلة للتهيئة، وملف .mq5 واحد لمنطق إدارة الأوامر البحت. يفتح EA أوامره الأولى عند السعر السوقي، ثم يضيف طبقات دخول جديدة كلما تحرك السعر بمقدار الخطوة المُهيأة ضد آخر مركز على ذلك الجانب. لا يوجد مرشح نظام، ولا قراءة اتجاه، ولا بوابة تقلب؛ ما تحصل عليه هو شبكة هندسية حتمية يمكنك ضبطها من لوحة المدخلات.
تتم معاملة الشبكة على أربعة محاور متعامدة، يقود كل منها مدخل مستقل. يتحكم TypeOrdersPlace (افتراضي Open_Buy_And_Sell) فيما إذا كانت السلة تبدأ بالجانبين، أو الشراء فقط، أو البيع فقط. يقرر TypeOfNextOrders (Grid_Contrary_Trend) ما إذا كانت الإضافة التالية تتم على الجانب الرابح — هرم مع الاتجاه — أو على الجانب الخاسر، وهو وضع المارتينجال الكلاسيكي للعودة إلى المتوسط. يحدد PipsForNextOrder (افتراضي 50.0) المسافة الأساسية. ثم يُعيد TypeOfStepProgress تشكيل تلك المسافة لكل طبقة إضافية: Statical_Step يحافظ على 50 نقطة مسطحة بين كل أمر، Geometrical_Step يضرب الخطوة في عدد الأوامر المفتوحة على ذلك الجانب (لذلك تجلس الطبقة 3 على بعد 150 نقطة من آخر شراء، والطبقة 4 على بعد 200 نقطة، وهكذا)، وExponetial_Step معلن لكن غير قابل للوصول في المصدر لأن كلا الفرعين في GetSignals يختبر TypeOfStepProgress==1 — الفرع الهندسي يطابق أولاً، وهي خطأ حقيقي في الكود المصدري يستحق الإشارة إليه إذا كنت تنوي تشغيل التحجيم الأسي.
التحجيم منفصل عن الخطوة. يختار TypeOfLotProgress واحداً من ثلاثة أنظمة. يعيد Statical_Lot استخدام حجم الأمر الأول على كل جانب لكل طبقة لاحقة — يمكن التنبؤ به ومحافظ. يُضاعف Geometrical_Lot اللوت في الأمر الثاني، ثم من الطبقة الثالثة فصاعداً يضيف أحدث لوت إلى اللوت الأول، بحيث يكون التسلسل 0.01، 0.02، 0.03، 0.04، 0.05… يُضاعف Exponetial_Lot (المُحدد أيضاً عبر قيمة التعداد نفسها 2) اللوت السابق إلى ما لا نهاية، منتجاً أكثر منحنى مارتينجال عدوانية. يعمل MaxMultiplierLot كحد أقصى صارم: في الوضعين الإحصائي والهندسي، يتم تثبيت اللوت المحسوب عند LotFirstBuy × MaxMultiplierLot (افتراضي 50.0) قبل التطبيع، لذلك لا يمكن أن يتجاوز مركز واحد 50× لوت الفتح بغض النظر عما يتطلبه التقدم. AutoLotSize مسار منفصل: عند التمكين، يصبح اللوت (رصيد الحساب × RiskFactor) / 100000، مع افتراضي RiskFactor عند 1.0، مما ينتج عنه 0.10 لوت كوحدة أساسية على حساب 10,000 دولار.
الخرج على مستوى السلة، وليس لكل أمر. يعمل GetSignals() أولاً، وإذا كان هناك مركز مفتوح واحد على الأقل، فإنه يفحص الربح/الخسارة المجمعة للسلة بأكملها — BuyProfits+SellProfits بالنقاط أو بعملة الحساب، حسب TypeTargetClose — مقابل PipsCloseInProfit المُهيأ (افتراضي 10.0) أو CurrCloseInProfit (افتراضي 10.0). في اللحظة التي يصل فيها هذا الحد، ينقلب CloseOrdersInProfit إلى true، ويوجه MainFunction من خلال CloseOrders()، ويمشي EA عبر PositionsTotal() بالعكس لإغلاق كل مركز يتطابق سحره مع OrdersID. لا يوجد تخارج حسب الأمر، ولا إغلاق جزئي، ولا توسيع عبر محفز منفصل — السلة تُغلق كاملة أو لا تُغلق على الإطلاق. نفس الآلية تتعامل مع الخسارة: PipsForCloseInLoss (100.0 نقطة) جنباً إلى جنب مع ModeCloseInLoss (Close_All_Orders افتراضي) يمحو السلة إذا تجاوزت الخسارة غير المحققة الحد، مع بديل Close_First_Orders الذي يغلق بشكل انتقائي فقط التذاكر الأقدم.
وضع التحوط طبقة اختيارية يتم تفعيلها عندما يكون PlaceHedgeOrder صحيحاً. المحفز هو اختبار خسارة بالنسبة المئوية للرصيد: إذا كان |BuyProfits+SellProfits| / رصيد الحساب × 100 ≥ LevelLossForHedge (افتراضي 10.0%) وكانت السلة صافية سلبية، يضع EA العلامة UnderHedgePair=true وOpenHedgeOrder=true. من تلك النقطة فصاعداً يستدعي MainFunction فقط OpenOrders() على الجانب الذي لديه حجم إجمالي أقل، مع حساب حجم لوت التحوط كـ |TotalLotsBuy - TotalLotsSell| × MuliplierHedgeLot، يتم تطبيعه إلى خطوة الحجم ومحدد بـ SYMBOL_VOLUME_LIMIT للوسيط. تبقى علامة UnderHedgePair مضبوطة حتى تُغلق السلة بالكامل، لذلك لن يبدأ EA سلة جديدة أثناء وجود تحوط.
مكدس الأمان خفيف عمداً. تتحقق كتلة OnInit() من RiskFactor (0.01-100)، وMaxSpread (≥ 0)، وMaxOrders (≥ 0)؛ كل شيء آخر متساهل. افتراضات MaxSpread إلى 0.0، مما يعني عدم وجود فلتر سبريد على الإطلاق — سيفتح EA شراء وبيع في أي tick، حتى مع سبريد عرض 50 نقطة. الانزلاق 3 نقاط افتراضياً، ويستخدم مسار الإغلاق request.deviation=5، لذلك يتحمل الإغلاق ضعف انزلاق الفتح. لا يوجد ربط OnTradeTransaction، ولا عداد خسارة يومية، ولا مفتاح إيقاف أرضي للرصيد، ولا مرشح جلسة، ولا مرشح أخبار، ولا دالة لياقة OnTester. مكالمات OrderCalcMargin موجودة في المصدر ككتل معلقة، لذلك لا تعمل فحوصات الهامش المسبقة؛ يجب على المستخدم إضافة حارس هامش حر. إعادة محاولة الأوامر تمر عبر TryOrderSend_EX03014، الذي يدور حتى ثلاث مرات على فترات 200 مللي ثانية في TRADE_RETCODE_REQUOTE، أو TIMEOUT، أو PRICE_OFF، أو PRICE_CHANGED، ويخرج عند أي retcode آخر.
السلوك الجانبي للرسم البياني زخرفي. عند تمكين ShowComments، يقدم EA لوحة 312×168 مرفوعة عبر DrawObjects، ثم يكدس تسميات DisplayText للسبريد، ووضع إدارة الأموال، والتعرض الحالي للشراء/البيع، ونتائج التاريخ المغلق في الزاوية العلوية اليسرى. SetChartRun مفتاح راحة: عندما يكون صحيحاً، يستدعي EA ChartSetSymbolPeriod لتبديل الرسم البياني النشط إلى SymbolPairRun (EURUSD افتراضي) وTimeFrameRun (1=M1) قبل عودة OnInit، ثم يستدعي MainFunction() مرة واحدة لبذر أي حالة بصرية. في أوضاع الاختبار والبصري، تعمل نفس المكالمة في كل tick من OnTick()؛ على terminal مباشر، يقصر OnTick() إلى MainFunction ما لم يكن UseCompletedBar صحيحاً، وفي هذه الحالة يحدد عند فتح الشريط ويعيد قراءة TimeLastBar بغض النظر عن الطابع الزمني للشريط.
الضبط العملي على XAUUSD. الافتراضات معايرة لزوج رئيسي بسبريد ضيق أو XAUUSD على حساب ECN/Raw، مع توقع إغلاق السلة على تحرك 10 نقاط وحد خسارة 100 نقطة كأسوأ حالة. مع MuliplierHedgeLot عند 1.0 وMaxMultiplierLot عند 50، يتدرج حجم المركز في أسوأ الحالات خطياً مع حجم الاختلال بدلاً من مضاعفته. سترغب معظم الشبكات الحية على هذا القالب في رفع MaxSpread إلى قيمة غير صفرية، وإضافة مرشح جلسة، وإما تقليل RiskFactor يدوياً أو وضع حد يدوي على عدد الأوامر — المصدر لديه MaxOrders=0 (غير محدود) افتراضياً، لذلك الكبح الوحيد الناعم هو SYMBOL_VOLUME_LIMIT للرمز والهامش الحر للوسيط.
تفاصيل الاستراتيجية
EX03014 هو شبكة خطوات سعرية بحتة بدون أي مؤشرات ولا مرشح نظام أو جلسة. في كل tick، تستدعي MainFunction() الدالة CountCurrentOrders() لتحديث مجاميع اللوت والنقطة والسعر لكل جانب، ثم تقرر GetSignals() ما إذا كانت (1) ستغلق السلة عند عتبة الربح أو الخسارة، (2) ستشغل تعبئة تحوط، أو (3) ستفتح الطبقة التالية. يتم تغذية OpenOrders() بواسطة CalcLots()، التي تختار تقدم لوت Statical / Geometrical / Exponetial، وتحدد النتيجة عند MaxMultiplierLot × اللوت الأول، وتقرّب إلى خطوة حجم الرمز. تدور طبقة إعادة المحاولة في TryOrderSend_EX03014() ثلاث مرات على فترات 200 مللي ثانية في requote/timeout/price-change قبل الاستسلام؛ تستخدم الفتحات انزلاق 3 نقاط، وتستخدم الإغلاقات request.deviation=5. لا توجد صيغة لياقة OnTester ولا فحص مسبق للهامش — الهامش الحر للوسيط هو الكبح الوحيد على عمق المكدس بمجرد الوصول إلى MaxMultiplierLot.
تفتح الطبقات الأولى في الـ tick التالي بعد عودة OnInit — شراء واحد وبيع واحد في وضع Open_Buy_And_Sell الافتراضي — عند سعر العرض/الطلب السائد. بمجرد أن يكون لأي جانب مركز واحد أو أكثر، يضع EA أمراً إضافياً كلما تحرك السعر بمقدار PipsForNextOrder (افتراضي 50.0) بعد آخر تعبئة على ذلك الجانب، مع تحجيم المسافة بواسطة BuyOrders أو SellOrders في وضع Geometrical_Step والبقاء ثابتة في Statical_Step. تقلب دالة GetSignals() علامات OpenBuy/OpenSell، ثم يوجه MainFunction() من خلال OpenOrders() الذي يحسب اللوت عبر CalcLots() ويرسل أمر سوق عبر TryOrderSend_EX03014() مع ثلاث محاولات إعادة على requote/timeout/price-change.
لا يوجد خروج لكل أمر. تُغلق السلة ككل عندما يصل BuyProfits+SellProfits (بالنقاط أو بعملة الحساب) إلى الحد المستهدف — PipsCloseInProfit (افتراضي 10.0) أو CurrCloseInProfit (افتراضي 10.0) حسب TypeTargetClose. يتم تشغيل الخروج من جانب الخسارة عندما تنخفض نقاط السلة الصافية إلى -100.0 نقطة مع ضبط ModeCloseInLoss على Close_All_Orders، مما يمحو السلة عبر CloseOrders() يمشي PositionsTotal() بالعكس. Close_First_Orders هو البديل الذي يغلق فقط التذاكر الأقدم على كل جانب.
أوامر الشبكة لا تحمل وقف خسارة لكل صفقة. غلاف المخاطر هو PipsForCloseInLoss على مستوى السلة (100.0 نقطة افتراضياً) بالإضافة إلى حد MaxMultiplierLot (50.0× اللوت الأول) على كل ساق، ومحفز التحوط الاختياري عند 10.0% خسارة رصيد. فحوصات OrderCalcMargin المسبقة معلقة في المصدر، لذلك لا يتم فرض حارس هامش حر — مطلوب حقوق حساب كافية لامتصاص عمق المكدس في أسوأ الحالات.
جني الأرباح لكل أمر ضمني: تستهدف كل طبقة شبكة خطوة واحدة لصالحها. جني الأرباح على مستوى السلة هو عتبة 10.0 نقطة / 10.0 عملة صافية تغلق كل مركز في السلة في وقت واحد. في وضع التحوط تبقى السلة مفتوحة بعد هذا الحد حتى يتم تحييد الاختلال؛ في الوضع الطبيعي تقفل السلة وتخرج عند أول عبور لخط الهدف.
الأفضل لـ XAUUSD بسبريد ضيق على حساب ECN/Raw، حيث تكون مخارج السلة عند 10 نقاط واقعية ويبقي تقدم الخطوة الهندسي (50 نقطة × عدد الطبقات) نافذة الخسارة لكل دورة محدودة. الحد الأدنى الموصى به للرصيد: 1,000 دولار لكل 0.01 لوت في الطبقة الأولى لامتصاص سحب من 6 طبقات. شغل M1 لأسرع إعادة دخول، M15 إذا وسع الوسيط السبريد خلال اليوم. اضبط MaxSpread على قيمة غير صفرية (مثلاً 30 نقطة) قبل الاستخدام المباشر — الافتراضي 0.0 سيسمح لـ EA بالفتح عند أي عرض. تجنب خلال FOMC وNFP ومؤتمرات ECB؛ هذا الإصدار ليس لديه مرشح أخبار ولا بوابة جلسة.
منطق الاستراتيجية
Pipsgrowth EX03014 Grid — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Grid
الماجيك: 22203014
الإصدار: 2.00
الوصف:
Grid system with configurable order placement (buy/sell/ both), step progression (static/geometric/exponential), profit target in pips or currency, loss-close options, hedge mode and auto lot sizing. Designed for tight-spread pairs. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
MainFunction()OpenOrders()CloseOrders()CountCurrentOrders()CountHistoryOrders()CalcLots()DrawObjects()DisplayText()CommentScreen()GetSignals()
// Pipsgrowth EX03014 Grid — Execution Flow (from source analysis)
// Family: Grid
// Grid system with configurable order placement (buy/sell/ both), step progression (static/geometric/exponential), profit target in pips or currency, loss-close options, hedge mode and auto lot sizing. Designed for tight-spread pairs. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| TypeOrdersPlace | Open_Buy_And_Sell | Type Of Orders Place |
| TypeOfNextOrders | Grid_Contrary_Trend | Type Of Grid Build |
| PipsForNextOrder | 50.0 | Step For Next Order (Pips) |
| TypeOfStepProgress | Geometrical_Step | Type Step Progress |
| TypeTargetClose | Target_In_Pips | Type Of Target Close At Profit |
| PipsCloseInProfit | 10.0 | Target In Pips Close At Profit |
| CurrCloseInProfit | 10.0 | Target In Currency Close At Profit |
| ModeCloseInLoss | Close_All_Orders | Mode Close In Loss |
| PipsForCloseInLoss | 100.0 | Losses For Close (Pips) |
| PlaceHedgeOrder | false | Place Hedge Order |
| LevelLossForHedge | 10.0 | Level Loss For Hedge (% Of Balance) |
| MuliplierHedgeLot | 1.0 | Multiplier Hedge Lot |
| AutoLotSize | false | Auto Money Management |
| RiskFactor | 1.0 | Risk Money Management (From 0.01 To 100) |
| ManualLotSize | 0.01 | Manual Lot Size |
| TypeOfLotProgress | Statical_Lot | Type Lot Progress |
| MaxMultiplierLot | 50.0 | Maximum Multiplier Lot (0=No Limit) |
| SetChartRun | false | Set Automatically Chart To Run |
| SymbolPairRun | "EURUSD" | Set Symbol Pair To Run |
| TimeFrameRun | 1 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)//Set Time Frame To Run |
| ShowComments | false | Show Comments On Chart |
| ColorOffLines | clrGray | Color Off Lines |
| ColorExpertName | clrDodgerBlue | Color Expert Name |
| ColorSpreadInfo | clrChocolate | Color Spread Information |
| ColorMoneyManagement | clrOrange | Color Money Management |
| ColorCurrentOrders | clrNavajoWhite | Color Current Orders |
| ColorHistoryOrders | clrIvory | Color History Orders |
| MagicNumber | 22203014 | Orders' ID (0=Generate Automatically) |
| InpTradeComment | "Psgrowth.com Expert_03014" | Orders' Comment |
| MaxSpread | 0.0 | Max Accepted Spread (0=No Limit) |
| MaxOrders | 0 | Max Opened Orders (0=No Limit) |
| Slippage | 3 | Accepted Slippage |
| UseCompletedBar | false | Use Completed Bar |
| SoundAlert | false | Play Sound Alerts |
| PrintOperations | false | Print Information Log |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX03014 MT5_BuildYourGridEA — configurable grid system, full 12-layer stack."
//============================================================================================================================================================================================================================//
enum Type {Open_Buy_And_Sell, Open__Only_Buy, Open__Only_Sell};
enum Next {Grid_According_Trend, Grid_Contrary_Trend};
enum Step {Statical_Step, Geometrical_Step, Exponetial_Step};
enum Target {Target_In_Pips, Target_In_Currency};
enum Loss {Not_Close_In_Loss, Close_First_Orders, Close_All_Orders};
enum Lot {Statical_Lot, Geometrical_Lot, Exponetial_Lot};
//============================================================================================================================================================================================================================//
#define MagicSet 101010
//============================================================================================================================================================================================================================//
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_TimeFrameRun = PERIOD_H1;
input group "=== Open Orders Parameters ==="
input Type TypeOrdersPlace = Open_Buy_And_Sell;//Type Of Orders Place
input Next TypeOfNextOrders = Grid_Contrary_Trend;//Type Of Grid Build
input double PipsForNextOrder = 50.0;//Step For Next Order (Pips)
input Step TypeOfStepProgress = Geometrical_Step;//Type Step Progress
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_TimeFrameRun = PERIOD_H1;
input group "=== Close At Profit Parameters ==="
input Target TypeTargetClose = Target_In_Pips;//Type Of Target Close At Profit
input double PipsCloseInProfit = 10.0;//Target In Pips Close At Profit
input double CurrCloseInProfit = 10.0;//Target In Currency Close At Profit
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
switch(tf)
{
case 1: return PERIOD_M1;
case 2: return PERIOD_M5;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.