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

Pipsgrowth EX18101 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX18101 TrendFollow — RSI scalping EA that buys when RSI crosses up from oversold and sells when RSI crosses down from overbought. Exits when . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX18101 هو مستشار آلي للتداول يعتمد على مؤشر واحد فقط هو RSI، ويعمل بالكامل ضمن نطاق ضيق يقع بين 57 و71. تتميز هذه النسخة بأن تسميات المدخلين الخاصين بالعتبة معكوسة مقارنة بالعرف السائد: فالمتغير المسمى RSI_Oversold قيمته 57 ويعمل كمحفز لدخول صفقات الشراء، بينما المتغير المسمى RSI_Overbought قيمته 71 ويعمل كمحفز لدخول صفقات البيع. النتيجة هي نطاق بعرض 14 نقطة فقط يقع فوق خط المنتصف، وكلا العتبتين أعلى بكثير من مستويي 30 و70 التقليديين. يراقب المستشار آخر شمعتين مغلقتين لمؤشر RSI(14) ولا يطلق إشارة إلا عند التقاطع الفعلي: الشراء يتطلب شمعة قبل شمعتين عند 57 أو أقل والشمعة السابقة فوق 57، والبيع يتطلب شمعة قبل شمعتين عند 71 أو أكثر والشمعة السابقة تحت 71. هذا نمط استمرار زخم على جانب الشراء (RSI يغادر المنطقة الوسطى العليا) ونمط استنفاد زخم على جانب البيع (RSI يسقط من المنطقة العليا) — كلتا النافذتين ضيقتان، لذلك ينتج المستشار إشارات قليلة نسبياً في كل جلسة.

تتبع المخارج نفس المنطق من الداخل إلى الخارج. تُغلق صفقات الشراء بطريقتين. الأولى هي الخروج عند الهدف: عندما تنشر الشمعة الحالية قيمة RSI عند 80 أو أعلى، يخرج المستشار، لأن الشراء يكون قد عاد فعلياً إلى منطقة ذروة الشراء. والثانية هي مهلة Bars-against: كل شمعة مغلقة تنشر RSI تحت 57 تزيد العداد، وعندما يصل العداد إلى BarsToWait=4 يغلق المستشار الصفقة. العداد متسامح: أي شمعة تنشر RSI عند 57 أو أعلى تعيد تصفيره إلى الصفر، لذلك لا يعمل المؤقت إلا على حركة مستمرة ضد الصفقة. تعكس صفقات البيع هذا بمنطق 71 و57 — إما الخروج على انخفاض RSI إلى 57 أو أقل (سحب كافٍ لجمع الأرباح) أو على 4 شموع مغلقة متتالية بنشر RSI فوق 71.

لا يوجد وقف خسارة وقائي عند الدخول ولا جني أرباح. يتم بناء كائن trade بـ trade.Buy(LotSize, _Symbol, ask, 0, 0, InpTradeComment) و trade.Sell(LotSize, _Symbol, bid, 0, 0, InpTradeComment) — كلاهما يمرر 0 لـ SL و0 لـ TP، لذا المخارج الوحيدة هي منطق RSI في CheckExistingPosition(). هذا يجعل ملف المخاطر للمستشار يعتمد كلياً على مدى تحرك السعر ضد الصفقة قبل أن يتحرك RSI بالقدر الكافي لإحصاء 4 شموع مغلقة متتالية. في الاتجاهات القوية التي يتطور فيها السعر بينما يبقى RSI في النطاق، يمكن أن تتراكم خسارة عائمة كبيرة قبل أن يعمل مؤقت Bars-against. لا يطبق المستشار حدود أرضية لل equity أو كاسرات الانخفاض أو قيود استخدام الهامش — بمجرد فتح الصفقة، الشيء الوحيد الذي يغلقها هو منطق RSI أو تدخل يدوي.

