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

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

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

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

نظرة عامة

إكسبيرت Pipsgrowth EX16089 Trend هو نظام قائم على حركة السعر ومذبذب، يدور بالكامل حول نمط انعكاس شموع "خطوط الالتقاء" (Meeting Lines). تقوم دالة CheckPattern() بقراءة آخر شمعتين مكتملتين، وتطلب أن يكون جسم الشمعتين طويلاً في اتجاهين متعاكسين، وأن يكون سعر إغلاقهما متقارباً ضمن عشرة بالمئة من متوسط حجم الجسم لاثنتي عشرة شمعة سابقة. لا يتم الفحص إلا عند افتتاح شمعة جديدة، لذا تعمل بوابة الشمعة الجديدة (next_bar_open) كمؤقّت وحيد للإيكسبيرت داخل OnTick().

تُقارن أطوال الأجسام مع AvgBody(1)، وهو متوسط |Open - Close| لاثنتي عشرة شمعة محسوب على الشمعة الحالية. تمثل فترة الاثنتي عشرة شمعة هذه مدخل InpAverBodyPeriod. إذا كان لون جسم الشمعة الثانية عكس لون الأولى، وكان كلا الجسمين يتجاوز المتوسط الجاري، وكان الفارق بين إغلاقي الشمعتين 1 و 2 أقل من 0.1*AvgBody(1)، يُعتبر النمط انعكاساً من نوع Meeting Lines. يتطلب نمط خطوط الالتقاء الهابطة أن تكون الشمعة 2 شمعة بيضاء طويلة تتبعها شمعة سوداء طويلة في الشمعة 1. أما النمط الصاعد فيتطلب أن تكون الشمعة 2 شمعة سوداء طويلة تتبعها شمعة بيضاء طويلة في الشمعة 1. عند عودة CheckPattern() بقيمة true، يقوم الإيكسبيرت بتفعيل ExtSignalOpen إلى SIGNAL_BUY أو SIGNAL_SELL، ويكتب وصفاً قصيراً للنمط.

النمط وحده لا يكفي. تستعلم دالة CheckConfirmation() بعد ذلك عن قيمة مؤشر RSI(37) عند الشمعة 1، وتلزم أن يكون مؤشر القوة النسبية لإشارة الشراء أقل من 40، أو أعلى من 60 لإشارة البيع. لا تُستدعى PositionOpen() في المرحلة التالية من OnTick() إلا بعد ضبط ExtConfirmed. يستخدم المؤشر سعر الإغلاق افتراضياً (InpPrice = 1 تتحول إلى PRICE_CLOSE عبر دالة MapAppliedPriceInt).

تحديد حجم الصفقة لوت ثابت واحد: InpLot = 0.1. لا توجد نسبة مخاطرة، ولا سقف دولاري للصفقة، ولا سقف يومي، ولا أرضية رصيد، ولا توسيع للمراكز، ولا دالة OnTester(). اللوت الثابت هو المدخل الوحيد لإدارة الأموال الذي يكشفه الكود. تقوم PositionOpen() بتحديث بيانات الرمز عبر CSymbolInfo، وتقرأ Ask/Bid، وتحسب وقف الخسارة وجني الأرباح من InpSL = 200 و InpTP = 200 نقطة، وترسل الأمر عبر CTrade.Buy أو CTrade.Sell مع تحمّل انزلاق قدره 10 نقاط يتم ضبطه في ExtTrade.SetDeviationInPoints.

توجد قطعة واحدة من الأمان المدمج في موجّه الأوامر لا يذكرها الوصف المختصر. إذا كان السبريد الحالي أوسع من InpSL نقطة (أو أوسع من InpTP نقطة)، يرفض الإيكسبيرت وضع وقف على مسافة أضيق من السبريد، ويستبدلها بمسافة تساوي السبريد عند price ± spread. هذا حماية ضد التفعيل الفوري لوقف الخسارة في شموع السبريد الواسع (نموذجي حول الأخبار أو افتتاح الجلسة على XAUUSD)، ويُسجَّل عبر PrintFormat. تنعكس نفس الحماية على جانبي الشراء والبيع، فلا تنهار المسافة الواقية إلى ما دون السبريد الحالي.

تدير مرحلة الخروج كمرحلتين ثالثة ورابعة من OnTick(). تتولى المرحلة الثالثة CloseBySignal، التي تغلق المراكز بناءً على أربعة شروط تقاطع لمؤشر RSI يحسبها CheckCloseSignal(): يُغلق مركز الشراء عندما يكون RSI(2) > 70 و RSI(1) < 70 (خروج من تشبع شرائي)، أو عندما يكون RSI(2) > 30 و RSI(1) < 30 (خروج لفقدان الزخم). يُغلق مركز البيع عندما يكون RSI(2) < 30 و RSI(1) > 30، أو عندما يكون RSI(2) < 70 و RSI(1) > 70. أما المرحلة الرابعة فهي الخروج الزمني: تمشي CloseByTime() على المراكز المفتوحة للرمز والرقم السحري الحاليين، وتستدعي BarsHold() لحساب عدد الشموع منذ فتح المركز، فإذا كان العدد أكبر من أو يساوي InpDuration = 10، تُغلق المركز عبر TryClose_EX16089. يأتي عدّ الشموع من CopyRates، لذا فإن عدم تطابق وقت الخادم مع وقت الشموع في عطلة نهاية الأسبوع يُدار بسلاسة.

