Pipsgrowth EX07004 MA — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M15، M5، H1
Pipsgrowth EX07004 MA — Gold scalping EA using EMA crossover with adaptive pyramiding. Entry: Fast EMA crosses above Slow EMA = BUY (Golden Cros. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX07004 هو سكالبير ذهب بإطار M15 بتصميم نحيف. يدور حول قاعدة واحدة فقط — عندما تغلق EMA بعشر فترات فوق EMA بعشرين فترة، يشتري المستشار؛ وعندما تغلق EMA العشر تحت EMA العشرين، يبيع — والباقي في الملف عبارة عن بنية تحتية لإبقاء هذه القاعدة تعمل على أداة صاخبة. لا يوجد مصنف نظام (regime)، ولا انحياز لإطار زمني أعلى، ولا مرشح أخبار، ولا مرشح زمني، ولا حد أدنى لرأس المال. ما تحصل عليه هو تقاطع ميكانيكي مع تكديس متكيف (pyramiding)، وكمية صفقة مبنية على المخاطر، ونسبة مخاطرة إلى عائد لا تقل عن 1:2.
منطق الإشارة يعيش في GetMASignal() وهو غير غامض. في كل شمعة M15 جديدة، تنسخ RefreshIndicators() نقطتين من iMA(_Symbol, PERIOD_M15, 10, 0, MODE_EMA, PRICE_CLOSE) ونقطتين من EMA بعشرين فترة في مصفوفات، بالإضافة إلى نقطة واحدة من iATR(_Symbol, PERIOD_M15, 14) لحساب حجم الصفقة ومسافة الوقف. تقارن الدالة قيم الشمعة المغلقة: إذا كانت prevFastMA <= prevSlowMA وfastMA > slowMA تنطلق إشارة شراء (يطبع المستشار "LONG: MA Golden Cross")؛ وإذا كانت prevFastMA >= prevSlowMA وfastMA < slowMA تنطلق إشارة بيع. الشموع التي لا تحتوي على تقاطع تُرجع 0 ولا يفعل المستشار شيئاً. بوابة الشمعة الجديدة مثبتة على PERIOD_M15 داخل IsNewBar()، لذا حتى لو أرفقت المستشار على إطار M5 أو H1 يبقى إيقاع الإشارة عند M15 — وهذا مقصود للذهب (XAUUSD) حيث الضوضاء في الإطارات المنخفضة تجعل تقاطع M15 النظيف أكثر موثوقية من إشارة فترة الرسم البياني.
تُصفى الدخولات عبر CanOpenPosition() التي تمرّ retrograde على PositionsTotal()، وتتجاهل أي صفقة رمزها ليس رمز الشارت أو سحرها ليس 22207004، ثم تعدّ الباقي. القاعدة الصلبة الأولى هي الاتجاهية: إذا كان هناك مركز شراء مفتوح بالفعل، فلن يفتح المستشار بيعاً (والعكس صحيح). الثانية هي وسادة التكديس — يجب أن يكون MathAbs(price - PositionGetDouble(POSITION_PRICE_OPEN)) على الأقل PyramidDistPips * pipSize (خمسة عشر نقطة) قبل السماح بدخول آخر في نفس الاتجاه. الثالثة هي السقف: إذا كان count >= MaxPositions (افتراضياً 3) يرفض المستشار. اضبط UsePyramiding=false لتبقي على الصفقة الأولى فقط. عملياً التكديس على الذهب يصل إلى ثلاثة أوامر شراء متباعدة خمسة عشر نقطة، أو ثلاثة أوامر بيع متباعدة خمسة عشر نقطة — أبداً الجانبين معاً.
حجم الصفقة مبني على المخاطر. عندما يكون UseMoneyManagement=true (افتراضي)، تقرأ CalculatePositionSize() رصيد الحساب، تضربه في RiskPercent (افتراضياً 2.0%)، تقسم على slPips * pipValuePerLot حيث pipValuePerLot = (tickValue/tickSize) * pipSize، ثم تُقرّب الناتج نزولاً إلى SYMBOL_VOLUME_STEP وتقصّره بين SYMBOL_VOLUME_MIN وSYMBOL_VOLUME_MAX. عند إيقاف إدارة المال، تكون كل صفقة بحجم FixedLotSize (0.01 لوت). لاحظ أن RiskPercent هي نسبة من الرصيد وليست نسبة منEquity، لذا فإن الانخفاض العائم لا يُصغّر حجم اللوت التالي — وهذا الاتفاق الأكثر ميلاً للمخاطرة بين الاتفاقيتين الشائعتين.
الوقف والهدف يُعاد حسابهما في OpenPosition() لكل دخول. مسافة الوقف هي slDist = MathMax(currentATR * 1.5, MathMax(StopLossPips * pipSize, minDist * 1.5))، حيث minDist هو SYMBOL_TRADE_STOPS_LEVEL لدى الوسيط ومُقَرَّب إلى 10 نقاط كحد أدنى. عملياً يعني هذا أن الوقف خمسة عشر نقطة على الأقل (افتراضي StopLossPips)، لكنه يتسع إلى 1.5×ATR(14) كلما اقتضت التذبذبات ذلك. الهدف هو tpDist = MathMax(slDist * 2, minDist * 1.5) — أي 1:2 R:R كحد أدنى، وكثيراً ما يقترب من 1:3 في أنظمة التذبذب العالي. يُكتب سعر الوقف وسعر الهدف في الأمر عند الدخول؛ من تلك النقطة تركض الصفقة نحو وقفها أو هدفها على جانب الخادم. لا يوجد trailing stop، ولا قفل راتبتي ratchet للتعادل، ولا إغلاق جزئي، ولا وقف زمني في الكود. دوال الإدارة (SafePositionModify، TryClose_EX07004، TryClosePartial_EX07004، TryModify_EX07004) موجودة ومنطق إعادة المحاولة الثلاثية على REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED جاهز (200 مللي ثانية للإغلاق، 100 مللي ثانية للتعديل)، لكنها لا تُستدعى إلا إذا ربطتها أنت أو إذا لزم تعديل مستقبلي.
بوابة ما قبل الصفقة سطر واحد. تقرأ CheckFilters() السبريد الحالي، تقسمه على GetPipSize() للتعبير عنه بالنقاط (تتعامل مع الرموز ذات 3/5 خانات عشرية من خلال قاعدة _Point * 10 المعيارية)، وتُرجع false إذا كان spread > MaxSpreadPips (افتراضي 25.0). خمس وعشرون نقطة فسيحة على معظم أزواج العملات لكنها عادية لـ XAUUSD خلال تداخل لندن ونيويورك، لذا هذا المرشح فحص لجودة الجلسة وليس بوابة سكالبينج ضيقة. لا يوجد مرشح وقت من اليوم، ولا مرشح يوم من الأسبوع، ولا تعتيم أخبار، ولا فحص هامش، ولا حارس خسارة يومية، ولا حارس حد أدنى لـEquity، ولا مهلة لخسائر متتالية. كل من يشغّل هذا المستشار على حساب حقيقي يقبل أن المستشار سيستمر في التداول خلال ارتفاعات الأخبار وفجوات عطلة نهاية الأسبوع (إن كانت محتفظاً بها) وحدود الانخفاض الشخصية ما لم تُضف هذه الحواجز خارجياً.
توجيه الأوامر يستخدم غلاف MQL5 القياسي CTrade. تستدعي OnInit() كلاً من trade.SetExpertMagicNumber(22207004) وtrade.SetDeviationInPoints(3) وtrade.SetTypeFilling(GetAllowedFilling())، حيث تتحقق GetAllowedFilling() من SYMBOL_FILLING_MODE وتُرجع FOK إذا كان مدعوماً، وإلا IOC، وإلا RETURN. هذا الترتيب صحيح لمعظم وسطاء ECN والتنفيذ السوقي، لكنه ليس مساعد الكشف التلقائي حسب الرمز الموجود في إصدارات PipsGrowth الأحدث — وضع التعبئة ثابت عند التهيئة ولا يُعاد فحصه أبداً. تسامح الانزلاق 3 نقاط (وليس 25 نقطة) — للذهب XAUUSD بتسعير عشريين هذا 3 سنتات، وهو ضيق.
التمييز بين هذا المستشار والمستشارَين الآخرين في عائلة MA مهم. EX07001 (XAUUSD M30، EMA 10/30) يدير مصنف نظام من 7 حالات، وانحياز EMA(50) H1، وtrailing تشاندلير، وتعادل عند 1R، وجزئي 50% عند 1.5R، وهدف نهائي 3R، مع DryRun=true كافتراضي. EX07003 (XAUUSD/EURUSD/GBPUSD/USDJPY M15، EMA 10/21) يضيف تكديساً آمناً بثلاث أرجل بوسادة 250 نقطة، وR:R صلب 1:3، وحراس خسارة يومية 3% وانخفاض رصيد 10%، وإغلاق جمعة الساعة 20:00 فوق التقاطع. EX07004 هو الأبسط بين الثلاثة — لا مرشح نظام، ولا إغلاق جزئي، ولا trailing، ولا حارس يومي، ولا مرشح زمني. المقايضة هي الشفافية: كل قرار في الملف هو واحد من ثلاثة أسطر في GetMASignal() أو CanOpenPosition() أو OpenPosition(). المستخدم الذي يريد تحكماً كاملاً في التكديس ومسافة الوقف ومستعد لإدارة مخاطر الجلسة والانخفاض خارجياً سيجد هذا المستشار قابلاً للتنبؤ؛ المستخدم الذي يريد مكدس السلامة جاهزاً يجب أن ينظر إلى EX07001 أو EX07003.
ما يمكن توقعه في الباك تيست: على XAUUSD M15 بالإعدادات الافتراضية، يولّد المستشار تياراً منتظماً من تكديسات أحادية الاتجاه (عادةً 1 إلى 3 أوامر لكل رجل إشارة) بنسبة 1:2+ R:R وبحد أدنى للوقف 15 نقطة. حوالي 2% من الرصيد معرّض للخطر لكل دخول، و3 صفقات متزامنة عند الذروة. توقع منحنيات Equity تبدو كسلالم على الاتجاهات النظيفة ومناشير على التذبذب — غياب مرشح النظام يعني أن المستشار سيكدّس في الأسواق العرضية ويأخذ التذبذب على ذقنه. من يريد تليين ذلك عليه تقليل MaxPositions إلى 1 وتعطيل UsePyramiding في المدخلات؛ هذا يحوّل EX07004 إلى تقاطع طلقة واحدة يشبه وظيفياً EX07003 ناقص EMA بطيء 21 فترة، وحارس الخسارة اليومية، واللوحة.
متطلبات الوسيط: يُوصى بتغذية XAUUSD منخفضة السبريد لكنها غير مطلوبة — مرشح 25 نقطة سيرفض أسوأ اللحظات لكنه لا يحمي من وسيط بسعر 5 نقاط يتمدد إلى 20 نقطة وقت الأخبار. يستخدم المستشار افتراضات CTrade للهامش، لذا الحد الأدنى الموصى به للرصيد هو 100 دولار كما هو مذكور في بطاقة المستشار، ويجب إبقاء التعرض الإجمالي (3 × 0.0X لوت) تحت 30% من الهامش الحر لامتصاص ارتفاع -15 نقطة معاكس على أرجل التكديس الثلاثة دون نداء هامش.
تفاصيل الاستراتيجية
في كل شمعة M15 جديدة، ينسخ المستشار نقطتين مغلقتين من EMA بعشر فترات وEMA بعشرين فترة (كلاهما MODE_EMA على PRICE_CLOSE، كلاهما مثبت على PERIOD_M15 بصرف النظر عن إطار الشارت) بالإضافة إلى نقطة واحدة من ATR(14) على نفس الفترة. تقارن GetMASignal() أزواج السابق/الحالي: prevFastMA <= prevSlowMA وfastMA > slowMA تُرجع +1، والعكس يُرجع -1، وإلا 0. تمشي CanOpenPosition() retrograde على PositionsTotal()، تتجاهل الرموز الأجنبية والسحر الآخر، وتفرض ثلاث قواعد — تطابق الاتجاه (لا بيع بينما تكديس شراء مفتوح)، وسادة سعر 15 نقطة من آخر دخول، وسقف 3 صفقات. إذا مرّت الإشارة ونجحت CheckFilters() في اختبار السبريد (≤ 25 نقطة)، تحسب OpenPosition() slDist كحد أقصى من (1.5×ATR، 15 نقطة، 1.5×minDist)، وtpDist كحد أقصى من (slDist×2، 1.5×minDist)، تحجم اللوت من RiskPercent=2% من الرصيد مقرّباً نزولاً إلى درجة الحجم، وترسل أمر سوق عبر CTrade بسقف انزلاق 3 نقاط. تُرجع GetAllowedFilling() FOK > IOC > RETURN بناءً على SYMBOL_FILLING_MODE؛ مساعدو الإعادة يعيدون 3 مرات على REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED.
دخول شراء على شمعة M15 مغلقة تتقاطع فيها EMA بعشر فترات فوق EMA بعشرين فترة (تقاطع ذهبي)؛ دخول بيع على تقاطع الموت المعاكس. يسمح التكديس بثلاث صفقات في نفس الاتجاه متباعدة 15 نقطة على الأقل؛ يرفض المستشار إضافة مركز داخل 15 نقطة من مركز قائم، ويرفض الفتح في الاتجاه المعاكس بينما التكديس مفتوح. مرشح سبريد يرفض الدخول عندما يتجاوز سبريد XAUUSD الحالي 25 نقطة.
تُدار الصفقات وفق وقفها وهدفها المثبتَين على الخادم عند الدخول (1:2+ R:R). لا يوجد trailing stop، ولا قفل تعاقب راتبتي، ولا وقف زمني في الكود — بمجرد فتح الأمر، يركض إلى الوقف أو الهدف. دوال الإغلاق والتعديل الثلاثية الإعادة موجودة لكنها لا تُستدعى من حلقة إدارة نشطة في هذا البناء.
وقف الخسارة = الحد الأقصى من (1.5 × ATR(14)، 15 نقطة، 1.5 × مستوى وقف الوسيط) لكل دخول، يُكتب في الأمر عند الفتح ويُحفظ حتى انتهاء الصلاحية. تفرض SafePositionModify() الحد الأدنى لمسافة الوقف لدى الوسيط على أي محاولة تعديل لاحقة.
جني الأرباح = الحد الأقصى من (الوقف × 2، 1.5 × مستوى وقف الوسيط) لكل دخول، أي 1:2 R:R كحد أدنى ويتسع مع الوقوف المعتمدة على ATR. الهدف على جانب الخادم ولا يلمسه المستشار بعد الدخول.
المتداولون الذين يريدون تحكماً يدوياً كاملاً في تقاطع ذهب M15 دون مكدس سلامة متحيز، على حساب مايكرو 100 دولار بـ XAUUSD على حساب ECN أو قياسي منخفض السبريد. يناسب تكديس ما يصل إلى 3 صفقات في نفس الاتجاه بوسادة 15 نقطة متداول ذهب بأسلوب السوينج مرتاحاً لحجم مخاطر الجلسة والانخفاض بنفسه؛ غياب trailing والتعادل ومرشح الوقت وحارس الخسارة اليومية وسقف Equity يعني أنه يجب ألا يُنشر دون مراقبة على حساب حقيقي.
منطق الاستراتيجية
Pipsgrowth EX07004 MA — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MA
الماجيك: 22207004
الإصدار: 2.00
الوصف:
Gold scalping EA using EMA crossover with adaptive pyramiding. Entry: Fast EMA crosses above Slow EMA = BUY (Golden Cross); below = SELL (Death Cross). ATR-based SL/TP, spread filter, and pyramid adding on distance. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
SafePositionModify()RefreshIndicators()GetMASignal()CanOpenPosition()OpenPosition()CalculatePositionSize()IsNewBar()GetPipSize()CheckFilters()TryClose_EX07004()
// Pipsgrowth EX07004 MA — Execution Flow (from source analysis)
// Family: MA
// Gold scalping EA using EMA crossover with adaptive pyramiding. Entry: Fast EMA crosses above Slow EMA = BUY (Golden Cross); below = SELL (Death Cross). ATR-based SL/TP, spread filter, and pyramid adding on distance. 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اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpMagicNumber | 22207004 | Magic Number (222 + Expert ID) |
| InpTradeComment | "Psgrowth.com Expert_07004" | Trade Comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX07004 GoldScalper_MACrossover_AdaptivePyramid — EMA crossover with adaptive pyramiding, full 12-layer stack."
#include <Trade\Trade.mqh>
input group "=== Risk Management ==="
input bool UseMoneyManagement = true;
input double RiskPercent = 2.0;
input double FixedLotSize = 0.01;
input group "=== MA Settings ==="
input int FastMA_Period = 10;
input int SlowMA_Period = 20;
input ENUM_MA_METHOD MA_Method = MODE_EMA;
input group "=== Trade Settings ==="
input int StopLossPips = 15;
input int Slippage = 3;
input int InpMagicNumber = 22207004; // Magic Number (222 + Expert ID)
input string InpTradeComment = "Psgrowth.com Expert_07004"; // Trade Comment
input group "=== Pyramiding ==="
input bool UsePyramiding = true;
input int MaxPositions = 3;
input int PyramidDistPips = 15;
input group "=== Filters ==="
input bool UseSpreadFilter = true;
input double MaxSpreadPips = 25.0;
CTrade trade;
int handleFastMA, handleSlowMA, handleATR;
datetime lastBarTime = 0;
double fastMA, slowMA, prevFastMA, prevSlowMA, currentATR;
ENUM_ORDER_TYPE_FILLING GetAllowedFilling()
{
int filling_mode = (int)SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE);
if((filling_mode & SYMBOL_FILLING_FOK) == SYMBOL_FILLING_FOK) return ORDER_FILLING_FOK;
else if((filling_mode & SYMBOL_FILLING_IOC) == SYMBOL_FILLING_IOC) return ORDER_FILLING_IOC;
else return ORDER_FILLING_RETURN;
}
//+------------------------------------------------------------------+
//| Safe Position Modify - validates stops before modifying |
//+------------------------------------------------------------------+
bool SafePositionModify(ulong ticket, double newSL, double newTP)
{
// Select the position
if(!PositionSelectByTicket(ticket))
{
return false; // Position doesn't exist, no error needed
}
// Get current price
long type = PositionGetInteger(POSITION_TYPE);
double price = (type == POSITION_TYPE_BUY) ? الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.