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

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

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

Pipsgrowth EX18104 TrendFollow — Simple RSI reversal EA targeting Asian session hours. Buys on oversold crossover and sells on overbought crossover with . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX18104 خبير آلي (EA) يعمل بمؤشر واحد فقط، يهدف إلى اقتناص ارتدادات قصيرة المدى من حالات التشبع القصوى في مؤشر RSI خلال الجلسة الآسيوية. المنطق مقصود به أن يكون غير متماثل: إذ يُعامل نضوب الجانب الهبوطي كحدث أشد تطرفًا بكثير من نضوب الجانب الصعودي، وهو ما ينعكس في عتبات OverboughtLevel / OversoldLevel غير المتوازنة. يُفعَّل مسار الشراء عندما يهبط مؤشر RSI بعمر 28 شمعة على إطار 15 دقيقة إلى ما دون مستوى 8 — وهو مستوى عميق جدًا على زوج AUDUSD M15، ولا يطلق الإشارة إلا مرات قليلة في الشهر، عادةً على شموع الاستسلام التي تشير إلى قاع محلي. أما مسار البيع، فيُفعَّل بمجرد أن يصعد RSI فوق 60، وهي قراءة تشبع شرائي معتدلة تتكرر بشكل أكبر، ويُفهم المنطق كـ «تلاشِ للقوة في شريط سعري لا يزال متذبذبًا»، وليس كتلاشٍ لاتجاه صاعد قوي. هذا الانقسام هو البصمة المميزة للخبير، والسبب الذي يجعله يعمل بمؤشر واحد وإطار واحد دون أن يتحول إلى فخ ضوضاء.

البوابة الثانية هي بوابة الجلسة الآسيوية. جميع منطق الأوامر ملفوف داخل الدالة IsAsianSession()، التي تستخدم TimeToStruct على ساعة الخادم ولا تسمح إلا بالساعات من 00:00 إلى 07:59 UTC. خارج هذه النافذة، يخرج الخبير فورًا. إذا تم تفعيل CloseOutsideSession، فإن أول تيكة من كل ساعة غير آسيوية تستدعي CloseAllTrades() لتصفير المراكز — وهو خيار مفيد للمتداولين الذين يريدون انكشافًا صفريًا خلال جلستي لندن ونيويورك. مع الإعداد الافتراضي false، يُسمح للمراكز المفتوحة بالاستمرار خلال بقية اليوم، معتمدةً على مسارات الخروج الأخرى للخبير. تظهر علامة الجلسة أيضًا على لوحة المعلومات على الشاش كلصف ثالث، ليتأكد المستخدم بنظرة واحدة من النافذة التي يعتبرها الخبير نشطة.

معالجة المؤشر بسيطة. تستدعي OnInit الدالة iRSI(_Symbol, PERIOD_M15, RSIPeriod, PRICE_CLOSE) وتنسخ ثلاث قيم في مصفوفة معكوسة الترتيب؛ إذا لم يكن المخزن المؤقت جاهزًا بعد عشر محاولات بفاصل 100 مللي ثانية، فإنها تسقط إلى 50.0 / 50.0 / 50.0 وتستمر. إطار الشموع مُبرمج بشكل ثابت — يمكن للمستخدم تغيير RSIPeriod (افتراضي 28) لكنه لا يستطيع تغيير الإطار الزمني الذي يغذي المخزن المؤقت. في كل تيكة تجتاز بوابة الجلسة وتكون السبريد أقل من الحد المكوَّن، تعيد OnTick تعبئة rsiCurrent وrsiPrevious وrsiPrevious2، ثم تستدعي CheckRSICrossover() لضبط ثلاثة متغيرات منطقية: rsiCrossedOversold وrsiCrossedOverbought وrsiCrossedExitLevel. التقاطع هنا يعني انتقالًا من شمعة واحدة: القيمة السابقة على جانب العتبة، والقيمة الحالية على الجانب الآخر، دون أي تنعيم أو متوسط.