تستخدم كل دوال الإغلاق الثلاثة (TryClose_EX16089 و TryClosePartial_EX16089 و TryModify_EX16089) حلقة إعادة محاولة من 3 محاولات مع نوم 200 مللي ثانية عند TRADE_RETCODE_REQUOTE و TRADE_RETCODE_TIMEOUT و TRADE_RETCODE_PRICE_OFF و TRADE_RETCODE_PRICE_CHANGED. تم تعريف TryClosePartial_EX16089 و TryModify_EX16089 في الكود ولكن لم تُستدعَيا من مسار OnTick الفعلي — هما موجودتان لاستخدام مستقبلي أو بقايا إعادة هيكلة. لا تُستدعى TryClose_EX16089 إلا من CloseBySignal و CloseByTime.

يُعلن رأس الكود عن بنية من 12 طبقة (REGIME و SIGNAL و ENTRY و CONFIRM و NO-TRADE و CAPITAL CAP و RISK و SIZING و MANAGE و EXIT و SCALING و OnTester). في الكود الفعلي، تُوصَّل فقط طبقات SIGNAL و ENTRY و CONFIRM و NO-TRADE و EXIT. لا يوجد مصنف نظام سوق، ولا قاطع يومي للأرباح والخسائر، ولا مدخل لسقف رأس المال، ولا مدخل لنسبة المخاطرة، ولا وحدة توسيع مراكز، ولا وقف متحرك، ولا نقل إلى نقطة التعادل، ولا إغلاق جزئي، ولا فلتر جلسة، ولا فلتر أخبار. الإيكسبيرت لا يطبّق OnTester() كذلك، لذا يمكن إعداد جلسات محسّن بصري، لكن الإيكسبيرت لا يستهلك معيار تحسين مخصصاً.

عملياً، يعني هذا أن الإيكسبيرت يداوَل لوتاً ثابتاً قدره 0.1 على كل إشارة Meeting Lines + RSI(37) مؤكدة، ويحتفظ بالمركز لمدة أقصاها 10 شموع، ويخرج عند وقف الخسارة، أو جني الأرباح، أو تقاطع RSI، أو البوابة الزمنية — أيهما يأتي أولاً. المسافة المتماثلة لوقف الخسارة وجني الأرباح البالغة 200 نقطة (نسبة مخاطرة/عائد واحد إلى واحد) تعني أن التوقع طويل الأمد للاستراتيجية يعتمد بشكل شبه كامل على معدل الربح للنمط؛ لا يوجد عائد غير متماثل يعوّض دقة أقل من 50%. مسافة 200 نقطة على XAUUSD تعادل تقريباً 2.0 نقطة سعر، فتكون المخاطرة المعتادة لكل صفقة نحو 20 دولار على لوت 0.1. نافذة الاحتفاظ باثنتي عشرة شمعة على M5 تعادل ساعة من حركة السعر، وعلى H1 تعادل اثنتي عشرة ساعة.

بالنسبة للمتداولين الراغبين في تشغيل هذا الإيكسبيرت على حساب حقيقي، التوقعات الواقعية هي: عدد صغير من الصفقات يومياً على M5، والانضباط في الانزلاق والسبريد مهم لأن مسافة وقف الخسارة وجني الأرباح لا تتجاوز 200 نقطة، وتأخر مؤشر RSI(37) كبير على M5، ولا توجد حماية عالمية للرصيد. لمن يريد شبكة أمان عالمية، يفضَّل إقران هذا الإيكسبيرت بأداة مستقلة لوقف الرصيد، أو بحد خسارة يومي صارم يُفرض على مستوى الحساب. يجب اختبار كاشف النمط رجعياً بافتراضات سبريد واقعية — لأن حماية السبريد في PositionOpen() ستُقلِّص وقف الخسارة الفعلي في بيئات السبريد الواسع، وهذه عادة ميزة، لكنها ستظهر كوقف أضيق في تقرير الاختبار الرجعي.

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

