P
PipsGrowth
متابعة الاتجاهمفتوح المصدر - مجاني

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 (فلتر اتجاه EMA50SIGNAL (تقاطع WPRENTRY (الشرط المجمّع)، 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()
الرمز الزائف (Pseudocode)
// 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)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
XAUUSD
الأطر الزمنية المُحسّنة:
M5

كيفية تثبيت الإكسبرت على MT5

  1. 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
  2. 2افتح برنامج MetaTrader 5 على حاسوبك
  3. 3من القائمة العلوية اختر File → Open Data Folder
  4. 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
  5. 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
  6. 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
  7. 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
  8. 8فعّل Allow Algo Trading واضغط OK

معاملات الإكسبرت

المعاملالافتراضيالوصف
InpWPRPeriod14Williams %R Period
InpEMAPeriod50EMA Trend Filter
InpWPROB-20.0Overbought Level
InpWPROS-80.0Oversold Level
InpRiskPercent1.0Risk Percent per Trade
InpFixedLot0.01Fixed Lot (if Risk=0)
InpStopLoss350Stop Loss (points)
InpTakeProfit700Take Profit (points)
InpMagicNumber22216018Magic Number
InpTradeComment"Psgrowth.com Expert_16018"Trade Comment
InpMaxSpread250Max Spread (points)
InpSlippage3Slippage
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16018.mq5
#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);
  }

الكود المصدري الكامل متاح عند التحميل

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

الوسوم:ex16018trendpipsgrowthfreemt5xauusd

تحذير صريح: لأغراض تعليمية فقط

تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.

وسطاء موصى بهم لهذا الإكسبرت

هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض

مجتمع المستخدمين

سجّل دخولك للمشاركةتسجيل الدخول

لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.

اسم الملفPipsgrowth_com_EX16018.mq5
حجم الملف9.1 KB
الإصدارv2.00
PlatformMetaTrader 5
نوع الملف.mq5 Source
الاستراتيجيةمتابعة الاتجاه
المخاطرةمخاطرة متوسطة
الأطر الزمنية
M5
أزواج العملات
XAUUSD
الحد الأدنى للإيداع$100