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

Pipsgrowth EX16026 Trend — إكسبرت أدفايزر متابعة اتجاه

إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5، H1

Pipsgrowth EX16026 Trend — Engulfing pattern + RSI confirm, MA trend, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, R. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

يبني Pipsgrowth EX16026 على نفس الهيكل العظمي لعائلتي EX16024 (CCI) وEX16025 (MFI)، حيث يستخدم نموذج الابتلاع الشرائي والبيعي المكوّن من شمعتين، مع متوسط متحرك بسيط لمدة خمس فترات كفلتر اتجاهي، وعتبة متوسط جسم الشمعة على مدى اثني عشر باراً. لكن EX16026 يستبدل مؤشر التأكيد بمؤشر RSI لمدة 37 فترة، ولا يقبل الإشارة الشرائية إلا إذا كان RSI(1) تحت 40، ولا يقبل الإشارة البيعية إلا إذا كان RSI(1) فوق 60. نافذة الـ 37 فترة تعادل نحو ثلاث ساعات من بيانات الإطار الزمني M5، وهي أبطأ عمداً من إعداد RSI القياسي عند 14 فترة، ليقرأ المؤشر التراكم السعري بدل أحدث شمعة فقط. وباعتباره مؤشر زخم سعري صرف بمقياس ثابت من 0 إلى 100، يحتل RSI(37) موقعاً مختلفاً في العائلة: CCI(37) في EX16024 قراءة انحراف سعري غير محدودة، وMFI(37) في EX16025 يزن السعر بحجم التداول، بينما يقرأ RSI(37) في EX16026 زخم الربح مقابل الخسارة الصافي دون عامل الحجم. يمكن نشر الثلاثة على نفس مخطط XAUUSD M5 بأرقام سحرية فريدة، ليصوّتوا ضد بعضهم البعض كقراءة انعكاس جماعية.

يقع التعرف على النموذج في CheckPattern وله خمسة شروط لكل اتجاه. يتطلب الابتلاع الشرائي أن يكون Open(2) > Close(2) أي أن الشمعة السابقة هابطة، وأن يكون Close(1) - Open(1) > AvgBody(1) أي أن الجسم الشرائي الأخير يتجاوز متوسط الاثني عشر باراً، وأن يكون Close(1) > Open(2) أي أن إغلاق الشمعة الأخيرة فوق افتتاح السابقة (وهذا هو فعل الابتلاع)، وأن يكون MidOpenClose(2) < CloseAvg(2) أي أن منتصف الشمعة السابقة تحت المتوسط لمدة 5 (سياق اتجاه هابط قصير المدى)، وأن يكون Open(1) < Close(2) أي أن افتتاح الشمعة الأخيرة تحت إغلاق السابقة. الابتلاع البيعي يعكس هذه الشروط الخمسة. الدالة MidOpenClose ترجع (Open + Close) / 2، وCloseAvg تقرأ CopyBuffer من ExtTrendMAHandle الذي يُنشأ في OnInit عبر iMA(5, MODE_SMA, PRICE_CLOSE). فلتر المتوسط لمدة 5 هو العامل الوحيد الذي يحوّل الهندسة إلى رهان اتجاهي: بدون سياق الاتجاه، ستؤهل كل وقفة ضد الاتجاه كإشارة انعكاس.

تقرأ CheckConfirmation قيمة RSI من ExtIndicatorHandle، وهو iRSI(_Symbol, _Period, 37, g_InpPrice) المُنشأ في OnInit. لا يُطلق الابتلاع الشرائي إلا إذا كانت الإشارة تحت 40، ولا يُطلق الابتلاع البيعي إلا إذا كانت فوق 60. تقع العتبات داخل نطقي تشبع الشراء والبيع التقليديين 30 و70، ويعكس اختيار 40 و60 تفضيل العائلة لفقدان الزخم دون اشتراط تثبيت المؤشر عند القمة أو القاع. لا تزال رسالة الخطأ في OnInit تقول "Error creating CCI indicator" رغم أن الاستدعاء لـ iRSI — وهو خطأ نسخ من قالب CCI بقي في الكود.