منطق الدخول موجود في كتلة !hasOpenPosition في نهاية OnTick. يُطلق فرع الشراء عندما يكون rsiCrossedOversold صحيحًا — أي أن RSI قد طبع للتو عند 8 أو أقل بعد أن كان أعلى من 8 في الشمعة السابقة — ويكون سعر العرض (ask) داخل حد MaxSpread. تُستدعى trade.Buy(MaxLotSize, _Symbol, currentAsk, sl, tp, InpTradeComment) بانحراف 3 نقاط وملء ORDER_FILLING_IOC. مع الإعدادات الافتراضية UseStopLoss = false وUseTakeProfit = false، تُقيَّم معاملات SL/TP المُمررة إلى CTrade على 0/0، لذلك يُفتح الصفقة كمركز انعكاس متوسط بحت دون أي قوس حماية. يَعكس فرع البيع ذلك عند التقاطع الصعودي فوق 60، ويفتح بسعر العرض (bid) بنفس قواعد الملء والانزلاق. مُدخل MaxLotSize = 0.1 هو سقف ثابت وليس تحجيمًا قائمًا على المخاطر — لا يوجد حساب نسبي للرصيد، ولا مدخل نسبة من رأس المال، ولا تحجيم قائم على مسافة وقف الخسارة.

مخارج الصفقات متعددة الطبقات. المسار الأول هو خروج RSI: مع UseRSIExit = true وRSIExitLevel = 55، يُغلق مركز الشراء بمجرد أن يعبر rsiCurrent فوق 55 بعد أن كان دونه، ويُغلق مركز البيع بمجرد أن يعبر RSI تحت 55 بعد أن كان فوقه. مستوى 55 متعمد أن يكون صعوديًا قليلًا — فهو يتطلب من مركز الشراء فعليًا الصعود مجددًا إلى النصف العلوي من نطاق RSI قبل أن يقبل الخبير جني الأرباح، في حين يمكن لمركز البيع الخروج بمجرد أن يضعف RSI إلى 55، مما يجعل خروج الشراء أكثر صبرًا بنيويًا من خروج البيع. المسار الثاني هو وقف الوقت: MaxDuration = 270 ساعة (نحو 11.25 يومًا) — إذا ظل المركز مفتوحًا بعد تلك النافذة، تُستدعى CloseAllTrades("Timeout") من كتلة المركز المفتوح. المسار الثالث هو التسوية الاختيارية لنهاية الجلسة، التي لا تعمل إلا عندما يكون CloseOutsideSession true. لا توجد حركة لنقطة التعادل، ولا وقف متحرك، ولا إغلاق جزئي في المسار الحي للكود؛ فالمساعدات TryClosePartial_EX18104 وTryModify_EX18104 مُعلنة في المصدر لكنها غير مربوطة.

اللوحة على الشاش (CreatePanel / UpdatePanel) هي OBJ_RECTANGLE_LABEL بأبعاد 200×200 بكسل عند PanelX = 10, PanelY = 20 بسبعة صفوف بخط 8: قيمة RSI، حالة المركز (Long / Short / None)، السبريد بالنقاط، اسم الجلسة الحالية (Asian / London / New York / Other)، قيمة StopLossPips المُكوَّنة، قيمة TakeProfitPips المُكوَّنة، وآخر تسمية تقاطع. لاحظ أن اللوحة تعرض دائمًا قيم SL وTP المكوَّنة بدلًا من القيم الملحقة فعليًا بالمركز المفتوح — مع الإعدادات الافتراضية UseStopLoss = false وUseTakeProfit = false، ستعرض اللوحة «Stop Loss: 5 pips» و«Take Profit: 175 pips» رغم أن المركز الحي فُتح بأقواس 0/0. هذا عيب عرضي وليس خطأ تداولي: المركز الأساسي غير محمي، لكن اللوحة تعرض ما سيُستخدم إذا تم تفعيل هذه البوولات.

هناك بعض النقاط الصغيرة التي تستحق المعرفة قبل الاستخدام الحي. مدخل MaxSpread = 1000 موصوف بـ «بالنقاط» لكنه في الواقع يُقارن بالنقاط الخام — عند 1000، على وسيط من 5 خانات يعني ذلك 10 نقاط، لذلك لا يقيّد ظروف AUDUSD M15 النموذجية. تعمل بوابة الجلسة على وقت خادم الوسيط، لا على التوقيت المحلي للمستخدم، والجلسة الآسيوية معرّفة من 00:00 إلى 07:59 UTC؛ على الوسطاء بتوقيت خادم GMT+2 أو GMT+3 تنتقل النافذة وفقًا لذلك. يحتوي CloseAllTrades() على علم متبقٍّ hasOurPositions بسحري مُبرمج ثابت 123456 داخل فرع غير مستخدم — غير ضار لأن حلقة الإغلاق الفعلية تتكرر على _Symbol بصرف النظر، لكنه يستحق الذكر إذا قرأت المصدر. يحتفظ الخبير بمركز واحد فقط في كل مرة ولا يُضارب.

