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

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

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

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

نظرة عامة

Pipsgrowth EX18096 هو مستشار خبير لميتاتريدر 5 يعتمد بالكامل على مؤشر RSI واحد ويعمل حصرياً في النصف العلوي من نطاق المؤشر، متجنباً منطق الارتداد الكلاسيكي من مستويات 30/70. كل من عتبتي الدخول موضوعتان في قراءات قصوى مرتفعة: RSI_Overbought مضبوط على 90 وRSI_Oversold على 73. يتم تفعيل الشراء عندما يصعد مؤشر RSI فوق مستوى 73، وتفعيل البيع عندما يهبط RSI تحت مستوى 90. وبسبب هذا التباين — الشراء عند 73 والبيع عند 90 — يعمل المستشار في منطقة متطرفة عليا، ولا يستجيب إلا لحركات المؤشر بين 48 و90. وحيث أن عتبتي الدخول تقعان في منطقة التشبع الشرائي، فإن كل صفقة يفتحها المستشار هي من الناحية الفنية صفقة زخم في سوق قوي بالفعل، وليست ارتداداً من ضعف.

الإشارة نفسها مبنية على بوابة تقاطع لبارين. تقوم دالة UpdateRSI بسحب ثلاث قيم لمؤشر RSI(14) عبر rsi_buffer[0..2]، ثم تقارن CheckEntrySignals بين قيمة البار رقم 2 وقيمة البار رقم 1. يُفتح صفقة شراء عندما يكون rsi_two_bars_ago عند 73 أو أقل، ويكون rsi_prev أعلى من 73 بصرامة. ويفتح بيع عندما يكون rsi_two_bars_ago عند 90 أو أعلى، ويكون rsi_prev أدنى من 90. البار الأوسط (rsi_buffer[1]) هو الذي يحدد الإشارة، أما قيمة بارين مضت فهي مجرد فلتر يمنع المستشار من الإطلاق على طفرة عابرة أو خط مسطح. السعر المطبق افتراضياً هو PRICE_CLOSE (RSI_Applied_Price=1) وفترة المؤشر 14، وكلاهما مكشوف كمدخلات قابلة للتعديل.

منطق الخروج هو النصف الثاني من التصميم. تعمل CheckExistingPosition مرة لكل بار مغلق ولها ذراعان متوازيان. ذراع الشراء يخرج عندما rsi_current >= RSI_Target_Buy (88) إذا لم تكن الصفقة 'ضد الاتجاه'، ويراكم عدّاد bars-against (بحد أقصى BarsToWait=6) عندما يهبط rsi_current تحت 73. ذراع البيع يعكس ذلك: يخرج عند rsi_current <= RSI_Target_Sell (48) إذا لم تكن الصفقة ضد الاتجاه، ويراكم العدّاد عندما يصعد rsi_current فوق 90. يعاد ضبط عدّاد 'ضد الاتجاه' فور عودة RSI إلى الجانب الملائم، لذا يكفي بار تعافي واحد لمسح أي تراجع جزئي. لا يوجد وقف خسارة سعري ولا جني أرباح مفروض عند فتح الأمر — trade.Buy وtrade.Sell تُستدعيان بـ sl=0 وtp=0، لذا فإن وقف حساب الوسيط وحده هو الخط الدفاعي الصلب على مستوى السعر.

تعمل بوابة المركز الواحد عبر المتغير position_open. عندما تطلق CheckEntrySignals والمستشار خالٍ، تُستدعى OpenBuyPosition أو OpenSellPosition؛ وعندما يكون هناك صفقة مفتوحة، يتم تخطي مسار الدخول كلياً. لا توجد إضافة للصفقات الرابحة، ولا تحجيم تدريجي، ولا تكرار. تمر الأوامر عبر CTrade مع SetTypeFilling(ORDER_FILLING_FOK) وحد انحراف 3 نقاط، وثلاث دوال إعادة محاولة (TryClose_EX18096، TryClosePartial_EX18096، TryModify_EX18096) تعيد المحاولة على requote وtimeout وprice-off وprice-changed بمهلة 3×200 مللي ثانية أو 3×100 مللي ثانية. في هذا الإصدار تُستخدم TryClose_EX18096 فقط، لأن الصفقة لا تستقبل وقفاً أو حداً أصلاً، فالدالتان الجزئيتان للتعديل كود خامل في المسار النشط.