تحديد حجم الصفقة ثابت: LotSize=0.1 لوت لكل دخول، بدون حساب نسبة المخاطرة، وبدون تحديد حجم قائم على الهامش، وبدون تدرج. يحمل المستشار صفقة واحدة في كل وقت (متتبع عبر المتغير المنطقي position_open ورقم تذكرة مخزن)، لذا الإشارات المتتالية على نفس الشمعة أو الشمعة التالية لا يتم تكديسها — الإشارة الثانية تنتظر ببساطة إغلاق الأولى. لا يوجد مارتينجال، ولا شبكة، ولا متوسط نحو الصفقات الخاسرة. يتم تكوين كائن CTrade مرة واحدة في OnInit() بـ SetDeviationInPoints(3) و SetTypeFilling(ORDER_FILLING_FOK) والرقم السحري 22218101. تم تعريف ثلاث أدوات إعادة محاولة في المصدر — TryClose_EX18101 و TryClosePartial_EX18101 و TryModify_EX18101 — لكن TryClose_EX18101 فقط هو الذي يُستدعى فعلياً من مسار الكود الحي. لا يوجد إغلاق جزئي ولا تعديل SL/TP داخل الصفقة في هذا المستشار، لذا الأداتان الأخريان كود ميت يمتصه المترجم.

ينقسم تكوين الـ 12 مدخلاً إلى ثلاث مجموعات. مجموعة الاستراتيجية تتحكم في TimeFrame و RSI_Period و RSI_Applied_Price و RSI_Overbought و RSI_Oversold و RSI_Target_Buy و RSI_Target_Sell و BarsToWait. مجموعة إدارة المخاطر تحتوي فقط على LotSize. مجموعة الهوية تحتوي على MagicNumber و InpTradeComment و Slippage. يقبل مدخل TimeFrame عدداً صحيحاً من 1 إلى 7 ويُحوَّل إلى إطار زمني لـ MetaTrader عبر دالة MapTimeframeInt — القيمة الافتراضية 8 لا يعالجها المفتاح فتسقط إلى الحالة الافتراضية التي تُرجع PERIOD_H1، لذلك افتراضياً يعمل المستشار على الرسم البياني H1 بصرف النظر عن الرسم البياني الذي يُسقط عليه. مدخل RSI_Applied_Price يقبل بالمثل من 1 إلى 7، يُحوَّل إلى PRICE_CLOSE حتى PRICE_WEIGHTED، مع افتراضي 1 أي PRICE_CLOSE.

لا توجد دالة OnTester، ولا لوحة معلومات، ولا مرشح متعدد الأطر الزمنية، ولا مرشح جلسات، ولا مرشح أخبار، ولا مرشح سبريد، ولا مصنف نظام سوق. يعلن الترويسة عن "بنية من 12 طبقة" تشمل مراحل REGIME و SIGNAL و ENTRY و CONFIRM و NO-TRADE و CAPITAL CAP و RISK و SIZING و MANAGE و EXIT و SCALING و OnTester — لكن الكود المصدري ينفذ SIGNAL و ENTRY و EXIT فقط. لا يوجد كشف نظام سوق، ولا مرحلة تأكيد، ولا بوابة منع تداول تتجاوز تقاطع RSI، ولا سقف رأس مال، ولا طبقة مخاطر، ولا تدرج، ولا OnTester. يجب على أي شخص يقرأ ملف .mq5 أن يعتبر مطالبة "12 طبقة" في الموجز تسويقاً طموحاً وليس وصفاً للتنفيذ.

من الناحية العملية للاختبار الخلفي، المستشار ينتج تيار إشارات منخفض التردد مع أرباح مركزة (عندما يتم الوصول إلى أهداف 80 و57) والمخاطرة بأن مؤقت Bars-against يترك صفقة مفتوحة مكشوفة لمدة تصل إلى أربع شموع كاملة من حركة السعر. الاستخدام المقترح في الترويسة هو الأزواج الرئيسية أو الذهب/المعادن على H1، مع ادعاء المستشار أنه يعمل من M5 إلى H1. النطاق الضيق 57 و71 يعني أن الإشارات تظهر فقط عندما يكون RSI جالساً في النصف العلوي من نطاقه، وهو ما يحدث تاريخياً في بيئات الاتجاه أو استمرار ما بعد الاتجاه أكثر من الأسواق العرضية. اختبر بأثر رجعي على الزوج والإطار الزمني الفعلي الذي تنوي التداول عليه، وانتبه بشكل خاص إلى أقصى انحراف سلبي لكل صفقة نظراً لعدم وجود وقف خسارة من جانب الوسيط للحد منه.

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