في اختبار خلفي، التوقع الواقعي هو ملف تعريف منخفض التردد وعالي الدقة: مسار OversoldLevel = 8 نادر وعليه أن يحمل الجزء الأكبر من الربح لكل صفقة، في حين أن مسار OverboughtLevel = 60 هو الحصان العامل وينتج سجل صفقات أكثر كثافة. تميل المنحنيات إلى أن تكون متقطعة خلال الجلسات الاتجاهية (عندما يظل مسار الشراء خاملًا ويتكبد مسار البيع خسائر صغيرة ضد الاتجاه) وأن تكون نظيفة خلال الساعات الآسيوية المحدودة النطاق. تتركز المخاطر بالكامل في وقف الوقت — دون وقف خسار صلب ملحق، فإن المركز الذي ينجرف ضد رؤية الخبير يُحمل حتى يُطلق خروج RSI أو يُفعل سقف الـ 270 ساعة، لذلك يمكن لإشارة واحدة سيئة أن تستعيد شريحة ذات معنى من الأرباح والخسائر الشهرية. هذا الخبير مُوجَّه للمتداولين الذين يريدون بصمة انعكاس غير متماثلة محددة الجلسة، ومرتاحين للسماح لوقف الوقت بالقيام بالعمل الذي كان سيقوم به وقف خسار صلب في استراتيجية أكثر تقليدية.

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

يسحب الخبير ثلاث قيم لـ RSI(28) من مخزن M15 المُبرمج ثابتًا في كل تيكة، ثم يستدعي CheckRSICrossover() لضبط ثلاثة متغيرات منطقية للانتقال — تشبع شرائي، تشبع بيعي، ومستوى الخروج. يُحصر فرع الدخول في OnTick بواسطة IsAsianSession() (00:00–07:59 UTC) وسقف MaxSpread قدره 1000 نقطة خام، وبعد ذلك يُطلق rsiCrossedOversold صفقة شراء بحجم MaxLotSize = 0.1 بأقواس 0/0، ويُطلق rsiCrossedOverbought صفقة بيع بنفس البنية المسطحة. تعمل المخارج بترتيب ثابت من كتلة المركز المفتوح: يُغلق UseRSIExit عند تقاطع RSIExitLevel = 55 (غير متماثل — يحتاج الشراء إلى تقاطع فوق 55، ويخرج البيع عند تقاطع دونه)، ثم وقف الوقت 270 ساعة، ثم التسوية الاختيارية لنهاية الجلسة. تُحدَّث اللوحة على الشاش كل تيكة بقيمة RSI الحالية وحالة المركز والسبريد والجملة وتسمية التقاطع. مساعدات CTrade للمحاولة TryClosePartial وTryModify مُعلنة لكنها غير مستدعاة، لذلك فإن الإغلاقات الجزئية وتعديلات SL/TP ليست جزءًا من المسار الحي.

إشارة الدخول

تُفعَّل صفقات الشراء عند انتقال RSI من شمعة واحدة: عندما يهبط مؤشر RSI بعمر 28 شمعة على شمعة 15 دقيقة إلى 8 أو أقل بعد أن كان أعلى من 8 في الشمعة السابقة، لاقتناص استسلام التشبع البيعي العميق. تُفعَّل صفقات البيع عند الانتقال المعاكس: عندما يصعد RSI إلى 60 أو أكثر بعد أن كان دونها، لتلاشي قوة التشبع الشرائي المعتدل. كلا المسارين محصور ضمن الجلسة الآسيوية 00:00–07:59 UTC، وتستخدم استدعاء الفتح CTrade مع MaxLotSize = 0.1 وانحراف 3 نقاط وملء IOC — ولا تُرفق أقواس SL/TP افتراضيًا.

إشارة الخروج

مخارج الصفقات متعددة الأولويات: المسار الأول هو تقاطع RSI لمستوى الخروج المُكوَّن (55)، فيُغلق مراكز الشراء عندما يصعد RSI مجددًا فوق 55، ويُغلق مراكز البيع عندما يهبط تحت 55. المسار الثاني هو وقف الوقت عند MaxDuration = 270 ساعة (نحو 11.25 يومًا)، والمسار الثالث هو التسوية الاختيارية لنهاية الجلسة عندما يكون CloseOutsideSession مُفعَّلًا. لا توجد حركة نقطة تعادل، ولا وقف متحرك، ولا إغلاق جزئي في المسار الحي للكود.

وقف الخسارة