تُقيّم CheckCloseSignal تقاطعاً من أربع حالات لمؤشر RSI بين البار 1 والبار 2. يُغلق المركز الطويل إذا نزل RSI(1) تحت 70 بينما كان RSI(2) فوق 70 (ارتداد من تشبع الشراء)، أو إذا نزل RSI(1) تحت 30 بينما كان RSI(2) فوق 30 (ارتداد من تشبع البيع مع بقاء مركز طويل مفتوح). يعكس الفرع القصير النطاقات. نطاق التقاطع 30/70 أوسع بخطوة واحدة من نطاق التأكيد 40/60، فيعمل المؤشر نفسه كتأكيد عند 40/60 وكخروج عند 30/70 ضمن نافذة 37 فترة نفسها. يضيف CloseByTime خروجاً قسرياً عند 10 بارات عبر BarsHold الذي يعد البارات في المركز باستخدام CopyRates بين وقت الفتح وTimeCurrent. المسار الثالث للخروج هو وقف الخسارة الثابت 200 نقطة وجني الأرباح الثابت 200 نقطة المرفقين عند الفتح — نسبة مخاطرة إلى عائد 1:1 دون أي منطق trailing أو رatchet لنقطة التعادل أو تكبير.

يطبق PositionOpen حماية تجاوز السبريد على كل من الوقف والهدف. للشراء، إذا كان السبريد الحالي أكبر من أو يساوي InpSL بالنقاط، ينهار الوقف إلى سعر ناقص سبريد؛ وإذا كان السبريد عند أو فوق InpTP بالنقاط، ينهار الهدف إلى سعر زائد سبريد. يعكس فرع البيع المنطق بقلب الإشارات. تطبع الحماية في السجل بالصيغة "StopLoss (200 points) <= current spread = X points. Spread value will be used". تمنع الحماية الوسيط من رفض الأمر عندما يكون السبريد أوسع من المسافة الثابتة للوقف، لكنها تعني أن تكة بسبريد مرتفع قد تحوّل وقف 200 نقطة إلى وقف بمقدار السبريد فقط.

لدى OnTick أربع مراحل، مُقيّدة بنقطة ارتكاز datetime ثابتة اسمها next_bar_open. المرحلة 1 تشغّل CheckState فقط عندما تتجاوز ساعة الحائط حدود البار التالي، وCheckState يربط CheckPattern ثم CheckConfirmation ثم CheckCloseSignal في سلسلة. المرحلة 2 ترسل أمر سوق عبر ExtTrade.Buy أو ExtTrade.Sell فقط عند وجود إشارة وعدم وجود مركز في ذلك الاتجاه (ترجع PositionExist قيمة false). المرحلة 3 تغلق على فرع إغلاق الإشارة وتستدعي TryClose_EX16026، وهو مساعد إعادة محاولة يحاول حتى ثلاث إغلاقات مع Sleep لمدة 200ms عند رموز TRADE_RETCODE_REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED. المرحلة 4 تغلق بناء على انتهاء الوقت عندما ترجع PositionExpiredByTimeExist قيمة true. الدالتان TryClosePartial_EX16026 وTryModify_EX16026 معرّفتان لكن لم تُستدعيا من أي من المراحل الأربع — هما شقيقتان ميتتان من TryClose الفعّال.

