Pipsgrowth EX07005 MA — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M15، M5، H1
Pipsgrowth EX07005 MA — Gold scalping EA using triple EMA alignment for reduced lag trend confirmation. Entry: Fast > Mid > Slow EMA alignment t. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX07005 MA يستهدف زوج XAUUSD على الإطار الزمني M15 بمحرك محاذاة ثلاثي للمتوسطات المتحركة الأسية (EMA) بشكل مبسط. بدلاً من انتظار تقاطع متوسط متحرك واحد، يشترط Expert Advisor أن تكون المتوسطات الثلاثة (السريع = 5، المتوسط = 10، البطيء = 20) في نفس الترتيب الرأسي — ولا يطلق الإشارة إلا عند الشمعة التي يتشكّل فيها هذا الترتيب لأول مرة. يستخدم الإعداد أسعار الإغلاق، وتنعيم MODE_EMA، وإطار M15 واحد مُبرمج بشكل ثابت في مقابض المؤشرات داخل OnInit. هذا التكثيف هو خيار التصميم: لا يحتوي Expert Advisor على فلتر نظام سوق، ولا انحياز لإطار زمني أعلى، ولا حاجز أخبار، ولا نافذة جلسة، ولا آليات إغلاق جزئي أو trailing stop. ما يفعله، يفعله بخطوة واحدة.
محرك الإشارة هو كاشف انتقال، وليس اختبار مستوى. تقارن دالة GetTripleEMASignal() بين قيم المتوسطات الثلاثة في الشمعة الحالية والسابقة. يتطلب الإعداد الصاعد أن يكون emaFast > emaMid > emaSlow في الشمعة الحالية في حين أن هذا الترتيب الصارم لم يكن صحيحاً في الشمعة السابقة. بشكل متماثل، يتطلب الإعداد الهابط أن يكون emaFast < emaMid < emaSlow في الشمعة الحالية، مع انتقال من شمعة سابقة غير محاذية. إذا كان الترتيب قائماً بالفعل ويستمر من شمعة إلى أخرى، فإن Expert Advisor لا يفعل شيئاً — لا توجد إعادة دخول على كل شمعة محاذية. هذا ما يجعل عدد الصفقات منخفضاً والمشغّل دقيقاً: فقط الشمعة التي تقلب الكومة إلى محاذاة هي التي تنتج تذكرة.
وضع وقف الخسارة هو خيار التصميم الأكثر تميزاً في Expert Advisor. في OpenPosition()، يقترح الكود أولاً سعر المتوسط البطيء (emaSlow) كمرساة للإيقاف، ثم يقارن مسافة الإيقاف الضمنية بسقوف احتياطية: الحد الأدنى 15 نقطة من StopLossPips و 1.5× الحد الأدنى لمسافة الإيقاف لدى الوسيط. أكبر القيم الثلاث يصبح مسافة الإيقاف الفعلية، لذا فإن وقف الخسارة هو في الأساس الأوسع بين (مسافة المتوسط البطيء، 15 نقطة، الحد الأدنى للوسيط × 1.5). على XAUUSD بدقة 15 نقطة، يعني هذا عادةً أن مرساة المتوسط البطيء تفوز في معظم الشموع، ويجلس الإيقاف خلف المتوسط البطيء بدلاً من عدد نقاط ثابت. يتم تعيين جني الأرباح عند ضعف مسافة الإيقاف المختارة بالضبط (نسبة مخاطرة إلى عائد 1:2) — غير مشتق من ATR، وليس مضاعفاً للسعر، فقط نسبة 2:1 صارمة على أي إيقاف ينتهي Expert Advisor باستخدامه.
تحجيم المخاطرة هو الفرع الوحيد في Expert Advisor الذي يأخذ الأرقام التي يكوّنها المستخدم على محمل الجد. تقرأ CalculatePositionSize() قيمة RiskPercent = 2% من رصيد الحساب، وتقسمه على مسافة الإيقاف الفعلية بالنقاط مضروبة في قيمة التيك لكل نقطة للأداة، وتقرب إلى أسفل إلى درجة اللوت للرمز، وتقص إلى الحد الأدنى/الأقصى للوت للرمز. عندما تكون UseMoneyManagement معطلة، يعود Expert Advisor إلى FixedLotSize = 0.01 لوت — لوت مايكرو واحد بصرف النظر عن مسافة الإيقاف أو الرصيد. لا يوجد حارس أرضية حقوق ملكية، ولا سقف خسارة يومية، ولا قاطع تراجع في المصدر. يعلن الترويسة عن 'بنية من 12 طبقة' لكن الكود الفعلي يطبّق فقط إشارة، دخول، عدم تداول (فلتر السبريد فقط)، مخاطرة (التحجيم 2%)، تحجيم، خروج (وقف/جني فقط). طبقات النظام و CONFIRM و CAPITAL CAP و MANAGE و SCALING و OnTester من الملخص غير مربوطة فعلياً كدوال في المصدر.
إدارة الصفقات متقاصدة عمداً. يفتح Expert Advisor صفقة واحدة لكل إشارة — CountPositions() التي تعيد أي تذكرة برقم EX07005 السحري تحظر الدخول التالي حتى تُغلق الصفقة بوقف الخسارة أو جني الأرباح. لا يوجد قفل كسر-تعادل، ولا trailing stop، ولا إغلاق جزئي، ولا إيقاف زمني، ولا خروج بإشارة معاكسة. SafePositionModify() موجودة كغلاف دفاعي لقيود مستوى الإيقاف لدى الوسيط، لكن Expert Advisor لا يستدعيها فعلياً في التدفق المباشر لأن OpenPosition() تضبط وقف الخسارة وجني الأرباح عند دخول الأمر ولا تعدلهما أبداً بعد ذلك. TryClose_EX07005() و TryClosePartial_EX07005() و TryModify_EX07005() موجودة، لكنها في هذا البناء تبقى غير مستخدمة بعد الإرسال الأولي.
بوابة الشمعة الجديدة هي الفرامل الرئيسي على تكرار التداول. يتحقق OnTick() أولاً من IsNewBar() — يقرأ iTime(_Symbol, PERIOD_M15, 0) ويقارنه بـ lastBarTime؛ إذا لم يتغير الطابع الزمني للشمعة، يعود Expert Advisor فوراً. لذا تحدث كل التقييمات على افتتاح شمعة M15، وليس على كل تيكت. مع سقف الصفقة الواحدة، يعني هذا أن التشغيل المحاذي على XAUUSD سينتج عادةً دخولاً واحداً كل عدة ساعات في الغالب، مع فترات من الشموع حيث لا ينتقل الترتيب أبداً. ستظهر الاختبارات الخلفية عدداً أقل من الصفقات مقارنة بـ Expert Advisor نموذجي لتقاطع M15 — توقع عدد صفقات منخفض بالنسبة لفترة الاختبار.
فلتر عدم التداول هو فحص سبريد واحد. يقرأ CheckFilters() قيمة SYMBOL_SPREAD، ويقسمها على حجم النقطة، ويقارن بـ MaxSpreadPips = 25 (قابل للتهيئة، افتراضي 25 نقطة لـ XAUUSD — سخي، يعكس السبريد الأعرض عادةً للذهب). إذا كان السبريد الحالي أوسع، فإن Expert Advisor ببساطة لا يقيّم الإشارات في تلك الشمعة. لا يوجد فلتر وقت من اليوم، ولا فلتر يوم من الأسبوع، ولا وعي بالتقويم الاقتصادي، ولا فلتر هامش، ولا حارس رصيد أدنى. سيتداول Expert Advisor من خلال ارتفاعات الأخبار، وخلال ركود الجلسة الآسيوية، ومن خلال نافذة ترحيل الوسيط طالما أن السبريد أقل من 25 نقطة.
تستخدم طبقة تنفيذ الأوامر غلاف CTrade الخاص بـ MT5 مع انزلاق = 3 نقاط، يتم اكتشاف وضع التعبئة تلقائياً عبر SymbolInfoInteger(SYMBOL_FILLING_MODE) — يفضل FOK، ثم يتراجع إلى IOC، ثم RETURN. كل من TryModify_EX07005() و TryClose_EX07005() يعيدان المحاولة حتى 3 مرات بفاصل 100-200ms عند REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED قبل الاستسلام. يتم تعيين الرقم السحري 22207005 عبر SetExpertMagicNumber() والتعليق التجاري هو 'Psgrowth.com Expert_07005'، لذا فإن كل أمر قابل للتعريف في السجل والتاريخ.
ما يمكن توقعه في الاختبار الخلفي. مع شموع M15، ومحاذاة EMA 5/10/20، والإيقاف المرساة على المتوسط البطيء، ينتج EX07005 عدداً صغيراً من الصفقات عالية القناعة أسبوعياً على XAUUSD. معظم الأسابيع ستشهد 0-3 دخول. نسبة المخاطرة إلى العائد 1:2 تعني أن الفائزين يجب أن يكونوا تقريباً نصف عدد الخاسرين لكي تكون الاستراتيجية إيجابية صافياً. مخاطرة 2% لكل صفقة مرتفعة لـ Expert Advisor بأسلوب scalping؛ فكر في تعيين RiskPercent = 0.5-1.0 للاستخدام الحي، وفكر في FixedLotSize = 0.01 لتشغيل حجم ثابت. عدم وجود أي سقف خسارة يومية يعني أن سلسلة من الخاسرين ستتراكم — ادمج مع إيقاف حقوق ملكية على مستوى الوسيط أو إغلاق يومي يدوي إذا شغّلته دون مراقبة.
تفاصيل الاستراتيجية
في افتتاح كل شمعة M15، تنسخ RefreshIndicators() آخر قيمتين لمتوسطات EMA 5/10/20 وقيمة ATR(14) الحالية. تُرجع GetTripleEMASignal() قيمة +1 إذا انتقلت المتوسطات للتو إلى محاذاة صاعدة (سريع > متوسط > بطيء الآن، لكن ليس في الشمعة السابقة)، و -1 للانتقال الهبوطي المتماثل، و 0 خلاف ذلك. تحظر CheckFilters() الشمعة إذا تجاوز السبريد MaxSpreadPips = 25، وتحظر CountPositions() إذا كانت أي صفقة برقم EX07005 السحري مفتوحة بالفعل. عندما تنجح إشارة، تحسب OpenPosition() وقف الخسارة كأوسع من مسافة المتوسط البطيء / 15 نقطة / 1.5× الحد الأدنى للوسيط، وتضبط جني الأرباح عند ضعف تلك المسافة، وتستدعي CalculatePositionSize() لتحجيم اللوت عند RiskPercent = 2% من الرصيد.
يُفعَّل الإعداد الصاعد على شمعة M15 التي تصطف فيها المتوسطات 5/10/20 EMA صعودياً (سريع > متوسط > بطيء) لأول مرة بعد شمعة سابقة غير محاذية؛ والإعداد الهابط هو الانتقال الهبوطي المتماثل. تشترط GetTripleEMASignal() تغيير حالة حقيقي — الشموع التي يكون فيها الترتيب الصارم قائماً بالفعل لا تنتج إشارة.
تحدث المخارج حصرياً عند وقف الخسارة الثابت أو جني الأرباح للأمر. لا يوجد trailing stop، ولا قفل كسر-تعادل، ولا إغلاق جزئي، ولا خروج بإشارة معاكسة، ولا إيقاف زمني في المصدر. SafePositionModify() موجودة لكن لا تُستدعى بعد الدخول؛ يبقى وقف الخسارة وجني الأرباح المضبوط عند فتح الأمر ثابتاً طوال عمر الصفقة.
وقف الخسارة هو الأوسع بين (أ) مسافة سعر المتوسط البطيء، (ب) الحد الأدنى 15 نقطة من StopLossPips، (ج) 1.5× الحد الأدنى لمسافة الإيقاف لدى الوسيط، لذا فإن المتوسط البطيء يرسو الإيقاف فعلياً على معظم شموع XAUUSD. لا يوجد حارس أرضية حقوق ملكية عالمي، ولا سقف خسارة يومية، ولا قاطع أقصى تراجع في المصدر.
يُضبط جني الأرباح عند ضعف مسافة وقف الخسارة المختارة بالضبط من الدخول، مما يعطي نسبة مخاطرة إلى عائد 1:2 صارمة على كل صفقة. جني الأرباح ثابت عند فتح الأمر ولا يتم سحبه أو نقله بواسطة Expert Advisor أبداً.
الأنسب لـ XAUUSD على الإطار M15 برصيد أدنى 100$ وتحمل مخاطرة MEDIUM. مخاطرة 2% الافتراضية لكل صفقة عدوانية لـ Expert Advisor بأسلوب scalping، لذا فإن رصيد 500$+ مع خفض RiskPercent إلى 0.5-1.0 أكثر تحفظاً. يتطلب وسيطاً يسمح بـ Expert Advisors بوضع تعبئة من مجموعة FOK / IOC / RETURN ويستطيع تكريم مسافات إيقاف ضيقة على الذهب (يجب أن يبقى سبريد XAUUSD النموذجي تحت 25 نقطة معظم الوقت).
منطق الاستراتيجية
Pipsgrowth EX07005 MA — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: MA
الماجيك: 22207005
الإصدار: 2.00
الوصف:
Gold scalping EA using triple EMA alignment for reduced lag trend confirmation. Entry: Fast > Mid > Slow EMA alignment transition = BUY; Fast < Mid < Slow = SELL. ATR-based SL/TP with spread filter. Single position per signal. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
SafePositionModify()RefreshIndicators()GetTripleEMASignal()OpenPosition()CalculatePositionSize()IsNewBar()GetPipSize()CheckFilters()CountPositions()TryClose_EX07005()
// Pipsgrowth EX07005 MA — Execution Flow (from source analysis)
// Family: MA
// Gold scalping EA using triple EMA alignment for reduced lag trend confirmation. Entry: Fast > Mid > Slow EMA alignment transition = BUY; Fast < Mid < Slow = SELL. ATR-based SL/TP with spread filter. Single position per signal. 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 | 22207005 | Magic Number (222 + Expert ID) |
| InpTradeComment | "Psgrowth.com Expert_07005" | Trade Comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX07005 GoldScalper_TripleEMA_LagReduction — Triple EMA alignment for reduced lag, 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 "=== EMA Settings ==="
input int EMA_Fast = 5;
input int EMA_Mid = 10;
input int EMA_Slow = 20;
input group "=== Trade Settings ==="
input int StopLossPips = 15;
input int Slippage = 3;
input int InpMagicNumber = 22207005; // Magic Number (222 + Expert ID)
input string InpTradeComment = "Psgrowth.com Expert_07005"; // Trade Comment
input group "=== Filters ==="
input bool UseSpreadFilter = true;
input double MaxSpreadPips = 25.0;
CTrade trade;
int handleFast, handleMid, handleSlow, handleATR;
datetime lastBarTime = 0;
double emaFast, emaMid, emaSlow;
double prevFast, prevMid, prevSlow;
double 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) ?
SymbolInfoDouble(_Symbol, SYMBOL_BID) :
SymbolInfoDouble(_Symbol, SYMBOL_ASK);
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.