تعمل OnTick() في EX18101 ببوابة شمعة جديدة ضد iTime(_Symbol, g_TimeFrame, 0)، لذلك يتم تشغيل كل منطق RSI وفحوصات الإشارات مرة واحدة بالضبط لكل شمعة مغلقة بدلاً من كل تيكت. تنسخ UpdateRSI() آخر ثلاث قيم لـ RSI إلى rsi_two_bars_ago و rsi_prev و rsi_current عبر CopyBuffer على مقبض iRSI واحد تم إنشاؤه في OnInit() بالفترة وسعر التطبيق المُكوَّنين. تتحقق CheckEntrySignals() من rsi_two_bars_ago ضد RSI_Oversold=57 للشراء و rsi_two_bars_ago ضد RSI_Overbought=71 للبيع، ولا تُطلق إلا عند التقاطع الفعلي مع rsi_prev — لا يمكن أن يحدث دخول ما لم تكن كلتا الشمعتين حاضرتين. تعمل CheckExistingPosition() أولاً في كل شمعة جديدة بصرف النظر عن حالة الصفقة، وتقيّم إما الخروج عند الهدف (rsi_current >= 80 للشراء، <= 57 للبيع) أو عداد Bars-when يكون rsi_current على الجانب الخاطئ من عتبة الدخول؛ يزداد العداد لكل شمعة مغلقة معاكسة ويُعاد تصفيره إلى الصفر في اللحظة التي تعود فيها RSI إلى الجانب المرحب به. تفوض ClosePosition() إلى TryClose_EX18101، وهي غلاف إعادة محاولة بثلاث محاولات حول trade.PositionClose يتسامح مع requotes والمهل وأخطاء تغيير السعر مع 200ms نوم بين المحاولات. يتم تكوين كائن CTrade مرة واحدة في OnInit() بملء FOK وانزلاق 3 نقاط، والرقم السحري 22218101، وتعليق الصفقة 'Psgrowth.com Expert_18101'. تم تعريف TryClosePartial_EX18101 و TryModify_EX18101 في المصدر لكن لم يُستدعيا من مسار الكود الحي.

إشارة الدخول

يدخل EX18101 صفقة شراء عندما تنشر RSI(14) قبل شمعتين قيمة 57 أو أقل وتغلق الشمعة السابقة فوق 57، ويدخل صفقة بيع عندما تكون RSI قبل شمعتين عند 71 أو أكثر وتغلق الشمعة السابقة تحت 71. لا تُطلق الإشارات إلا عند تقاطع جديد لهذه النطاقات الوسطى، ويحمل المستشار صفقة واحدة فقط في كل وقت بدون تكديس أو إعادة دخول حتى تُغلق الصفقة القائمة. إطار العمل وفترة RSI وسعر التطبيق كلها قابلة للتكوين، لكن القيمة الافتراضية لـ TimeFrame البالغة 8 تسقط إلى H1.

إشارة الخروج

يخرج EX18101 من صفقات الشراء إما عندما تصل RSI إلى هدف الشراء البالغ 80 أو عندما يصل عداد Bars-against إلى BarsToWait=4 (شموع مغلقة متتالية بنشر RSI تحت 57). يخرج من البيع عندما تنخفض RSI إلى هدف البيع البالغ 57 أو بعد 4 شموع مغلقة متتالية بنشر RSI فوق 71. العداد متسامح — أي شمعة تنشر RSI على الجانب المرحب بها من العتبة تعيد تصفيره إلى الصفر. لا يوجد خروج بإشارة معاكسة؛ فقط الهدف أو مؤقت Bars-against يغلق الصفقة.

وقف الخسارة