التحجيم ثابت عند LotSize=0.1 دون نسبة مخاطرة ودون موازنة للرصيد ودون سقف. المدخل الوحيد المتعلق بالحجم هو عدد العقود الحرفي. لا يوجد فحص رافعة قبل الإرسال، ولا تحضير OrderCalcMargin مسبق، ولا تقليص للحجم عند تراجع الإكويتي — لذا يجب على المتداول أن يحجم وفقاً لرصيده قبل تشغيل المستشار. كذلك لا يوجد فلتر وقت يومي، ولا فلتر أخبار، ولا تأكيد إطار زمني أعلى، ولا مصنف نظام (regime). الكود عبارة عن متداول لحظي أحادي المرور: مؤشر واحد، إشارة واحدة، خروج واحد، مركز واحد. لم تُعرَّف دالة OnTester، لذا لن تنتج الباك تيستات قيمة لياقة تحسين مخصصة — يُطبَّق القياس الافتراضي للمنصة.

يعرض بلوك الترويسة في الكود إعدادات XAUUSD وH1 باعتبارها الإعداد المعياري، مع التعليق 'works M5H1' الذي يوحي بأن الاستراتيجية قابلة للنقل عبر الأطر الزمنية اللحظية. مدخل TimeFrame يُحوَّل عبر دالة MapTimeframeInt محلية (1→M1، 2→M5، 3→M15، 4→M30، 5→H1، 6→H4، 7→D1) ويسقط افتراضياً على PERIOD_H1 لأي قيمة خارج هذا النطاق، بما في ذلك القيمة الافتراضية للإدخال 8. بمعنى آخر، ترك TimeFrame على قيمته الافتراضية يختار H1. نفس كتلة التحويل تتكرر أربع مرات في الملف المصدر مع MapAppliedPriceInt وإعلانات المتغيرين g_TimeFrame وg_RSI_Applied_Price — أثر من قالب المولّد. مترجم MQL5 يستوعب التكرارات، والسلوك وقت التشغيل لا يتأثر، ويمكن للقارئ تجاهل التكرار عند تحليل الاستراتيجية.

ملف التداول العملي الذي يخلقه هذا التصميم هو 'دفتر زخم RSI' على حساب ذهب. مناطق 73/90 فوق مستوى 50، لذا يتخطى المستشار معظم حركة السعر؛ ولا ينشط إلا حين يكون الزخم قد دفع RSI فعلاً إلى قراءات قصوى. الشراء يدخل على ارتداد تقوية من 73 ويخرج على صعود 15 نقطة إلى 88. البيع يدخل على تراجع من 90 ويستهدف هبوطاً قدره 42 نقطة إلى 48. الهدف الأطول على جانب البيع، مع مهلة الـ 6 أبار للعدّاد، يجعل صفقات البيع أطول بنيوياً من نظيراتها الشرائية. لا توجد دالة OnTester ولا مصنف نظام ولا خنق إكويتي، لذا يتحمل المتداول مسؤولية ضبط الرقم السري وتعديل حجم اللوت للرصيد وإدارة المخاطرة على مستوى الحساب بنفسه. هذا الإصدار موجه للمتداولين الذين يفهمون فعلاً سلوك RSI في القراءات المتطرفة ويريدون أداة أحادية المؤشر لا تطلق إلا في ظروف الزخم العالي.

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

تنتظر OnTick باراً جديداً على الإطار الزمني المكوَّن، ثم تسحب UpdateRSI آخر ثلاث قيم لمؤشر RSI(14) في rsi_buffer، وتقوم CheckExistingPosition بتقييم المركز المفتوح مقابل عدّاد 'ضد الاتجاه' وعتبات الهدف. عندما يكون المستشار خالياً، تقارن CheckEntrySignals بين rsi_two_bars_ago وrsi_prev: يُطلَق الشراء على تقاطع فوق 73، والبيع على تقاطع تحت 90، وتُمرِّر OpenBuyPosition أو OpenSellPosition الأمر عبر CTrade بتعبئة FOK وسقف انزلاق 3 نقاط. لا توجد مستويات SL/TP عند الإرسال، لذا فإن مهلة 'ضد الاتجاه' ومخارج مستوى RSI هي كل ما يتوفر لإدارة الصفقة، والمتغير المنطقي للمركز الواحد يعني أن إعادة الدخول لا تتاح حتى إغلاق التذكرة السابقة.

إشارة الدخول