لا يُرفق وقف خسار صلب بمراكز الشراء افتراضيًا — فـ UseStopLoss = false يمرر القيمة 0 كمعامل SL إلى trade.Buy / trade.Sell، لذلك يُحمل المركز الذي ينجرف ضد رؤية الخبير حتى يُطلق خروج RSI، أو يُفعَّل وقف الوقت عند 270 ساعة، أو تعمل التسوية الاختيارية لنهاية الجلسة. مُدخل StopLossPips = 5 مَربوط لكنه خامل حتى يقلب المستخدم البوول UseStopLoss.

جني الأرباح

لا يُرفق جني أرباح صلب بمراكز الشراء افتراضيًا — فـ UseTakeProfit = false يمرر القيمة 0 كمعامل TP إلى trade.Buy / trade.Sell، لذلك يعتمد الخبير كليًا على تقاطع الخروج عند 55 في RSI للإغلاق. مُدخل TakeProfitPips = 175 مَربوط في استدعاء الفتح لكنه خامل حتى يُقلب UseTakeProfit إلى true؛ وعند تفعيله، سيلتصق TP قدره 175 نقطة عند الدخول، وهو ما يتجاوز بكثير وقف الخسارة المعتاد 5 نقاط وسيكون R:R غير متماثل قدره 35:1 لكل صفقة.

الأنسب لـ

الحد الأدنى للرصيد الموصى به: 100 دولار (يحافظ MaxLotSize = 0.1 المُبرمج ثابتًا على طلب الهامش منخفضًا على حساب ميكرو 0.01 لوت، ويعمل على AUDUSD حيث يكون 0.1 لوت بالفعل حجمًا ذا معنى). يُفضَّل نشره على وسيط ECN بسبريد منخفض يوفر الوصول إلى AUDUSD M15 — سقف MaxSpread = 1000 نقطة خام سخي بما يكفي للعمل على أي عرض سعر معقول، وبوابة الجلسة الآسيوية (00:00–07:59 UTC) تعني أن معظم النشاط يتجمع في ساعات ما قبل لندن وطوكيو عندما يكون AUDUSD سائلًا لكن لم يدخل بعد في تقلبات لندن. يناسب المتداولين ذوي المخاطر المتوسطة الذين يريدون بصمة انعكاس محددة الجلسة ومنخفضة التردد على الأزواج الرئيسية، والمرتاحين مع الدخول بدون أقواس حماية الذي يعتمد على وقف الوقت 270 ساعة وخروج RSI بدلًا من أوامر وقف الخسارة الصلبة.

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

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

العائلة: TrendFollow الماجيك: 22218104 الإصدار: 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_EX18104()
  • TryClosePartial_EX18104()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX18104 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)

ملف التحسين

الوسطاء المُحسّنون:
ExnessIC Markets
الرموز المُحسّنة:
AUDUSD
الأطر الزمنية المُحسّنة:
M15H1

كيفية تثبيت الإكسبرت على 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

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

المعاملالافتراضيالوصف
RSIPeriod28RSI period
OverboughtLevel60Overbought level
OversoldLevel8Oversold level
TakeProfitPips175Take profit in pips
StopLossPips5Stop loss in pips
MaxLotSize0.1Maximum lot size
MaxSpread1000Maximum allowed spread in pips
MaxDuration270Maximum trade duration in hours
UseStopLossfalseUse stop loss
UseTakeProfitfalseUse take profit
UseRSIExittrueUse RSI for exit
RSIExitLevel55RSI level to exit (50 = neutral)
CloseOutsideSessionfalseClose trades outside Asian session
PanelBackgroundclrBlackPanel background color
PanelTextclrWhitePanel text color
PanelX10Panel X position
PanelY20Panel Y position
InpMagicNumber22218104Magic Number
InpTradeComment"Psgrowth.com Expert_18104"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX18104.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX18104 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 = 60;    // Overbought level
input double OversoldLevel = 8;      // Oversold level
input int    TakeProfitPips = 175;     // Take profit in pips
input int    StopLossPips = 5;       // Stop loss in pips
input double MaxLotSize = 0.1;        // Maximum lot size
input int    MaxSpread = 1000;           // Maximum allowed spread in pips
input int    MaxDuration = 270;         // 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 = 55;       // RSI level to exit (50 = neutral)
input bool   CloseOutsideSession = false; // 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 = 22218104; // Magic Number
input string InpTradeComment = "Psgrowth.com Expert_18104"; // 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

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

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

الوسوم:ex18104trendfollowpipsgrowthfreemt5audusd

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

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

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

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

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

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

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

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