عند قراءة ادعاء الاثني عشر طبقة في رأس الكود بصدق مقابل الكود الفعلي، تسع من الاثني عشر طبقة مُفعّلة: REGIME (فلتر المتوسط لـ 5)، SIGNAL (الابتلاع المكوّن من شمعتين)، ENTRY (أمر السوق)، CONFIRM (RSI 40/60)، NO-TRADE (حارس البار الجديد بالإضافة إلى وقف الوقت عند 10 بارات)، RISK (وقف 200 نقطة مع تجاوز السبريد)، SIZING (حجم ثابت 0.10MANAGE (مساعد TryClose_EX16026)، وEXIT (تقاطع إغلاق RSI مع وقف الوقت مع SL/TP الثابت). CAPITAL CAP ليس سقف درون-داون على مستوى الحساب — يعتمد الـ EA على حجم اللوت لكل صفرة ووقف 200 نقطة للتحكم في التعرض. SCALING غير مُفعّل: لا تكديس، لا مارتينغل، لا شبكة. OnTester غير موجود في الكود. ادعاء الرأس كريم بطبقة على جانب الائتمان.

ثمة تفصيلات في ملف المصدر تستحق الذكر. MapAppliedPriceInt معرّف ثلاث مرات في .mq5 (السطور 37-50 و58-71 و78-91)، مع g_InpPrice المُعلن ثلاث مرات للمطابقة (السطور 51 و72 و92). النسخ الثلاث متطابقة فيُترجم التكرار بنجاح وتكون النسخة الثالثة هي النشطة وقت التشغيل، لكن الملف يكرر نفس عمل البحث ثلاث مرات. يُحرر OnDeinit ExtIndicatorHandle فقط وينسى ExtTrendMAHandle، فيتسرّب مقبض المتوسط عند إلغاء تحميل الـ EA. مقبضا RSI والمتوسط هما مقبضا المؤشرات الأصليان الوحيدان في الملف. الرقم السحري 22216026، الانزلاق 10 نقاط، اللوت 0.10، ونص تعليق الأمر هو "Psgrowth.com Expert_16026".

للنشر، يتوقع EX16026 بيئة سبريد منخفض حيث تقع حسابات SL/TP عند 200 نقطة داخل سبرد M5 نموذجي تحت 30 نقطة على XAUUSD، وهو ما تفترضه حماية تجاوز السبريد. يعني اللوت الثابت 0.10 مع وقف 200 نقطة مخاطرة 20 دولار لكل مركز على حساب 100 دولار، لذا فإن 100 دولار كحد أدنى ممكن حسابياً لكن 500 دولار كاحتياطي أكثر راحة لتجاوز سلسلة من الوقوفات. لا توجد فلتر جلسة والاستراتيجية تتداول 24/5 خلال ساعات الرمز — لا يوجد حد خسارة يومي، لا وقف حقوق ملكية، لا سقف درون-داون أقصى. أفضل استخدام هو إما كتدفق انعكاس مستقل على XAUUSD M5، أو كطرف ثالث في نشر متوازٍ مع EX16024 (CCI) وEX16025 (MFI) على نفس المخطط لتصويت انعكاس جماعي عبر المؤشرات الثلاثة.

تفاصيل الاستراتيجية

عند كل بار جديد، تحرّك نقطة ارتكاز datetime الثابتة next_bar_open المرحلة 1 من مسار OnTick، حيث يربط CheckState بين CheckPattern وCheckConfirmation وCheckCloseSignal. يقرأ CheckPattern قيم Open(1) وOpen(2) وClose(1) وClose(2) وAvgBody لمدة 12 باراً لاختبار هندسة الابتلاع المكوّنة من شمعتين مع فلتر سياق الاتجاه بالمتوسط لـ 5، حيث يجب أن يقع MidOpenClose(2) على الجانب الصحيح من CloseAvg(2). ثم يقرأ CheckConfirmation قيمة RSI(1) من مقبض iRSI(37) ولا يؤكد إلا عندما يكون المؤشر تحت 40 (للشراء) أو فوق 60 (للبيع). يقيّم CheckCloseSignal بشكل مستقل تقاطع RSI من أربع حالات على البار 1 مقابل البار 2 عند نطاقي 30/70. تفتح المرحلتان 2 و3 وتغلقان عند التكة التالية بعد الإشارة، وتغلق المرحلة 4 قسرياً أي مركز وصل عداد BarsHold لديه إلى InpDuration = 10. يُنشأ مقبضا المؤشر الأصليان — iRSI(37) وiMA(5, MODE_SMA, PRICE_CLOSE) — في OnInit، مع إطلاق OnDeinit لمقبض RSI فقط وترك مقبض المتوسط يتسرّب.

إشارة الدخول

يُطلق الابتلاع الشرائي أو البيعي المكوّن من شمعتين عندما تكون الشمعة السابقة بلون معاكس، ويتجاوز جسم الشمعة الأخيرة متوسط الاثني عشر باراً، ويقع MidOpenClose(2) على الجانب الصحيح من فلتر المتوسط لـ 5. يؤكد مؤشر RSI لمدة 37 فترة الاتجاه: الإعدادات الشرائية تتطلب RSI(1) تحت 40، والبيعية تتطلب RSI(1) فوق 60. يُرسل أمر السوق عند أول تكة بعد اكتشاف البار الجديد.

إشارة الخروج

تُغلق المراكز على ثلاث محفزات: تقاطع RSI من أربع حالات حيث يرتد المؤشر من نطاق 30 أو 70 (البار 1 مقابل البار 2)، ووقف وقت قسري عند 10 بارات M5 عبر CloseByTime وBarsHold، وقف خسارة ثابت 200 نقطة وجني أرباح ثابت 200 نقطة. يستدعي CloseBySignal وCloseByTime معاً الدالة TryClose_EX16026 التي تعيد محاولة حتى ثلاث إغلاقات مع Sleep لمدة 200ms عند رموز REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED.

وقف الخسارة

وقف الخسارة لكل صفرة ثابت عند 200 نقطة مع حماية تجاوز السبريد في PositionOpen تُطوي الوقف إلى سعر ناقص سبريد (للشراء) أو سعر زائد سبريد (للبيع) عندما يكون السبريد أوسع من مسافة الوقف. لا يوجد وقف trailing، لا نقطة تعادل، لا سقف درون-داون على مستوى الحساب.

جني الأرباح

جني الأرباح لكل صفرة ثابت عند 200 نقطة مع حماية تجاوز السبريد نفسها التي تطوي الهدف إلى سعر زائد سبريد (للشراء) أو سعر ناقص سبريد (للبيع) عندما يكون السبريد أوسع من مسافة الهدف. مع وقف 200 نقطة، يكون هذا قوس نسبة مخاطرة إلى عائد 1:1.

الأنسب لـ

XAUUSD على الإطار M5 (H1 كبديل موثّق) مع حساب ECN أو RAW بسبريد منخفض. يفترض قوس نسبة المخاطرة إلى العائد 1:1 عند 200/200 وحماية تجاوز السبريد أن سبريد M5 النموذجي على XAUUSD تحت 30 نقطة. الحد الأدنى للإيداع 100 دولار، مع 500 دولار كاحتياطي أكثر راحة لتجاوز سلسلة من الوقوفات عند 200 نقطة على اللوت الثابت 0.10. مستوى المخاطرة متوسط. الأفضل إما كتدفق انعكاس مستقل على XAUUSD M5، أو كطرف ثالث في نشر متوازٍ مع EX16024 (CCI) وEX16025 (MFI) على نفس المخطط لتصويت جماعي عبر المؤشرات الثلاثة.

منطق الاستراتيجية

Pipsgrowth EX16026 Trend — تحليل منطق الاستراتيجية (من كود .mq5)

العائلة: Trend الماجيك: 22216026 الإصدار: 2.00

الوصف: Engulfing pattern + RSI confirm, MA trend, time exit 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

  • مؤشرات قياسية

الدوال الرئيسية:

  • CheckState()
  • PositionOpen()
  • CloseBySignal()
  • CloseByTime()
  • PositionExist()
  • PositionExpiredByTimeExist()
  • BarsHold()
  • Open()
  • Close()
  • Low()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16026 Trend — Execution Flow (from source analysis)
// Family: Trend
// Engulfing pattern + RSI confirm, MA trend, time exit 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
الأطر الزمنية المُحسّنة:
M5H1

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
InpAverBodyPeriod12period for calculating average candlestick size
InpMAPeriod5Trend MA period
InpPeriodRSI37RSI period
InpPrice1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // price type
InpDuration10position holding time in bars
InpSL200Stop Loss in points
InpTP200Take Profit in points
InpSlippage10slippage in points
InpLot0.1lot
InpMagicNumber22216026Magic Number
InpTradeComment"Psgrowth.com Expert_16026"Trade comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16026.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16026 BullishBearish_Engulfing_RSI - Engulfing pattern + RSI confirm + MA trend filter, full 12-layer stack."
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>

#define SIGNAL_BUY    1             // Buy signal
#define SIGNAL_NOT    0             // no trading signal
#define SIGNAL_SELL  -1             // Sell signal

#define CLOSE_LONG    2             // signal to close Long
#define CLOSE_SHORT  -2             // signal to close Short

ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}
ENUM_APPLIED_PRICE g_InpPrice = PRICE_CLOSE;
input group "=== Pattern Parameters ==="
input int  InpAverBodyPeriod=12;    // period for calculating average candlestick size
input int  InpMAPeriod      =5;     // Trend MA period
input int  InpPeriodRSI     =37;    // RSI period
input int InpPrice = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)    // price type

ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {
      case 1: return PRICE_CLOSE;
      case 2: return PRICE_OPEN;
      case 3: return PRICE_HIGH;
      case 4: return PRICE_LOW;
      case 5: return PRICE_MEDIAN;
      case 6: return PRICE_TYPICAL;
      case 7: return PRICE_WEIGHTED;
      default: return PRICE_CLOSE;
   }
}
ENUM_APPLIED_PRICE g_InpPrice = PRICE_CLOSE;
input group "=== Trade Parameters ==="
input uint InpDuration=10;          // position holding time in bars
input uint InpSL      =200;         // Stop Loss in points
input uint InpTP      =200;         // Take Profit in points
input uint InpSlippage=10;          // slippage in points
ENUM_APPLIED_PRICE MapAppliedPriceInt(int ap)
{
   switch(ap)
   {

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

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

الوسوم:ex16026trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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