Pipsgrowth EX07008 MA — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1
Pipsgrowth EX07008 MA — MA crossover EA using Fast/Slow EMA crossover for entry. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
إكس 07008 من بيبس جروث تجربة مقصودة في التبسيط. في حين تكدس بقية Expert Advisors في عائلة المتوسطات المتحركة مصنف نظام (regime classifier) ومرشح انحياز للإطار الزمني الأعلى ولوحة معلومات وسلم جني أرباح جزئي وحظر أخبار فوق تقاطع المتوسطات المتحركة البسيط، يكتفي هذا الملف بالتقاطع فقط ولا شيء غيره. الملف 334 سطراً و18 مدخلاً وعشر دوال مخصصة ومقبضا مؤشرَين فقط — متوسط متحرك سريع ومتوسط متحرك بطيء. يروّج الترويسة لما يسمى «بنية من 12 طبقة» لكن الكود الفعلي صريح في وصف ما يفعله: يكتشف تقاطعاً واحداً ويرسل أمراً فورياً ويترك وقف الخسارة الثابت وهدف جني الأرباح الثابت ووقف الخسارة المتحرك المتدرّج يتولون الباقي. هذه البساطة هي المغزى. إن أردت نظاماً ثقيل المرشحات فإكس 07001 وإكس 07003 في العائلة نفسها يغطيان هذا الجانب. إكس 07008 مخصّص للمتداول الذي يملك مسبقاً رؤية على الإطار الزمني الأعلى ويحتاج فقط طبقة تنفيذ تقاطع نظيفة ليعمل داخلها.
المدخلان اللذان يعرّفا المحرك هما InpMAFast (افتراضي 20) وInpMASlow (افتراضي 50). يمكن اختيار نوع المتوسط المتحرك عبر InpMAMethod (افتراضي MODE_EMA) لتبديله إلى SMA أو SMMA أو LWMA دون إعادة ترجمة. يُنشَأ مقبضا المتوسطين في OnInit على الرمز والإطار الزمني الحاليين باستخدام PRICE_CLOSE، ثم تستدعي CheckSignal() على كل شمعة جديدة — وليس على كل تيick — لسحب آخر قيمتَين مغلقتَين من كل مخزن مؤقت والبحث عن تقاطع. يُطلَق الشراء حين يكون fast[2] <= slow[2] وfast[1] > slow[1]. ويُطلَق البيع عند الحالة المعكوسة. هذه الإشارة بأكملها. لا يوجد بوابة ADX ولا مرشح ATR ولا بولنجر باندز ولا توافق اتجاه الإطار الزمني الأعلى. إن أردت إضافة أي منها فالمدخلات غير موجودة — يتعين عليك تعديل المصدر.
تُحدَّد المخاطرة عبر InpRiskPercent القياسي (افتراضي 1.0% من الرصيد لكل صفقة) مع InpFixedLot (افتراضي 0.01) كاحتياطي حين يُرجِع حساب النسبة المئوية للمخاطرة قيمة صفراً أو حجم عقد سالباً. تسحب دالة CalculateLotSize() رصيد account.Balance() وتتحقق من قيمة التيك وحجم التيك والنقطة ودرجة حجم العقد للرمز ثم تحسب lot = (الرصيد * نسبة المخاطرة / 100) / (نقاط وقف الخسارة * قيمة التيك / (حجم التيك / النقطة))، وتُقَصّ النتيجة إلى درجة حجم العقد وتُقصَّر إلى LotsMin وLotsMax لدى الوسيط. الوقف المستخدم في هذا الحساب هو InpStopLoss (افتراضي 400 نقطة)، ما يعني أن مخاطرة 1% على وقف 400 نقطة لحساب XAUUSD نموذجي ستُفضي إلى حجم يقارب 0.05 إلى 0.10 لوت حسب مواصفات العقد. إن كان وسيطك يُسعّر XAUUSD بمنزلتَين عشريتَين فإن 400 نقطة تعادل 4.00 دولارات للأونصة — مبلغ ذو معنى لكنه ليس كارثياً على حساب بألف دولار.
يُوضَع وقف الخسارة والهدف عبر OpenBuy() وOpenSell() بوصفهما أوامر من جانب الخادم. ينفذ OpenBuy وقف الخسارة عند Ask - InpStopLoss * Point والهدف عند Ask + InpTakeProfit * Point. وينفذ OpenSell العكس من Bid. بالقيم الافتراضية يكون وقف الخسارة 400 نقطة والهدف 1,200 نقطة — أي نسبة مخاطرة إلى عائد 1:3 على كل دخول. لا يوجد إغلاق جزئي ولا رatchet لنقطة التعادل ولا خروج زمني. تستمر الصفقة حتى يصطدم السعر بالوقف أو الهدف أو حتى يُطلِق تقاطع معاكس دخولاً آخر يُحجَب لكون مركزاً في ذلك الاتجاه مفتوحاً أصلاً.
يُستدعى وقف الخسارة المتحرك حين يكون InpEnableTrail صحيحاً (افتراضياً) من OnTick عبر ManageProfitLock() ويعمل بوصفه ratchet متدرّجاً وليس chandelier مستمراً بمؤشر ATR. تقارن المنطق السعر الحالي بسعر فتح المركز: بالنسبة للشراء، بمجرد أن يتجاوز Bid - PriceOpen قيمة InpTrailStart * Point (افتراضي 300 نقطة) يُحدَّد الوقف الجديد عند Bid - InpTrailDistance * Point (افتراضي 150 نقطة خلف السعر)، ولا يمر التعديل عبر TryModify_EX07008() إلا إذا كان الوقف الجديد أعلى من الوقف الحالي. يُعلَن InpTrailStep (افتراضي 100 نقطة) في كتلة المدخلات لكنه لا يُقرأ فعلياً في دالة التريل في المصدر الحالي — لا يُستخدم سوى مسافة البدء والمسافة خلف السعر. لذلك فإن التريل يقوم فعلياً بـ ratchet تصاعدي (للمراكز الطويلة) بزيادات قدرها 100 نقطة في كل مرة يتقدم فيها السعر 100 نقطة أخرى بعد نقطة بدء التريل. هذه هي فكرة التريل المتدرّج الكلاسيكية ذاتها الموجودة في Expert Advisors الشبكية القديمة لمنصة MT4.
البناء الهرمي (pyramiding) مُفعَّل افتراضياً (InpEnablePyramid = true) ومحدود بـ InpMaxPositions (افتراضي 3) لكل اتجاه. تمشي دالة IsGridSafe() على جميع المراكز المفتوحة بنفس السحر ونفس الاتجاه وترفض إضافة طبقة جديدة ما لم يكن آخر مركز في ذلك الاتجاه في ربح لا يقل عن InpMinProfitPoints (افتراضي 300 نقطة). هذا هو صمام الأمان الذي يحوّل ما قد يكون adder بأسلوب المارتينجال إلى توسيع مقفل بالربح: لا تضيف أبداً إلى خاسر. بثلاثة مراكز لكل اتجاه، أسوأ سيناريو هو ست تذاكر مفتوحة على مخطط الذهب نفسه — ثلاث شراءات وثلاث بيعات — كل واحدة على بعد 400 نقطة من الدخول بهدف 1,200 نقطة.
بوابات المخاطرة شحيحة. المرشح الوحيد وقت الدخول هو فحص السبريد في بداية OnTick: إن كان mysymbol.Spread() > InpMaxSpread (افتراضي 250 نقطة على XAUUSD أي 2.5 دولار) يُتخطى التيك بالكامل ولا يعمل أي شيء آخر في ذلك التيك. لا يوجد مرشح جلسة ولا استبعاد لوقت معين ولا حظر أخبار ولا قاتل سحب ولا حد خسارة يومية ولا فحص أرضية حقوق ملكية ولا cooldown لخسائر متتالية ولا حارس افتتاح السوق في عطلة نهاية الأسبوع. سيُطلق Expert Advisor إشارة تقاطع عند افتتاح يوم الأحد أو إغلاق يوم الجمعة. هذا هو الفرق الأكبر بين إكس 07008 وبقية Expert Advisors الـ560 على الموقع: الملف يثق بك أنت كمشغّل لتثبيته على مخطط فقط في ظل ظروف قررتَ مسبقاً أنها صالحة. إن ثبّتته على مخطط XAUUSD يعمل 24 ساعة وتركته يعمل فسيُطلق تقاطعات بين عشية وضحاها في الجلسة الآسيوية أمام سبريد 250 نقطة قد يوسّعه بعض الوسطاء إلى أكثر من 400 نقطة عند التجديد.
طبقة التنفيذ قياسية في بنية بيبس جروث. trade.SetExpertMagicNumber(22207008) وtrade.SetDeviationInPoints(InpSlippage) (افتراضي 3 نقاط) وtrade.SetTypeFilling(ORDER_FILLING_FOK). يُغلَّف إرسال الأمر وتعديله وإغلاقه في ثلاث أدوات إعادة محاولة صغيرة: TryClose_EX07008 وTryClosePartial_EX07008 وTryModify_EX07008. تقوم كل واحدة بثلاث محاولات مع Sleep لمدة 200 مللي ثانية عند رموز REQUOTE أو TIMEOUT أو PRICE_OFF أو PRICE_CHANGED؛ وتستخدم أداة التعديل 100 مللي ثانية بدل ذلك ولا تُعيد المحاولة إلا على الرمزَين الأولَين. لا توجد كتلة OnTester في المصدر — تُترك لياقة الاستراتيجية إلى إطار العمل.
عملياً: ثبّت إكس 07008 على مخطط XAUUSD M5 خلال جلسة قررتَ مسبقاً أنها قابلة للتداول (جلسة الافتتاح الأوروبية وصباح نيويورك تُنتجان عادة أنظف تقاطعات EMA-20/EMA-50 على الذهب) وتأكَّد من أن السبريد المعتاد لدى وسيطك أقل من 250 نقطة ودعه يعمل. توقَّع صفقة كل بضع ساعات خلال الجلسات النشطة وعملياً لا شيء بينها. صُمِّم وقف الخسارة المتحرك المتدرّج ونسبة المخاطرة إلى العائد 1:3 بحيث يدفع عدد قليل من الربح الكبير ثمن عدد أكبر من الخسارة الصغيرة؛ هذه هي الميزة الوحيدة التي بُني النظام لاقتناصها، وهي تتطلب أن يقدّم المستخدم كل شيء آخر — اختيار الجلسة واختيار الأداة واختيار الوسيط وتحديد حجم رأس المال — من الخارج.
إن أردت لوحة معلومات مرفقة بالمخطط أو قاتل سحب أو مرشح نظام أو حظر أخبار فستحتاج إلى إضافة تلك الطبقات بنفسك أو اختيار Expert Advisor آخر من هذه العائلة. إكس 07008 عمداً هو الإصدار الأبسط: متوسطان متحركان وتقاطع واحد ووقف ثابت واحد وهدف ثابت واحد وتريل متدرّج واحد وبناء هرمي مقفل بالربح. لا أكثر.
تفاصيل الاستراتيجية
يسحب متوسطَين متحركَين على رمز واحد — InpMAFast (افتراضي 20) وInpMASlow (افتراضي 50)، مع إمكانية اختيار نوع المتوسط عبر InpMAMethod — ويُطلق أمراً فورياً عند تقاطع الشمعة المغلقة. تعمل ManageProfitLock() على كل تييك لتدرّج وقف خسارة متحرك إلى داخل منطقة الربح بمجرد أن يتجاوز السعر InpTrailStart، وتُغلِّف TryModify_EX07008 استدعاء التعديل في ثلاث محاولات عند REQUOTE وTIMEOUT. تعمل CheckSignal() مرة واحدة لكل شمعة جديدة وتتحكم في إضافة البناء الهرمي عبر IsGridSafe()، التي ترفض تكديس مركز جديد ما لم يكن آخر مركز في الاتجاه نفسه في ربح لا يقل عن InpMinProfitPoints. يبدأ OnTick ببوابة سبريد وحيدة — المرشح الوحيد في الملف بأكمله — وبقية المنطق هي التقاطع والوقف والهدف والتريل.
يُفتح شراء حين يُغلق المتوسط المتحرك السريع (افتراضي EMA-20) فوق المتوسط المتحرك البطيء (افتراضي EMA-50) على الشمعة 1 بعد أن كان عنده أو تحته على الشمعة 2. ويُطلَق البيع عند التقاطع المعكوس. لا يُسمَح بدخول جديد في الاتجاه نفسه إلا إذا كان وضع البناء الهرمي مُفعَّلاً وكان أحد شرطين: (أ) لا يوجد مركز مفتوح في ذلك الاتجاه، أو (ب) آخر مركز في ذلك الاتجاه في ربح لا يقل عن InpMinProfitPoints (افتراضي 300 نقطة) وأن إجمالي المراكز في ذلك الاتجاه أقل من InpMaxPositions (افتراضي 3). يُتخطى تييك الدخول إن تجاوز سبريد الرمز InpMaxSpread (افتراضي 250 نقطة).
تُغلق المراكز عند وقف الخسارة الثابت (افتراضي 400 نقطة) أو هدف جني الأرباح الثابت (افتراضي 1,200 نقطة)، وكلاهما يُحدَّد من جانب الخادم وقت الدخول. بعد أن يتحرك السعر InpTrailStart (افتراضي 300 نقطة) في الربح، تقوم ManageProfitLock برatchet وقف الخسارة إلى InpTrailDistance (افتراضي 150 نقطة) خلف السعر عبر TryModify_EX07008. يتحرك التريل إلى الأمام فقط — لا يرتخي أبداً. التقاطع المعاكس الجديد لا يُغلق المركز الحالي تلقائياً؛ بل يفتح الصفقة الجديدة فقط إن لم يكن هناك مركز معاكس مفتوح أصلاً.
وقف الخسارة الأوّلي هو InpStopLoss ثابت (افتراضي 400 نقطة) يُوضَع من جانب الخادم وقت الدخول — أي 4.00 دولارات للأونصة على تسعير XAUUSD بمنزلتَين عشريتَين. بمجرد أن يتقدم السعر InpTrailStart (افتراضي 300 نقطة) في الربح، يُرفَع وقف الخسارة إلى Bid/Task مطروحاً منه InpTrailDistance (افتراضي 150 نقطة) خلف السعر، ولا يتحرك إلى الأمام من هناك فصاعداً. لا توجد خطوة نقطة تعادل ولا وقف زمني.
جني أرباح ثابت عند InpTakeProfit (افتراضي 1,200 نقطة) — أي 12.00 دولار للأونصة على XAUUSD، يُحدَّد من جانب الخادم وقت الدخول. مع وقف 400 نقطة، يعني ذلك نسبة مخاطرة إلى عائد 1:3 صارمة على كل دخول. لا يوجد إغلاق جزئي ولا خروج متدرّج ولا إغلاق زمني — تستمر الصفقة حتى الوقف أو الهدف.
يُعطي XAUUSD على M5 خلال تداخل جلسة لندن وبداية نيويورك (08:00–14:00 بتوقيت الخادم لدى معظم الوسطاء) أنظف تقاطعات EMA-20/EMA-50 وأضيق سبريد تحت بوابة InpMaxSpread البالغة 250 نقطة. الرصيد الموصى به: 300 إلى 1,000 دولار عند مخاطرة 1% لكل صفقة (InpRiskPercent الافتراضي) يبقي وقف 400 نقطة عند خسارة يمكن تحمّلها على حساب ميكروي. متطلب الوسيط: أي حساب MT5 يُسعّر XAUUSD بسبريد معتاد أقل من 2.5 دولار — يُفضَّل ECN/RAW لكنه ليس شرطاً صارماً لأن مرشح السبريد متساهل. ملف المخاطر: متوسط لأن نسبة المخاطرة إلى العائد 1:3 تعوّض غياب مرشح النظام، لكن سلسلة خسائر متتالية في سوق متذبذب ممكنة لغياب بوابة ADX أو جلسة عدا فحص السبريد.
منطق الاستراتيجية
Pipsgrowth EX07008 MA — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MA
الماجيك: 22207008
الإصدار: 2.00
الوصف:
MA crossover EA using Fast/Slow EMA crossover for entry
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckSignal()OpenBuy()OpenSell()ManageProfitLock()IsGridSafe()CalculateLotSize()CountPositions()TryClose_EX07008()TryClosePartial_EX07008()TryModify_EX07008()
// Pipsgrowth EX07008 MA — Execution Flow (from source analysis)
// Family: MA
// MA crossover EA using Fast/Slow EMA crossover for entry
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اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMAFast | 20 | Fast MA Period |
| InpMASlow | 50 | Slow MA Period |
| InpMAMethod | MODE_EMA | MA Method |
| InpRiskPercent | 1.0 | Risk Percent per Trade |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpStopLoss | 400 | Stop Loss (points) |
| InpTakeProfit | 1200 | Take Profit (points) |
| InpMagicNumber | 22207008 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_07008" | Trade Comment |
| InpMaxSpread | 250 | Max Spread (points) |
| InpSlippage | 3 | Slippage |
| InpEnableTrail | true | Enable Trailing Stop |
| InpTrailStart | 300 | Trail Start Distance (points) |
| InpTrailStep | 100 | Trail Step (points) |
| InpTrailDistance | 150 | Distance behind price (points) |
| InpEnablePyramid | true | Enable Pyramiding |
| InpMaxPositions | 3 | Max Open Positions |
| InpMinProfitPoints | 300 | Min Profit (points) to Add Next |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX07008 MACrossover_XAUUSD_5M — Fast/Slow EMA crossover with trailing and pyramiding, 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 "=== Indicator Settings ==="
input int InpMAFast = 20; // Fast MA Period
input int InpMASlow = 50; // Slow MA Period
input ENUM_MA_METHOD InpMAMethod = MODE_EMA; // MA Method
input group "=== Money Management ==="
input double InpRiskPercent = 1.0; // Risk Percent per Trade
input double InpFixedLot = 0.01; // Fixed Lot (if Risk=0)
input int InpStopLoss = 400; // Stop Loss (points)
input int InpTakeProfit = 1200; // Take Profit (points)
input group "=== Trade Management ==="
input int InpMagicNumber = 22207008; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_07008"; // Trade Comment
input int InpMaxSpread = 250; // Max Spread (points)
input int InpSlippage = 3; // Slippage
input group "=== Profit Lock / Trailing ==="
input bool InpEnableTrail = true; // Enable Trailing Stop
input int InpTrailStart = 300; // Trail Start Distance (points)
input int InpTrailStep = 100; // Trail Step (points)
input int InpTrailDistance = 150; // Distance behind price (points)
input group "=== Pyramiding / Scaling ==="
input bool InpEnablePyramid = true; // Enable Pyramiding
input int InpMaxPositions = 3; // Max Open Positions
input int InpMinProfitPoints= 300; // Min Profit (points) to Add Next
//--- Handles
int hMAFast;
int hMASlow;
//--- Global Buffers
double bufMAFast[];
double bufMASlow[];
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
trade.SetExpertMagicNumber(InpMagicNumber);
trade.SetDeviationInPoints(InpSlippage);
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.