لا يوجد وقف خسارة مرفق بالصفقات — استدعاءات trade.Buy و trade.Sell تمرر 0 لمعامل SL، لذا تعتمد الصفقات كلياً على مهلة Bars-against لإغلاقها بعد BarsToWait=4 شمعة مغلقة معاكسة. لا يوجد حد أدنى لل equity، ولا كاسر انخفاض، ولا وقف خسارة وقائي من جانب الوسيط للحد من الخسائر العائمة.

جني الأرباح

لا يوجد جني أرباح مرفق عند الدخول — استدعاءات trade تمرر 0 لمعامل TP. يُنفذ جني الأرباح كلياً في CheckExistingPosition() كخروج عند الهدف: تُغلق صفقات الشراء عندما RSI >= 80، وتُغلق صفقات البيع عندما RSI <= 57. يتم الوصول إلى هدف شراء 80 وهدف بيع 57 في شمعة RSI واحدة في معظم الصفقات الرابحة.

الأنسب لـ

EX18101 مناسب للمتداولين الذين يديرون حساباً بـ 100 دولار أو أكثر ويريدون استراتيجية RSI بمؤشر واحد مع تحديد حجم ثابت 0.1 لوت وبدون تكديس. نطاق المنتصف الضيق 57/71 يُطبَّق بشكل أفضل على H1 XAUUSD (الزوج الافتراضي) أو H1 للأزواج الرئيسية، حيث ينتج تيار إشارات منخفض التردد مناسب للإشراف اليدوي أو تتبع الصفقات بأسلوب المحفظة. اختبر بأثر رجعي على الزوج والإطار الزمني الفعلي الذي تنوي التداول عليه، وراجع أقصى انحراف سلبي لكل صفقة بعناية — غياب وقف الخسارة من جانب الوسيط يعني أن السحب العائم يمكن أن ينمو قبل أن يعمل مؤقت Bars-against.

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

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

العائلة: TrendFollow الماجيك: 22218101 الإصدار: 2.00

الوصف: RSI scalping EA that buys when RSI crosses up from oversold and sells when RSI crosses down from overbought. Exits when RSI reaches target levels or has been against the position for N bars. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • UpdateRSI()
  • CheckExistingPosition()
  • CheckEntrySignals()
  • OpenBuyPosition()
  • OpenSellPosition()
  • ClosePosition()
  • TryClose_EX18101()
  • TryClosePartial_EX18101()
  • TryModify_EX18101()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18101 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// RSI scalping EA that buys when RSI crosses up from oversold and sells when RSI crosses down from overbought. Exits when RSI reaches target levels or has been against the position for N bars. 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

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

المعاملالافتراضيالوصف
TimeFrame8Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for Analysis
RSI_Period14RSI Period
RSI_Applied_Price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // RSI Applied Price
RSI_Overbought71RSI Overbought Level
RSI_Oversold57RSI Oversold Level
RSI_Target_Buy80RSI Target for Buy Exit
RSI_Target_Sell57RSI Target for Sell Exit
BarsToWait4Bars to wait when RSI goes against position
LotSize0.1Lot Size
MagicNumber22218101Magic Number
InpTradeComment"Psgrowth.com Expert_18101"Trade Comment
Slippage3Slippage in points
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18101.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18101 RSIScalping — RSI overbought/oversold scalping with target exits, full 12-layer stack."

#include <Trade\Trade.mqh>

//--- Input parameters
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;
   }
}
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_TIMEFRAMES g_TimeFrame = PERIOD_H1;
ENUM_APPLIED_PRICE g_RSI_Applied_Price = PRICE_CLOSE;
input group "=== Strategy ==="
input int TimeFrame = 8; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for Analysis
input int                  RSI_Period = 14;           // RSI Period
input int RSI_Applied_Price = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // RSI Applied Price
input double              RSI_Overbought = 71;        // RSI Overbought Level
input double              RSI_Oversold = 57;          // RSI Oversold Level
input double              RSI_Target_Buy = 80;         // RSI Target for Buy Exit
input double              RSI_Target_Sell = 57;        // RSI Target for Sell Exit
input int                 BarsToWait = 4;             // Bars to wait when RSI goes against position
ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;

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

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

الوسوم:ex18101trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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