Pipsgrowth EX16018 Trend — إكسبرت أدفايزر متابعة اتجاه
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX16018 Trend — WPR Trend EA for XAUUSD M5 that uses Williams %R oscillator with an EMA trend filter to enter on oversold/overbought exi. إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX16018 هو مستشار آلي لتتبع الاتجاه على XAUUSD (الذهب) على الإطار الزمني M5، يعمل بمنطق "صفقة واحدة فقط في كل مرة". يعتمد قراره بالكامل على مؤشرَين اثنين: مؤشر ويليامز %R بطول 14 فترة، ومتوسط متحرك أسي (EMA) بطول 50 فترة يُحسب على أسعار الإغلاق. لا توجد طبقة تدرّج، ولا وقف متحرك، ولا نقل إلى نقطة التعادل، ولا إغلاق جزئي، ولا إدارة لمنحنى Equity — يضع EA أمر سوق واحد عند ظهور إشارة، ويترك وقف الخسارة وجني الأرباح لدى الوسيط للقيام بالباقي، ثم ينتظر الشمعة التالية.
كيفية تكوّن الإشارة. عند كل تيكة على M5، يقوم OnTick بتحديث سبريد الرمز ويرفض العمل إذا كان السبريد أوسع من InpMaxSpread = 250 نقطة. بعدها يحرس حارس الشمعة الجديدة (if(lastBar == currentBar) return; بمقارنة iTime(_Symbol, _Period, 0)) بحيث لا تعمل بقية المنطق إلا مرة واحدة عند إغلاق كل شمعة M5، وليس عدة مرات على نفس الشمعة. تنسخ دالة CheckSignal آخر قيمتَين لـ WPR (الشمعتَين 1 و2، أي آخر شمعتَين مغلقتين) وآخر قيمة EMA إلى buffers. إشارة الشراء تتطلب شرطَين معاً: إغلاق الشمعة 1 فوق EMA50، وأن يعبر WPR فوق خط InpWPROS = -80 — أي أن الشمعة السابقة المغلقة كانت WPR <= -80 (تشبع بيعي عميق) والشمعة الأحدث المغلقة WPR > -80. إشارة البيع هي المرآة: إغلاق الشمعة 1 تحت EMA50، وأن يعبر WPR تحت InpWPROB = -20 (الشمعة السابقة >= -20، والحالية < -20). منطق التقاطع هو محرّك الدخول الوحيد — لا يعيد EA الدخول في مركز مفتوح أصلاً. إذا كان PositionsTotal() > 0، تعود CheckSignal فوراً بدون قراءة المؤشرات.
تنفيذ الأوامر. تستدعي OpenBuy trade.Buy بوقف خسارة = Ask - 350 نقطة وجني أرباح = Ask + 700 نقطة (نسبة مخاطرة:عائد 1:2 على الدخول، نقاط ثابتة، غير مرتبطة بـ ATR). تعكس OpenSell ذلك بوقف = Bid + 350 نقطة وجني = Bid - 700 نقطة. يُضبط الرقم السحري globally على 22216018 عبر trade.SetExpertMagicNumber في OnInit، والانزلاق ثابت عند 3 نقاط (InpSlippage)، وتعليق الأمر في كل تعبئة هو السلسلة النصية الحرفية 'Psgrowth.com Expert_16018'. يُجبر نوع التعبئة على FOK في OnInit عبر trade.SetTypeFilling(ORDER_FILLING_FOK) — مما يعني أن الوسيط يجب أن يملأ اللوت كاملاً بالسعر المطلوب أو يرفض الأمر كلياً؛ على حسابات ECN/RAW التي لا يسمح بعض الوسطاء بها، يجب تبديل FOK إلى IOC أو RETURN يدوياً في الكود المصدري.
حجم الصفقة. تأخذ CalculateLotSize(stopLossPoints) رصيد الحساب من CAccountInfo، تضربه في InpRiskPercent = 1.0%، ثم تقسم على مخاطر اللوت المحسوبة كـ stopLossPoints × (tickValue / (tickSize / point)). تُقرّب النتيجة إلى step اللوت للرمز، وتُقصّ إلى نطاق LotsMin/LotsMax لدى الوسيط. إذا ضبط المتداول InpRiskPercent على 0 أو رقم سالب، ترجع الدالة InpFixedLot = 0.01 بدلاً من ذلك — هذا هو مسار اللوت الثابت للحسابات التي لا تنفع فيها المخاطرة بالنسبة المئوية (حسابات السنت، أو حسابات تحديات الشركات الممولة ذات قواعد اللوت الثابت، أو الأرصدة الصغيرة تحت $100).
ما لا يفعله EA عمداً. على الرغم من أن تعليق الترويسة يذكر جميع الطبقات الاثنتي عشرة، فإن مجموعة فرعية فقط هي الموصولة فعلياً في الكود: REGIME (فلتر اتجاه EMA50)، SIGNAL (تقاطع WPR)، ENTRY (الشرط المجمّع)، NO-TRADE (بوابة سبريد 250 نقطة، حارس شمعة جديدة، حد صفقة واحدة)، RISK (وقف خسارة لكل صفقة)، SIZING (CalculateLotSize بمخاطرة 1%)، وEXIT (جني أرباح بنقاط ثابتة يُضبط عند فتح الأمر). CAPITAL CAP، MANAGE (لا وقف متحرك، لا نقطة تعادل، لا خروج زمني)، CONFIRM، SCALING، وOnTester كلها غائبة — يعتمد EA كلياً على SL/TP الثابت لدى الوسيط لإغلاق الصفقات. لا توجد دوال تحقق من الخسارة اليومية، أو التراجع من القمة إلى الحالي، أو إيقافEquity، أو نوافذ الجلسات. لا يوجد معالج OnTradeTransaction، لذا تتبع الحالة القائم على الصفقات (عدادات الخسائر المتتالية، فلاتر الأخبار، مخارج وقت-من-اليوم) ليس في النطاق. مساعدات إعادة المحاولة الثلاث — TryClose_EX16018، TryClosePartial_EX16018، TryModify_EX16018 — معرّفة في أسفل الملف بحلقات 3 محاولات على REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED وفترات Sleep 100-200ms، لكنها لا تُستدعى من OpenBuy أو OpenSell أو CheckSignal. هذه المحاولات كود ميت في هذا البناء، مفيدة فقط كمرجع لتعديلات مستقبلية.
سلوكه على الشارت. لأن EMA يُحسب على PERIOD_CURRENT (إطار M5 الخاص بالشارت) وحارس إغلاق الشمعة يعني أن التقاطع يُقيّم عند أول تيكة بعد افتتاح شمعة M5 جديدة، ستظهر الإشارات في الثوان بعد حدود الدقيقة :00 و:05 و:10 و:15... التقاطع بين-شمعة وليس داخل-الشمعة، لذا فإن شمعة M5 واحدة تدفع WPR من -85 إلى -75 ستنتج إشارة الشراء فقط عند أول تيكة للشمعة التالية. بعد التعبئة، يصمت EA على هذا الرمز حتى يُغلق المركز عند SL أو TP — لا تجميع، لا استرداد مارتينغال، لا إضافة على الرابحين. على ذهب M5، وقف 350 نقطة = مسافة $3.50 (لأن نقطة XAUUSD واحدة = $0.01)، وجني 700 نقطة = مسافة $7.00. سيحجم حساب المخاطرة 1% اللوت بحيث مسافة SL × اللوت × قيمة التيك ≈ 1% من Equity لحظة الدخول.
توقعات عملية. ستبدو اختبارات الـ Backtest أنظف على ذهب M5 الهادئ-إلى-المتّجه، حيث يعطي WPR انعكاسات خروج-من-تشبع-شرائي/بيعي نظيفة عند EMA50. في النطاقات المتذبذبة حيث يتأرجح WPR حول خطوط -80 و-20 بدون انحرافات مستدامة، لن يطلق منطق التقاطع لأنه يتطلب أن تكون WPR للشمعة السابقة قد تجاوزت الحد — هذا فلتر مضاد-للانعكاس الوهمي مدمج، وليس مجرد لمس مستوى. نسبة 1:2 هي الحافة الرئيسية لـ EA: حتى مع معدل فوز أقل من 50%، يمكن للتوقعات أن تظل إيجابية إذا كان فلتر EMA50 يختار فعلاً انعكاسات متّفق-مع-الاتجاه وليس مصائد عكس-الاتجاه. ولأن لا منطق وقف متحرك، فإن صفقة تصل +500 نقطة ثم تنعكس ستُغلق عند TP الأصلي +700 نقطة، وليس عند وقف مُحكم — يلتقط EA الهدف الثابت بالكامل عندما يستمر الاتجاه، لكنه لا يقفل أرباحاً تدريجية على الطريق.
ما يتحكم به المتداول. اثنا عشر إدخالاً عبر ثلاث مجموعات. الاستراتيجية: فترة WPR (افتراضي 14)، فترة EMA (افتراضي 50)، مستوى التشبع الشرائي (افتراضي -20.0)، مستوى التشبع البيعي (افتراضي -80.0). إدارة المال: نسبة المخاطرة (افتراضي 1.0%)، اللوت الثابت الاحتياطي (افتراضي 0.01)، وقف الخسارة بالنقاط (افتراضي 350)، جني الأرباح بالنقاط (افتراضي 700). إدارة الصفقة: الرقم السحري (افتراضي 22216018)، تعليق الأمر (افتراضي 'Psgrowth.com Expert_16018')، الحد الأقصى للسبريد بالنقاط (افتراضي 250)، الانزلاق بالنقاط (افتراضي 3). لا يوجد إدخال لفلتر الوقت، أو فلتر الأخبار، أو فلتر يوم-الأسبوع، أو إغلاق المركز في عطلة نهاية الأسبوع، أو إيقاف Equity، أو إغلاق جزئي — تلك تتطلب تعديلاً في الكود المصدري.
تفاصيل الاستراتيجية
في كل تيكة، يُحدّث OnTick أسعار الرمز ويرفض التيك إذا تجاوز السبريد 250 نقطة؛ ثم يضمن حارس الشمعة الجديدة أن بقية الحلقة تعمل مرة واحدة فقط عند إغلاق كل M5. تعود CheckSignal فوراً إذا كان أي مركز مفتوحاً، وإلا تنسخ قيمتَي WPR وقيمة EMA واحدة في buffers وتبحث عن تقاطع — شراء إذا السعر > EMA50 وWPR يعبر صعوداً عبر -80، بيع إذا السعر < EMA50 وWPR يعبر نزولاً عبر -20. يستدعى الاتجاه المطابق OpenBuy أو OpenSell، اللذان يحسبان حجم اللوت عبر CalculateLotSize (1% من الرصيد مقسوماً على مخاطر اللوت، أو لوت ثابت 0.01 احتياطي إذا ضُبطت المخاطرة على صفر) ويُطلقان trade.Buy / trade.Sell مع وقف 350 نقطة وجني 700 نقطة مُرفقَين بالأمر. يُترك الأمر للوسيط؛ لا شيء في مسار الكود التنفيذي يُعدّل، أو يتبع، أو يُغلق جزئياً للمركز بعد فتحه.
إشارة الشراء تُفعّل عندما يكون إغلاق الشمعة 1 فوق المتوسط المتحرك الأسي لـ 50 فترة، ويعبر Williams %R(14) من تحت -80 إلى فوق -80 (تقاطع الخروج من التشبع البيعي) عند إغلاق آخر شمعة M5. إشارة البيع هي المرآة: إغلاق الشمعة 1 تحت EMA50، ويعبر WPR(14) من فوق -20 إلى تحت -20 (تقاطع الخروج من التشبع الشرائي). يتطلب الاتجاهان التقاطع تحديداً — الشمعة الواحدة التي تجلس ببساطة خلف الحد بدون عبور لا تُفعّل الإشارة.
تخرج المراكز فقط عبر وقف الخسارة لدى الوسيط عند 350 نقطة أو جني الأرباح عند 700 نقطة يُضبطان عند فتح الأمر — لا يوجد وقف متحرك، ولا نقطة تعادل، ولا إغلاق جزئي، ولا خروج زمني، ولا إغلاق عند انعكاس الإشارة. حارس الشمعة الجديدة يعني أن EA لا يُعيد تقييم مركز لا يزال مفتوحاً؛ يبقى الأمر دون مساس حتى يملأه SL أو TP. مساعدات TryClose/TryClosePartial/TryModify الثلاث معرّفة في المصدر لكنها لا تُستدعى من أي مسار كود تنفيذي.
وقف خسارة ثابت 350 نقطة على كل دخول، يُحسب كـ Ask - 350Point للشراء وBid + 350Point للبيع، ثم يُرسل إلى الوسيط عند فتح الأمر. على XAUUSD حيث النقطة = $0.01، يساوي ذلك مسافة وقف $3.50. لا يوجد منطق وقف متحرك أو نقطة تعادل لكل صفقة في الكود.
جني أرباح ثابت 700 نقطة على كل دخول، يُحسب كـ Ask + 700Point للشراء وBid - 700Point للبيع — نسبة مخاطرة:عائد 1:2 مقابل وقف الـ 350 نقطة. يُضبط جني الأرباح على الأمر نفسه، ولا يُدار على-تيكة، فلا يُحكم تدريجياً ولا يُغلق جزئياً.
متداولو XAUUSD M5 الذين يديرون حساب ذهب ECN/RAW-سبريد برصيد أدنى $100، ويريدون راكب-اتجاه صفقة-واحدة-لكل-رمز يجمع مؤشر Williams %R بـ 14 فترة مع فلتر اتجاه EMA بـ 50 فترة ونسبة مخاطرة:عائد ثابتة 1:2 (وقف 35 نقطة / جني 70 نقطة على الذهب). الأنسب لجلسات M5 الهادئة-إلى-المتّجهة حيث يعطي WPR انعكاسات خروج-من-تشبع نظيفة عند EMA50؛ الحد الأقصى للسبريد 250 نقطة (≈25 نقطة على الذهب) بالإضافة إلى تعبئة FOK-فقط يجعلانه غير ملائم للحسابات ذات فروقات الأسعار المرتفعة أو الوسطاء الذين لا يدعمون FOK على XAUUSD. مستوى المخاطرة الموصى به: MEDIUM.
منطق الاستراتيجية
Pipsgrowth EX16018 Trend — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: Trend
الماجيك: 22216018
الإصدار: 2.00
الوصف:
WPR Trend EA for XAUUSD M5 that uses Williams %R oscillator with an EMA trend filter to enter on oversold/overbought exits in the direction of the trend, with fixed SL/TP and risk-based position sizing. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CheckSignal()OpenBuy()OpenSell()CalculateLotSize()TryClose_EX16018()TryClosePartial_EX16018()TryModify_EX16018()
// Pipsgrowth EX16018 Trend — Execution Flow (from source analysis)
// Family: Trend
// WPR Trend EA for XAUUSD M5 that uses Williams %R oscillator with an EMA trend filter to enter on oversold/overbought exits in the direction of the trend, with fixed SL/TP and risk-based position sizing. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| InpWPRPeriod | 14 | Williams %R Period |
| InpEMAPeriod | 50 | EMA Trend Filter |
| InpWPROB | -20.0 | Overbought Level |
| InpWPROS | -80.0 | Oversold Level |
| InpRiskPercent | 1.0 | Risk Percent per Trade |
| InpFixedLot | 0.01 | Fixed Lot (if Risk=0) |
| InpStopLoss | 350 | Stop Loss (points) |
| InpTakeProfit | 700 | Take Profit (points) |
| InpMagicNumber | 22216018 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_16018" | Trade Comment |
| InpMaxSpread | 250 | Max Spread (points) |
| InpSlippage | 3 | Slippage |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX16018 WPRTrend_XAUUSD_5M — WPR trend rider for Gold M5, 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 "=== Strategy Parameters ==="
input int InpWPRPeriod = 14; // Williams %R Period
input int InpEMAPeriod = 50; // EMA Trend Filter
input double InpWPROB = -20.0; // Overbought Level
input double InpWPROS = -80.0; // Oversold Level
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 = 350; // Stop Loss (points)
input int InpTakeProfit = 700; // Take Profit (points)
input group "=== Trade Management ==="
input int InpMagicNumber = 22216018; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_16018"; // Trade Comment
input int InpMaxSpread = 250; // Max Spread (points)
input int InpSlippage = 3; // Slippage
//--- Handles
int hWPR;
int hMA;
//--- Global Buffers
double bufWPR[];
double bufMA[];
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
trade.SetExpertMagicNumber(InpMagicNumber);
trade.SetDeviationInPoints(InpSlippage);
trade.SetTypeFilling(ORDER_FILLING_FOK);
hWPR = iWPR(_Symbol, _Period, InpWPRPeriod);
hMA = iMA(_Symbol, _Period, InpEMAPeriod, 0, MODE_EMA, PRICE_CLOSE);
if(hWPR == INVALID_HANDLE || hMA == INVALID_HANDLE)
return(INIT_FAILED);
return(INIT_SUCCEEDED);
}
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.