Pipsgrowth EX18099 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · XAUUSD · M5
Pipsgrowth EX18099 TrendFollow — RSI scalping EA that buys when RSI crosses up from oversold and sells when RSI crosses down from overbought. Exits when . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
Pipsgrowth EX18099 TrendFollow مضارب RSI أحادي المؤشر، يعتمد نموذج دخول واحد لكل جهة وبوابة خروج مزدوجة. يدير مؤشر RSI بفترة 14 على إغلاق الإطار الزمني النشط (H1 افتراضياً — الإدخال TimeFrame=5 يحوَّل إلى PERIOD_H1 داخل الكود، وليس M5 المذكور في بطاقة قاعدة البيانات)، ويتداول كل تقاطع عبر زوج ثابت من مستويات التشغيل. لا يستخدم ATR ولا ADX ولا المتوسطات المتحركة ولا الحجم ولا تأكيد الإطار الأعلى؛ القرار يُتخذ بالكامل من آخر ثلاث قراءات لمؤشر RSI.
أهم ما يجب معرفته قبل تشغيل هذا الإكسبرت هو أن أسماء المدخلات معكوسة بالنسبة لمعناها التقليدي. RSI_Oversold قيمته الافتراضية 50، وRSI_Overbought قيمته الافتراضية 19. دالة CheckEntrySignals لا تقارن RSI بمنطقة تشبع بيعي عميقة وبمنطقة تشبع شرائي عميقة — بل تقارن RSI بالخط الأوسط وبمنطقة تشبع بيعي عميقة. الشراء يُفعَّل عندما تكون قراءة المؤشر قبل شمعتين ≤ 50 وقبل شمعة واحدة > 50 (كسر صاعد للخط الأوسط). البيع يُفعَّل عندما تكون قراءة المؤشر قبل شمعتين ≥ 19 وقبل شمعة واحدة < 19 (إشارة انعكاس بعد تشبع بيعي عميق). بمعنى آخر، جهة الشراء تتصرف كمرشح زخم، وجهة البيع تتصرف كمشغِّل انعكاس مضاد للاتجاه. تسميتهما معاً بمستويات تشبع شرائي/بيعي مضلِّل.
بمجرد فتح الصفقة، تُقيَّم شرطان مستقلان للخروج عند كل شمعة جديدة داخل CheckExistingPosition. الأول هو شرط الهدف: يُغلَّق الشراء عندما يصل مؤشر RSI للشمعة الحالية إلى 71 (RSI_Target_Buy = 71)، ويُغلَّق البيع عندما ينخفض RSI للشمعة الحالية إلى 70 (RSI_Target_Sell = 70). الهدفان متقاربان عددياً لكن المسافة التي يحتاجها كل منهما للوصول غير متماثلة. من دخول شراء عند 50، يحتاج المؤشر للصعود 21 نقطة RSI ليطبع 71. من دخول بيع عند 19، يحتاج المؤشر للهبوط 51 نقطة ليطبع قراءة تشبع بيعي عند 70، ما يعني عملياً أن هدف البيع نادراً ما يُضرب ومعظم مخارج البيع تتم عبر المسار الثاني. المسار الثاني هو عداد الشموع المعاكسة. إذا ظل الشراء دون 50 لمدة BarsToWait=1 شمعة مغلقة، تُغلَق الصفقة؛ إذا ظل البيع فوق 19 لمدة BarsToWait=1 شمعة مغلقة، تُغلَق الصفقة. العدّاد متساهل — يُعاد تصفيره لحظة عودة المؤشر للجانب المواتي من المشغِّل — لذا فإن نزولاً لشمعة واحدة دون 50 داخل اتجاه صاعد عام لمؤشر RSI لا يؤدي لتسطيح الصفقة.
البنية مقصودة البساطة. يوجد handle واحد فقط للمؤشر — iRSI(14, PRICE_CLOSE) — و9 دوال: UpdateRSI وCheckExistingPosition وCheckEntrySignals وOpenBuyPosition وOpenSellPosition وClosePosition، إضافة إلى ثلاث مساعدات إعادة المحاولة TryClose_EX18099 وTryClosePartial_EX18099 وTryModify_EX18099. TryClose_EX18099 فقط هو المُستدعى فعلياً في مسار الكود الحي؛ مساعدا الإغلاق الجزئي والتعديل مُعرَّفان لكن غير مستخدمَين. كائن trade يُهيَّأ بـ SetTypeFilling(ORDER_FILLING_FOK) وSetDeviationInPoints(3) في OnInit، ومدخل Slippage يمرَّر مباشرة. لا توجد دالة OnTester ولا معالج OnTradeTransaction ولا قاطع دراونداون على أساس رصيد، ولا مصنف نظام، ولا فحص محاذاة إطار أعلى، ولا فلتر أخبار، ولا فلتر جلسة، ولا سقف سبريد، ولا عداد خسائر متتالية، ولا تحجيم بنسبة مخاطر. الترويسة تذكر "بنية من 12 طبقة" في تعليقها، لكن التنفيذ الفعلي يحتوي على طبقات الإشارة والدخول والخروج فقط — بقية الطبقات المذكورة في التعليق طموح نظري.
تحجيم الصفقات هو أكبر مصدر قلق في الإعدادات. مدخل LotSize قيمته الافتراضية 50، وهو حجم اسمي مخصص لسياق مؤسسي أو لهيكل اختبار ولن يعمل على حساب تداول بيع بالتجزئة. لا يوجد مدخل لنسبة المخاطر ولا مساعد تحجيم واعي بالرصيد — القيمة تُمرَّر كما هي إلى trade.Buy وtrade.Sell داخل OpenBuyPosition وOpenSellPosition. للاستخدام الحي على حساب بين 100 و1,000 دولار، يجب خفضه إلى الحد الأدنى المسموح به لدى الوسيط، والتعامل مع الافتراضي كعنصر نائب لا كتوصية. تُفتح الصفقة بـ SL=0 وTP=0 على مستوى CTrade، فلا يوجد قوس مرفق — الوقف الوحيد في النظام هو مخرج الشمعة المعاكسة في الشمعة التالية. لا توجد حلقة تعديل وقف/هدف؛ مساعد TryModify_EX18099 موجود لكن لا تستدعيه أي دالة نشطة.
بوابة الصفقة الواحدة تُفرض عبر متغير بولياني عادي. بعد أن تكتب OpenBuyPosition أو OpenSellPosition تذكرة trade.ResultOrder() في position_ticket، يمنع العلم position_open حلقة OnTick من استدعاء CheckEntrySignals مجدداً في الشمعة التالية حتى تُغلَق الصفقة القائمة. لا يوجد تدرُّج ولا تحوط ولا إضافة ولا إغلاق جزئي. عند تشغيل ClosePosition تستدعي TryClose_EX18099 التي تحاول CTrade.PositionClose ثلاث مرات، مع نوم 200ms عند الردود requote/timeout/price-change، وتمسح الحالة عند رمز إرجاع DONE أو DONE_PARTIAL ناجح.
الـ12 مدخلاً موزَّعة على ثلاث مجموعات. مجموعة Strategy تضم TimeFrame (1-7 مع H1 كافتراضي) وRSI_Period (افتراضي 14) وRSI_Applied_Price (1-7 مع PRICE_CLOSE كافتراضي) وعتبات RSI الأربعة وBarsToWait (افتراضي 1). مجموعة Risk Management لا تحتوي إلا على LotSize (افتراضي 50). مجموعة Identity تضم MagicNumber (22218099) وInpTradeComment وSlippage (افتراضي 3). لا توجد defines ولا حراسة ماكرو بنمط enum ولا ثوابت وقت ترجمة — كل رقم هو مدخل وقت تشغيل. تجدر الإشارة إلى أن المصدر يحتوي على 4 نسخ مكررة من دوال MapTimeframeInt وMapAppliedPriceInt موزعة على الأسطر 32-130؛ هذه آثار نسخ-لصق من القالب التلقائي، وليست سلوكاً وقت التشغيل، ومترجم MQL5 يستوعب التكرارات كرمز واحد.
ما يمكن توقُّعه في الباك تيست: هذا نظام أحادي المؤشر، ذو إشارتين، بلا نسبة مخاطر، وبمخرج شمعة معاكسة واحدة. سيكون السلوك متقطعاً على H1 للذهب لأن مهلة الشمعة المعاكسة (شمعة واحدة) تسمح بأول ارتداد ثم تغلق الصفقة بسرعة في الثانية، غالباً قبل اكتمال أي ارتداد حقيقي. لضبطه لرمز معيَّن، أكثر المداخل فائدة هي RSI_Overbought (ارفعه إذا أردت تشغيلات بيع من تشبع بيعي عميق فقط)، وRSI_Oversold (أنزله نحو 45 إذا أردت كسراً أنعم للخط الأوسط في الشراء)، وBarsToWait (ارفعه إلى 3-5 إذا أردت للصفقة أن تصمد أمام أول ارتداد)، والهدفان. عامل LotSize كعنصر نائب واضبطه على الحد الأدنى لدى الوسيط. الانزلاق بـ 3 نقاط وملء FOK يفترضان وسيطاً منخفض السبريد ومنخفض الكمون؛ على حساب بيع بالتجزئة بسبريد عريض، الانزلاق سيلتهم قطعة ملحوظة من أي هدف مُصاب، خاصة على جهة البيع حيث المسافة لهدف 70 قصيرة والتكلفة النسبية مرتفعة.
تفاصيل الاستراتيجية
في OnInit يُنشَأ handle واحد لـ iRSI(14, PRICE_CLOSE) مربوط بالإطار الزمني الذي تنتجه MapTimeframeInt(TimeFrame=5 → PERIOD_H1)، ويُهيَّأ كائن CTrade بملء FOK وانزلاق 3 نقاط. عند كل تيكة، تعود OnTick فوراً حتى افتتاح شمعة جديدة على الإطار العامل، وعندها تنسخ UpdateRSI آخر ثلاث قيم RSI إلى rsi_current وrsi_prev وrsi_two_bars_ago. تتحقق CheckExistingPosition بعدها من هدف أو من مهلة BarsToWait=1 لشمعة معاكسة، أو لا تفعل شيئاً؛ وإذا لم تكن هناك صفقة نشطة، تقارن CheckEntrySignals تقاطع الشمعتين بمشغِّل الشراء RSI_Oversold=50 ومشغِّل البيع RSI_Overbought=19، وتطلق OpenBuyPosition أو OpenSellPosition أمر سوق بـ SL=0 وTP=0 وبقيمة LotSize=50 المُكوَّنة. آلة الحالة مجرد ثلاث بووليانات — position_open وrsi_against_position وbars_against_count — إضافة إلى التذكرة ونوع الصفقة الحالي.
إشارات الشراء تُفعَّل عند تقاطع صاعد مغلق لمؤشر RSI(14) عبر مدخل RSI_Oversold (افتراضي 50): يجب أن يكون المؤشر عند 50 أو دونها قبل شمعتين وفوقها قبل شمعة واحدة. إشارات البيع تُفعَّل عند تقاطع هابط لمؤشر RSI(14) عبر مدخل RSI_Overbought (افتراضي 19) على نمط الشمعتين ذاته. تُفحَص كلتا الإشارتين داخل CheckEntrySignals فقط عند عدم وجود صفقة نشطة، وتضمن بوابة الصفقة الواحدة عدم إعادة الدخول حتى إغلاق الصفقة الحالية.
كل صفقة مفتوحة لها مسارا خروج مستقلان يُقيَّمان عند كل شمعة جديدة: مخرج هدف ومهلة شموع معاكسة. يُغلَق الشراء عند وصول RSI للشمعة الحالية إلى 71 (RSI_Target_Buy) أو بعد BarsToWait=1 شمعة مغلقة دون 50؛ ويُغلَق البيع عند وصول RSI إلى 70 (RSI_Target_Sell) أو بعد شمعة مغلقة واحدة فوق 19. يعاد تصفير عداد الشموع المعاكسة فور عودة المؤشر للجانب المواتي من مشغِّله، فشمعة معاكسة واحدة لا تُسطِّح الصفقة.
لا يوجد وقف خسارة ثابت. تُفتح الصفقات بـ SL=0 على مستوى CTrade؛ المنطق الوقائي الوحيد هو مهلة الشموع المعاكسة التي تغلق الصفقة بعد BarsToWait=1 شمعة مغلقة في المنطقة المعاكسة لمشغِّل RSI. تُدار المخاطر بالكامل عبر تحجيم الصفقة عند الدخول ومنطق الخروج المعتمد على RSI — لا يوجد سقف دراونداون، ولا أرضية رصيد، ولا وقف متابع، ولا قفل نقطة تعادل في المصدر.
لا يوجد جني أرباح ثابت؛ استدعاء CTrade يمرِّر 0 لمعامل TP. المخارج هي أهداف مستوى RSI: يُغلَق الشراء عند RSI >= 71، ويُغلَق البيع عند RSI <= 70. الهدفان متقاربان عددياً لكنهما يتطلبان مسافتي RSI مختلفتين من دخولهما (الشراء يحتاج +21 من 50، والبيع يحتاج -51 من 19)، ما يجعل هدف البيع أقل احتمالاً للتفعيل في الممارسة العملية.
مناسب للمتداولين الذين يديرون نظام زخم/تمييز أحادي المؤشر على XAUUSD H1 (السقوط الافتراضي لـ TimeFrame=5) مع وسيط ECN منخفض السبريد ومنخفض الكمون، وبحد أدنى للإيداع 100 دولار ومستوى مخاطر MEDIUM. يجب خفض مدخل LotSize إلى الحد الأدنى المسموح لدى الوسيط قبل الاستخدام الحي لأن افتراضي 50 لوت مجرد عنصر نائب. الخروج ذو الطبقتين (هدف RSI + مهلة شمعة معاكسة واحدة) الأنسب للصفقات قصيرة المدة حيث يريد المشغِّل فلتر ارتداد محكم ولا يحتاج حماية دراونداون، ولا تصنيف نظام، ولا محاذاة إطار أعلى.
منطق الاستراتيجية
Pipsgrowth EX18099 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218099
الإصدار: 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_EX18099()TryClosePartial_EX18099()TryModify_EX18099()
// Pipsgrowth EX18099 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)ملف التحسين
كيفية تثبيت الإكسبرت على MT5
- 1حمّل ملف .mq5 بالضغط على زر التحميل أعلاه
- 2افتح برنامج MetaTrader 5 على حاسوبك
- 3من القائمة العلوية اختر File → Open Data Folder
- 4انتقل إلى مجلد MQL5 → Experts والصق الملف هناك
- 5في MT5، انقر بالزر الأيمن على Expert Advisors في لوحة Navigator → Refresh
- 6اسحب الإكسبرت على رسم H4 أو اليومي للحصول على أفضل النتائج
- 7حدد فترات EMA وعتبة ADX وحجم اللوت في نافذة الإعدادات
- 8فعّل Allow Algo Trading واضغط OK
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| TimeFrame | 5 | Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for Analysis |
| RSI_Period | 14 | RSI Period |
| RSI_Applied_Price | 1 | Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // RSI Applied Price |
| RSI_Overbought | 19 | RSI Overbought Level |
| RSI_Oversold | 50 | RSI Oversold Level |
| RSI_Target_Buy | 71 | RSI Target for Buy Exit |
| RSI_Target_Sell | 70 | RSI Target for Sell Exit |
| BarsToWait | 1 | Bars to wait when RSI goes against position |
| LotSize | 50 | Lot Size |
| MagicNumber | 22218099 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_18099" | Trade Comment |
| Slippage | 3 | Slippage in points |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18099 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 = 5; // 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 = 19; // RSI Overbought Level
input double RSI_Oversold = 50; // RSI Oversold Level
input double RSI_Target_Buy = 71; // RSI Target for Buy Exit
input double RSI_Target_Sell = 70; // RSI Target for Sell Exit
input int BarsToWait = 1; // 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;الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على MT5 — استخدم وسيطاً موثوقاً بتنفيذ سريع وسبريد منخفض
إكسبرتات مشابهة
عرض جميع الإكسبرتاتإكسبرتات أخرى بنفس استراتيجية متابعة الاتجاه
Pipsgrowth EX16080 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16080 Trend — EURUSD triple-EMA trend follower — trades EMA20/50 cross with EMA200 filter on H4, ATR-based SL/TP, risk-percent sizing . إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16081 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16081 Trend — Gold trend EA catching major XAUUSD trends using EMA 50/ 200 crossover on H4 with daily structure swing high/low and Fib. إكسبرت أدفايزر MT5 مفتوح المصدر.
Pipsgrowth EX16033 Trend — إكسبرت أدفايزر متابعة اتجاه
Pipsgrowth EX16033 Trend — Price-action scalping EA using distance-based grid entries with net-take-profit targeting and optional lot multiplier. 1. إكسبرت أدفايزر MT5 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.