في كل تيك، تدير OnTick() بوابة الشمعة الجديدة (next_bar_open). عند افتتاح شمعة جديدة، تتحقق CheckPattern() من آخر شمعتين مكتملتين ومن AvgBody(1) لاثنتي عشرة شمعة لإثبات انعكاس Meeting Lines؛ وعند النجاح تستعلم CheckConfirmation() عن قيمة RSI(37) عند الشمعة 1، وتلزم أن يكون RSI < 40 للشراء أو RSI > 60 للبيع قبل أن يُعَد النمط مؤكدًا. بعدها ترسل PositionOpen() أمراً بسعر السوق بحجم 0.1 لوت ووقف 200 نقطة وجني أرباح 200 نقطة عبر CTrade، مع العودة إلى مسافة واقية قائمة على السبريد إذا كان السبريد أوسع من الوقف أو جني الأرباح. بعد فتح المركز، تراقب CloseBySignal أربعة تقاطعات لمؤشر RSI(37) بين الشمعة 1 والشمعة 2 (عتبات 70 و 30) للخروج عند فقدان الزخم، كما تُغلق CloseByTime() المركز قسراً بمجرد أن يصل عدّاد BarsHold إلى InpDuration = 10 شموع. يُعلن رأس الكود عن بنية من 12 طبقة، لكن الطبقات المفعَّلة فعلياً في الكود هي SIGNAL و ENTRY و CONFIRM و NO-TRADE و EXIT فقط.

إشارة الدخول

انعكاس Meeting Lines من شمعتين (صاعد أو هابط): شمعة ذات جسم طويل في الشمعة 2 تتبعها مباشرة شمعة ذات جسم طويل بلون معاكس في الشمعة 1، على أن يكون |إغلاق(1) - إغلاق(2)| أقل من 0.1 * AvgBody(1) (متوسط حجم الجسم لاثنتي عشرة شمعة). لا يُعتبر النمط صالحاً إلا عند افتتاح شمعة جديدة، وبعد أن يؤكد مؤشر RSI(37) عند الشمعة 1 الإشارة: RSI < 40 للشراء، أو RSI > 60 للبيع. لا يُسمح بتكديس مراكز من نفس الاتجاه.

إشارة الخروج

أربعة شروط تقاطع لمؤشر RSI(37) بين الشمعة 1 والشمعة 2: إغلاق مركز الشراء عندما يكون RSI(1) < 70 و RSI(2) > 70، أو عندما يكون RSI(1) < 30 و RSI(2) > 30؛ وإغلاق مركز البيع بالشروط المعكوسة. الخروج الزمني: تُغلق CloseByTime() أي مركز مفتوح قسراً بمجرد أن تصل قيمة BarsHold(وقت_الفتح) إلى InpDuration = 10 شموع أو أكثر. إضافة إلى ذلك، يمكن لوقف الخسارة المتماثل 200 نقطة وجني الأرباح 200 نقطة إغلاق الصفقة قبل أي من هذه الإشارات.

وقف الخسارة

وقف خسارة ثابت قدره 200 نقطة (InpSL)، يُثبَّت عند سعر الدخول - InpSL*point لصفقات الشراء، وعند سعر الدخول + InpSL*point لصفقات البيع، عبر CTrade.Buy/CTrade.Sell. توجد حماية من السبريد داخل PositionOpen() تستبدل المسافة الواقية بالسبريد الحالي إذا كان السبريد يساوي أو يتجاوز InpSL نقطة، فلا يقع الوقف داخل السبريد. لا يوجد وقف متحرك، ولا نقل إلى نقطة التعادل، ولا إغلاق جزئي.

جني الأرباح

جني أرباح ثابت قدره 200 نقطة (InpTP)، متماثل مع وقف الخسارة، بنسبة مخاطرة إلى عائد 1:1. تنطبق حماية السبريد نفسها: إذا كان السبريد الحالي يساوي أو يتجاوز InpTP نقطة، يُثبَّت جني الأرباح عند سعر ± spread بدلاً من المسافة المُكوَّنة.

الأنسب لـ

رمز XAUUSD على الإطار M5 (يعمل أيضاً على H1) مع وسيط سبريد منخفض قادر على استيعاب مسافة واقية 200 نقطة دون تفعيل حماية السبريد بشكل متكرر. الحد الأدنى الموصى به للرصيد هو 100 دولار، حيث يتداول الإيكسبيرت لوتاً ثابتاً قدره 0.1 لكل إشارة دون توسيع قائم على نسبة المخاطرة. مناسب للمتداولين الذين يريدون نظاماً شفافاً قائم على حركة السعر ومؤشر RSI(37) دون قواطع عالمية، أو توسيع مراكز، أو وقف متحرك، أو فلاتر أخبار — ويمكن إقرانه بأداة خارجية لوقف الرصيد لمن يحتاج حماية على مستوى الحساب.

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

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

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

الوصف: MeetingLines pattern + RSI confirm, 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 EX16089 Trend — Execution Flow (from source analysis)
// Family: Trend
// MeetingLines pattern + RSI confirm, 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
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
InpMagicNumber22216089Magic Number
InpTradeComment"Psgrowth.com Expert_16089"Trade comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16089.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16089 BullishBearish_MeetingLines_RSI - Meeting Lines pattern + RSI confirm, 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  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)
   {
      case 1: return PRICE_CLOSE;

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

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

الوسوم:ex16089trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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