يُفعَّل الشراء عندما يدفع البار المغلق السابق مؤشر RSI(14) فوق 73 بصرامة، بينما كان البار قبل ذلك عند 73 أو أقل — تقاطع لبارين يلتقط إعادة تقوية المؤشر من خط أساس مرتفع. ويُفعَّل البيع عندما يهبط البار السابق بالمؤشر تحت 90 بصرامة، بينما كان البار قبل ذلك عند 90 أو أعلى — تقاطع هبوطي خارج منطقة التشبع الشرائي المتطرفة. العتبتان غير المتماثلتان 73/90 تعنيان أن كلا اتجاهي الدخول يقعان في النصف العلوي من نطاق المؤشر.

إشارة الخروج

تُغلق صفقات الشراء عندما يصل RSI الحالي للبار إلى هدف الشراء عند 88، أو بعد BarsToWait=6 أبار مغلقة متتالية هبط فيها RSI تحت عتبة 73. وتُغلق صفقات البيع عندما يصل RSI الحالي للبار إلى هدف البيع عند 48، أو بعد 6 أبار مغلقة متتالية صعد فيها RSI فوق 90. يُعاد ضبط عدّاد 'ضد الاتجاه' فور عودة RSI إلى الجانب الملائم، لذا يكفي بار تعافٍ واحد لمسح أي تراجع جزئي.

وقف الخسارة

يُرسل المستشار الأوامر بـ sl=0 وtp=0، فلا يوجد وقف خسارة ثابت لكل صفقة عند الوسيط. الحماية الوحيدة على مستوى السعر هي وقف حساب الوسيط إضافة إلى عدّاد 'ضد الاتجاه' داخل CheckExistingPosition، الذي يُغلق صفقة شراء بعد 6 أبار مغلقة يكون RSI فيها تحت 73، أو صفقة بيع بعد 6 أبار مغلقة يكون RSI فيها فوق 90.

جني الأرباح

تُحقق صفقات الشراء ربحها عند RSI_Target_Buy=88 على البار الحالي، والهدف يقع على بعد 15 نقطة RSI فوق عتبة الدخول 73. وتحقق صفقات البيع ربحها عند RSI_Target_Sell=48، أي هبوطاً قدره 42 نقطة من عتبة الدخول 90، مما يجعل جانب البيع أطول بنيوياً من حيث المدة. لا يوجد جني أرباح بالنقاط عند فتح الأمر؛ كلا الهدفين مخرجات قائمة على مستوى RSI تُقيَّم على أساس كل بار.

الأنسب لـ

صُمِّم للإعداد XAUUSD H1 برصيد أدنى 100 دولار بحجم لوت ثابت 0.1، وهو الأنسب لوسطاء ECN أو RAW منخفضي السبريد لأن مناطق 73/90 تطلق إشارات متكررة على تذبذبات زخم الذهب اللحظية. الاستراتيجية قابلة للنقل إلى أزواج العملات الرئيسية الأخرى وإلى الأطر الزمنية من M5 إلى H1 بحسب ملاحظة الترويسة، لكن منطق RSI في المنطقة العليا لا يولد إشارات إلا حين يكون الأصل الأساسي في اتجاه قوي، لذا فإن الأيام العرضية على الأزواج منخفضة التذبذب ستنتج عدداً قليلاً من الإشارات أو لن تنتج أياً منها. ادمج المستشار مع إدارة يدوية لحجم اللوت وخنق إكويتي خارجي، لأنه لا يتضمن كاسر سحب خاصاً به ولا مصنف نظام ولا فلتر أخبار ولا تحجيم بنسبة مخاطرة.

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

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

العائلة: TrendFollow الماجيك: 22218096 الإصدار: 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_EX18096()
  • TryClosePartial_EX18096()
  • TryModify_EX18096()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18096 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_Overbought90RSI Overbought Level
RSI_Oversold73RSI Oversold Level
RSI_Target_Buy88RSI Target for Buy Exit
RSI_Target_Sell48RSI Target for Sell Exit
BarsToWait6Bars to wait when RSI goes against position
LotSize0.1Lot Size
MagicNumber22218096Magic Number
InpTradeComment"Psgrowth.com Expert_18096"Trade Comment
Slippage3Slippage in points
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18096.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18096 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 = 90;        // RSI Overbought Level
input double              RSI_Oversold = 73;          // RSI Oversold Level
input double              RSI_Target_Buy = 88;         // RSI Target for Buy Exit
input double              RSI_Target_Sell = 48;        // RSI Target for Sell Exit
input int                 BarsToWait = 6;             // 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;

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

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

الوسوم:ex18096trendfollowpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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