Pipsgrowth EX18102 TrendFollow — إكسبرت أدفايزر إكسبرت أدفايزر
إكسبرت أدفايزر MT5 مفتوح المصدر · AUDUSD · M15، H1
Pipsgrowth EX18102 TrendFollow — Simple RSI reversal EA targeting Asian session hours. Buys on oversold crossover and sells on overbought crossover with . إكسبرت أدفايزر MT5 مفتوح المصدر.
نظرة عامة
EX18102 هو مستشار آلي (EA) قائم على مؤشر واحد ومقيّد بجلسة تداول محددة. تعتمد الاستراتيجية على مؤشر القوة النسبية RSI بطول 28 فترة على الإطار الزمني M15، وتبحث عن تقاطعات مؤشر RSI(28) مع عتبتي 30 (تشبع بيعي) و68 (تشبع شرائي)، وتعتبر هذه التقاطعات إشارات شراء وبيع. النظام بأكمله محصور في الجلسة الآسيوية — من الساعة 00:00 إلى 08:00 بتوقيت UTC — ويُغلق أي صفقة مفتوحة بقوة بمجرد خروج الساعة من تلك النافذة.
الإشارة هي نمط انعكاسي حقيقي، وليس نمط متابعة اتجاه. يُفتح صفقة الشراء عندما يكون مؤشر RSI للشمعة السابقة أعلى من 30 وتنخفض الشمعة الحالية إلى 30 أو تحتها. بمعنى آخر، يشتري المستشار عند الإنهاك: عندما ينخفض الزخم إلى منطقة تشبع بيعي عميقة على M15، يدخل المستشار شراءً وينتظر انعكاسًا متوسطًا. تعكس إشارة البيع ذلك — عندما يعبر مؤشر RSI فوق 68، يبيع المستشار. كلتا العتبتين تقعان قليلاً داخل النطاق التقليدي 30/70، مما يُصفّي بعض التقاطعات الهامشية التي قد تراها عند المستويات المرجعية المعتادة.
يعيش حساب مؤشر RSI في مقبض مؤشر واحد rsiHandle = iRSI(_Symbol, PERIOD_M15, RSIPeriod, PRICE_CLOSE). يقرأ المستشار آخر ثلاث قيم لمؤشر RSI في مخزن مؤقت من 3 فتحات (rsiCurrent، rsiPrevious، rsiPrevious2) عند كل تكة (tick)، ثم تتحقق دالة CheckRSICrossover() من الشمعة الحالية مقارنةً بالسابقة لرفع ثلاث حالات منطقية: rsiCrossedOversold، وrsiCrossedOverbought، وrsiCrossedExitLevel. تغذي هذه العلامات كلًا من منطق الدخول واللوحة على الرسم البياني.
يُنفَّذ فلتر الجلسة في موضعين. ترجع IsAsianSession() القيمة true عندما يكون timeStruct.hour >= 0 && timeStruct.hour < 8. عندما تقع التكة خارج تلك النافذة، يقوم المستشار إما بالخروج فورًا (لا توجد دخول جديدة) أو — إذا كانت CloseOutsideSession تساوي true — يستدعي CloseAllTrades("Outside Asian session") لتصفية أي صفقة مفتوحة. يوجد أيضًا متغير منطقي sessionCloseAttempted يمنع إصدار أمر الإغلاق أكثر من مرة واحدة لكل كتلة خارج الجلسة الآسيوية. يحرك نفس الاستعلام الزمني الدالة GetCurrentSession()، التي تُسمّي كل ساعة على أنها آسيوية، أو لندن (08:00-16:00 UTC)، أو نيويورك (13:00-21:00 UTC)، أو "أخرى" للفترة 21:00-00:00. تتداخل نافذتا نيويورك ولندن بين 13:00-16:00 UTC، لكن بوابة التداول في المستشار لا تزال تعتمد على الكتلة الآسيوية فقط.
تحديد حجم الصفقة ثابت، وليس قائمًا على نسبة المخاطرة. المُدخل MaxLotSize = 0.2 هو الحجم الحرفي الذي يُكتب في trade.Buy(...) وtrade.Sell(...). لا يوجد أي حساب من النوع AccountInfoDouble(ACCOUNT_BALANCE) * riskPercent / slDistance في المصدر، ولا يتكيف حجم اللوت مع مسافة وقف الخسارة عند تفعيله. هذا أمر غير معتاد لمستشار PipsGrowth، وهو من أكثر خيارات التصميم تأثيرًا في الملف — المخاطرة الدولارية لكل صفقة تتحدد بالكامل بقيمة التيك لدى الوسيط، وليس بواسطة المستشار.
كل من وقف الخسارة وجني الأرباح مُعطّلان افتراضيًا (UseStopLoss = false، UseTakeProfit = false). عند التعطيل، يفتح الأمر trade.Buy(MaxLotSize, _Symbol, currentAsk, 0, 0, ...) الصفقة بأقواس صفرية — الصفقة لا تملك أي وقف حماية ولا جني أرباح لدى الوسيط. مُدخلات النقاط StopLossPips = 5 وTakeProfitPips = 175 لا تزال موجودة في قائمة المعلمات، وتعرضها اللوحة دائمًا، لكنها خامدة ما لم تُفعّل علامات bool. وقف 5 نقاط على AUDUSD M15 ضيق للغاية — تقريبًا حجم نطاق شمعة واحدة في الساعات النشطة. هدف 175 نقطة يعني بنية عائد إلى مخاطرة 1:35 التي نادرًا ما تتحقق في صفقة انعكاس متوسط.
هناك مسارا خروج حقيقيان. الأول هو وقف زمني: إذا كان TimeCurrent() - positionOpenTime > MaxDuration * 3600 (340 ساعة افتراضيًا — نحو 14 يومًا)، تُستدعى CloseAllTrades("Timeout"). والثاني هو الخروج بمؤشر RSI، مقيد بـ UseRSIExit = true وRSIExitLevel = 48. مع القيمة الافتراضية 48، يُغلق المستشار صفقة شراء عندما يعبر مؤشر RSI فوق 48، ويُغلق صفقة بيع عندما يعبر تحت 48. يُضبط المستوى تحت خط 50 الأوسط بقليل، مما يعني أن صفقات الشراء تُغلق عند عودة الزخم إلى الحياد، وليس عند انعكاس كامل إلى تشبع شرائي. يجب على صفقات البيع أن تتراجع بنفس المسافة تقريبًا لتُفعّل.
يمر تنفيذ الأوامر عبر غلاف CTrade المعياري. يسمح trade.SetDeviationInPoints(3) بانزلاق 3 نقاط، ويطلب trade.SetTypeFilling(ORDER_FILLING_IOC) تعبئة فورية أو إلغاء، ويربط trade.SetExpertMagicNumber(22218102) كل أمر بسحر هذا المستشار. بوابة الصفقة الواحدة هي الحلقة فوق PositionsTotal() التي تعمل في OnTick — إذا وُجدت أي صفقة على الرمز، لا تُعتبر أي دخول جديدة. لا توجد إضافة، ولا توسيع، ولا إعادة دخول.
طبقة إعادة المحاولة هي نسخة من مجموعة أدوات PipsGrowth المعيارية: TryClose_EX18102(ulong ticket)، وTryClose_EX18102(string symbol)، وTryClosePartial_EX18102(ticket, volume)، وTryModify_EX18102(ticket, sl, tp). كل واحدة تكرر ثلاث مرات مع نوم 100-200 مللي ثانية بين المحاولات، وتُعيد المحاولة فقط على TRADE_RETCODE_REQUOTE، وTIMEOUT، وPRICE_OFF، وPRICE_CHANGED. في مسار التنفيذ الحي، يُستدعى فقط متغير string symbol من TryClose_EX18102 من CloseAllTrades() — مساعدتا الإغلاق الجزئي والتعديل كود ميت في هذا الإصدار.
اللوحة على الرسم البياني هي الميزة الأكثر وضوحًا في المستشار. تبني CreatePanel() مستطيلًا أسود 200x200 بعنوان "RSI Reversal" وسبع تسميات للبيانات: قيمة RSI، الصفقة الحالية، السبريد بالنقاط، اسم الجلسة، وقف الخسارة، جني الأرباح، وحالة التقاطع الأخيرة (None / Overbought / Oversold / Exit). تعيد UpdatePanel() كتابة التسميات السبع عند كل تكة. موقع اللوحة قابل للتهيئة عبر PanelX وPanelY (الافتراضي 10 و20 — الزاوية العلوية اليسرى). ألوان اللوحة مكشوفة أيضًا كمدخلات (PanelBackground، PanelText).
يظهر شيئان غير واضحين إذا قرأت المصدر بعناية. أولاً، MaxSpread = 1000 افتراضي رخو جدًا لدرجة أنه معطّل فعليًا — عند سبريد AUDUSD المعتاد 0.5-2 نقطة، لا يكون الفلتر هو القيد المُلزم أبدًا. ثانيًا، تحتوي CloseAllTrades() على إشارة إلى PositionGetInteger(POSITION_MAGIC) == 123456 — بقايا من مولّد القوالب. لا تُستخدم نتيجة هذا الفحص (hasOurPositions) بعد ذلك، وجميع عمليات الإغلاق الحقيقية تستخدم المسار القائم على الرمز، لذا فإن رقم السحر الخاطئ هو عملية فارغة وليس خطأ في السلوك الحي. لكنه علامة على أن الملف جاء من قالب جاهز دون مسح نهائي لكل مستشار.
يدّعي رأس الكود "بنية من 12 طبقة" (REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester). في الكود الفعلي، SIGNAL وENTRY وفلتر الجلسة (شريحة ضيقة من NO-TRADE) وEXIT فقط هي الحقيقية. لا يوجد مصنف نظام، ولا تأكيد إطار زمني أعلى، ولا سقف رأسمال، ولا تحجيم بنسبة مخاطرة، ولا وحدة تحجيم، ولا دالة OnTester.عامل ادعاء 12 طبقة على أنه نسخة تسويقية، وليس عقد تنفيذ.
ما يمكن توقعه في اختبار رجعي: ملف انعكاس متوسط منخفض التردد ومقيّد بجلسة على AUDUSD M15. معدل الربح على تباين 5 نقاط وقف / 175 نقطة هدف سيكون هيكليًا ضعيفًا — وقف الخسارة يُفعّل باستمرار خلال ساعات التذبذب، وجني الأرباح نادرًا ما يُضرب. يجب أن تأتي الحافة الواقعية من مسار الخروج بمؤشر RSI (الإغلاق عند 48 بدلًا من انتظار جني الأرباح عند 175 نقطة) ومن فلتر الجلسة الآسيوية (قطع التعرض قبل افتتاح لندن). إذا شغّلت هذا على نافذة طويلة بما يكفي، يميل منحنى الأسهم إلى الانجراف، لا إلى الصعود، والتكلفة المهيمنة هي سبريد الوسيط على وقفات 5 نقاط. مع UseStopLoss = true ووقف أوسع — قل 25-40 نقطة على M15 — يبدو الملف مختلفًا، لكنك الآن تتداول انضباط الخروج في المستشار، وليس إشارة المستشار.
للإعداد الحي، شغّل هذا على رسم AUDUSD M15 على حساب ECN أو RAW بسبريد منخفض، مع UseStopLoss = true على مسافة معقولة للزوج (20-30 نقطة، لا 5)، وUseRSIExit = true، وUseTakeProfit = false (دع الخروج بمؤشر RSI يقوم بالعمل). الحد الأدنى للإيداع 100 دولار المدرج في كتلة المُدخلات له معنى فقط للتحجيم الثابت عند 0.2 لوت — تحتاج هامشًا كافيًا لامتصاص انعكاس M15 واحد دون نداء هامش. إذا أردت التوسع، غيّر MaxLotSize بشكل متناسب؛ المستشار لن يكيفه لك.
تفاصيل الاستراتيجية
في كل تكة، تتحقق OnTick من بوابة الجلسة الآسيوية (00:00-08:00 UTC) وتخرج (أو، مع CloseOutsideSession=true، تغلق قسرًا أي صفقة مفتوحة) إذا كانت الساعة خارج تلك النافذة. داخل النافذة، تقرأ آخر ثلاث قيم iRSI(28) في rsiCurrent وrsiPrevious وrsiPrevious2، وتشغّل CheckRSICrossover() لضبط علامات التقاطع الثلاث. مع عدم وجود صفقة مفتوحة، يُفعّل التقاطع في التشبع البيعي (الحالي <= 30 من فوق) أمر شراء بحجم 0.2 لوت بسعر الطلب الحالي مع أقواس SL/TP عند 0/0؛ ويُفعّل التقاطع في التشبع الشرائي (الحالي >= 68 من تحت) أمر بيع. مع وجود صفقة مفتوحة، يخرج المستشار إما عند تقاطع RSI-48، أو يلتزم بالوقف الزمني عند 340 ساعة، أو يُغلق قسرًا عند حدود الجلسة الآسيوية. لا يوجد مصنف نظام، ولا فلتر إطار زمني أعلى، ولا تحجيم بنسبة مخاطرة، ولا إضافة، ولا OnTester — ادعاء 12 طبقة في الرأس هو نسخة تسويقية، وليس كودًا منفّذًا.
يُفعَّل الدخول شراءً عندما يعبر مؤشر RSI(28) لأسفل عبر 30 (RSI للشمعة السابقة > 30 وRSI للشمعة الحالية <= 30) — شراء في تشبع بيعي عميق على M15. يُفعَّل الدخول بيعًا على العكس: يعبر RSI لأعلى عبر 68 (السابق < 68 والحالي >= 68). جميع عمليات الدخول مقيّدة بالجلسة الآسيوية (00:00-08:00 UTC) ومحظورة عندما يتجاوز سبريد الرمز MaxSpread.
مسارا خروج. الأول وقف زمني — إذا كانت الصفقة مفتوحة لأكثر من MaxDuration * 3600 ثانية (340 ساعة افتراضيًا، نحو 14 يومًا)، تُستدعى CloseAllTrades("Timeout"). الثاني خروج بمؤشر RSI — مع UseRSIExit=true، تُغلق صفقة شراء عندما يعبر RSI فوق 48، وتُغلق صفقة بيع عندما يعبر تحت 48. تُغلق الصفقات أيضًا قسرًا عندما تغادر الساعة الجلسة الآسيوية إذا كان CloseOutsideSession مُفعّلًا.
وقف الخسارة مُعطّل افتراضيًا. يعني UseStopLoss=false أن trade.Buy / trade.Sell تُرسل بـ sl=0، فلا يوجد وقف حماية لدى الوسيط. تفعيله يطبق مسافة StopLossPips=5 ثابتة من الدخول (ضيقة للغاية على AUDUSD M15). استخدم قيمة أوسع مثل 20-30 نقطة إذا اخترت تفعيله.
جني الأرباح مُعطّل افتراضيًا. يعني UseTakeProfit=false أن tp=0 يُرسل عند إدخال الأمر. مُدخل TakeProfitPips=175 خامد. عمليًا، يخرج المستشار عند تقاطع RSI عبر 48 (شراء: rsi يعبر فوق 48؛ بيع: rsi يعبر تحت 48) بدلًا من انتظار هدف نقاط ثابت.
مناسب أكثر لـ AUDUSD على الإطار M15 على وسيط ECN أو RAW بسبريد منخفض، برصيد لا يقل عن 100 دولار لامتصاص التحجيم الثابت عند 0.2 لوت وهامش كافٍ لانعكاس M15 دون نداء هامش. شغّل مع UseStopLoss=true عند 20-30 نقطة (لا 5)، وUseRSIExit=true، وUseTakeProfit=false، وتاجر في الجلسة الآسيوية (00:00-08:00 UTC) — سيغلق المستشار أي صفقة مفتوحة تلقائيًا عند حدود الجلسة.
منطق الاستراتيجية
Pipsgrowth EX18102 TrendFollow — تحليل منطق الاستراتيجية (من كود .mq5)
العائلة: TrendFollow
الماجيك: 22218102
الإصدار: 2.00
الوصف:
Simple RSI reversal EA targeting Asian session hours. Buys on oversold crossover and sells on overbought crossover with optional SL/TP and RSI-based exit. Includes on-chart info panel. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester
المؤشرات:
- مؤشرات قياسية
الدوال الرئيسية:
CreatePanel()CreateScoreLabel()UpdatePanel()IsAsianSession()GetCurrentSession()IsTradingAllowed()CheckRSICrossover()CloseAllTrades()TryClose_EX18102()TryClosePartial_EX18102()
// Pipsgrowth EX18102 TrendFollow — Execution Flow (from source analysis)
// Family: TrendFollow
// Simple RSI reversal EA targeting Asian session hours. Buys on oversold crossover and sells on overbought crossover with optional SL/TP and RSI-based exit. Includes on-chart info panel. 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
معاملات الإكسبرت
| المعامل | الافتراضي | الوصف |
|---|---|---|
| RSIPeriod | 28 | RSI period |
| OverboughtLevel | 68 | Overbought level |
| OversoldLevel | 30 | Oversold level |
| TakeProfitPips | 175 | Take profit in pips |
| StopLossPips | 5 | Stop loss in pips |
| MaxLotSize | 0.2 | Maximum lot size |
| MaxSpread | 1000 | Maximum allowed spread in pips |
| MaxDuration | 340 | Maximum trade duration in hours |
| UseStopLoss | false | Use stop loss |
| UseTakeProfit | false | Use take profit |
| UseRSIExit | true | Use RSI for exit |
| RSIExitLevel | 48 | RSI level to exit (50 = neutral) |
| CloseOutsideSession | true | Close trades outside Asian session |
| PanelBackground | clrBlack | Panel background color |
| PanelText | clrWhite | Panel text color |
| PanelX | 10 | Panel X position |
| PanelY | 20 | Panel Y position |
| InpMagicNumber | 22218102 | Magic Number |
| InpTradeComment | "Psgrowth.com Expert_18102" | Trade Comment |
#property copyright "Pipsgrowth.com"
#property link "https://pipsgrowth.com"
#property version "2.00"
#property strict
#property description "Pipsgrowth.com EX18102 SimpleRSIReversalAUDUSD — RSI reversal in Asian session with panel, full 12-layer stack."
// Include trade class
#include <Trade\Trade.mqh>
// Input parameters
input group "=== Strategy ==="
input int RSIPeriod = 28; // RSI period
input double OverboughtLevel = 68; // Overbought level
input double OversoldLevel = 30; // Oversold level
input int TakeProfitPips = 175; // Take profit in pips
input int StopLossPips = 5; // Stop loss in pips
input double MaxLotSize = 0.2; // Maximum lot size
input int MaxSpread = 1000; // Maximum allowed spread in pips
input int MaxDuration = 340; // Maximum trade duration in hours
input bool UseStopLoss = false; // Use stop loss
input bool UseTakeProfit = false; // Use take profit
input bool UseRSIExit = true; // Use RSI for exit
input double RSIExitLevel = 48; // RSI level to exit (50 = neutral)
input bool CloseOutsideSession = true; // Close trades outside Asian session
input group "=== Panel ==="
input color PanelBackground = clrBlack; // Panel background color
input color PanelText = clrWhite; // Panel text color
input int PanelX = 10; // Panel X position
input int PanelY = 20; // Panel Y position
input group "=== Identity ==="
input int InpMagicNumber = 22218102; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_18102"; // Trade Comment
// Global variables
CTrade trade;
int rsiHandle;
bool isPositionOpen = false;
double positionOpenPrice = 0;
datetime positionOpenTime = 0;
ENUM_POSITION_TYPE lastPositionType = POSITION_TYPE_BUY;
bool sessionCloseAttempted = false; // Track if we've attempted to close positions for current session
// RSI crossover variables
double rsiCurrent = 0;
double rsiPrevious = 0;
double rsiPrevious2 = 0;
bool rsiCrossedOverbought = false;
bool rsiCrossedOversold = false;
bool rsiCrossedExitLevel = false;
// Panel objects
string panelName = "RSIPanel";
int panelWidth = 200;
int panelHeight = 200;
int labelHeight = 20;
int labelSpacing = 5;
// Session times (UTC)
const int AsianSessionStart = 0; // 00:00 UTC
const int AsianSessionEnd = 8; // 08:00 UTC
الكود المصدري الكامل متاح عند التحميل
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.
تحذير صريح: لأغراض تعليمية فقط
تحذير صريح: هذا الإكسبرت لأغراض تعليمية واختبارية فقط. لا تستخدمه بأموال حقيقية. اختبره فقط على حساب تجريبي. التداول بأموال حقيقية ينطوي على مخاطر فقدان رأس المال. لا يشكل هذا نصيحة استثمارية.
وسطاء موصى بهم لهذا الإكسبرت
هذه الروبوتات تعمل على 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 مفتوح المصدر.
مجتمع المستخدمين
لأغراض تعليمية فقط. لا تستخدمه بأموال حقيقية. اختبر على حساب تجريبي فقط.