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

Pipsgrowth EX16074 Trend — إكسبرت أدفايزر متابعة اتجاه

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

Pipsgrowth EX16074 Trend — Sidus trend-following EA using Alligator and RSI. Entry signals fire when Alligator lines separate by a configurable del. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكسبرت Pipsgrowth EX16074 ينتمي إلى عائلة Sidus من متابعات الاتجاه ويعمل على مكدس مؤشرين فقط: مؤشر Bill Williams' Alligator (ثلاثة متوسطات متحركة ممهدة) وقراءة واحدة لمؤشر RSI(14). بدلاً من انتظار خطوط التمساح الثلاثة حتى 'تفتح' أو 'تغلق' أفواهها بطريقة قاطعة، يقيس هذا التطبيق مدى ابتعاد كل خط عن قيمته السابقة ويشترط أن تتحرك الخطوط الثلاثة كلها في الاتجاه نفسه بأكثر من قيمة قابلة للضبط قبل أن يلتزم برأس المال. ثم يعمل RSI كبوابة تصويت زخم: لا يفتح الإكسبرت الصفقة إلا إذا كانت قراءة RSI السابقة على الجانب الخاطئ من مستوى 50 وأصبحت القراءة الأخيرة على الجانب الصحيح، وهذا يمنعه من اللحاق بآخر موجة في التحرك أو من إطلاق إشارة على شمعة دوجي تخدع التقاطع للحظة.

في كل شمعة جديدة (يحتفظ الكود بطابع زمني ثابت PrevBars ويعيد ضبطه داخل كتلة التداول حتى لا تحدث إعادة دخول على نفس الشمعة) يسحب المحرك بافرات Alligator لآخر شمعتين مغلقتين بالإضافة إلى البافر الرئيسي لمؤشر RSI(14). إعدادات التمساح هي إعدادات Williams الافتراضية — الفك (13, 8)، الأسنان (8, 5)، الشفاه (5, 3)، كلها متوسط ممهد (SMMA) — لكن كل فترة وإزاحة مكشوفة كمدخل، فيمكن للمتداول تمديد المؤشر أو ضغطه دون إعادة ترجمة. السعر المطبق الافتراضي هو الوسيط (5) للتمساح و الإغلاق (1) لمؤشر RSI؛ وكلاهما قابل للاختيار من قبل المستخدم.

حتى تنطلق إشارة الدخول للشراء، يجب أن تتوافر ثلاثة شروط على نفس الشمعة الجديدة: قراءة RSI السابقة تحت 50، وقراءة RSI الأخيرة فوق 50، وأن يكون ميل كل خط من خطوط التمساح — المعرَّف في الكود على أنه Jaw[1] - Jaw[2] و Teeth[1] - Teeth[2] و Lips[1] - Lips[2] — أكبر من InpDelta (0.00030 افتراضياً) في الاتجاه الموجب. إشارة البيع هي المرآة التامة: كان RSI فوق 50 في الشمعة السابقة وأصبح تحت 50 في الشمعة الأخيرة، وكل ميل من ميول التمساح أكثر سلبية من -InpDelta. لا يوجد مرشح ADX ولا فحص حجم ولا تأكيد من إطار زمني أعلى — تُفتح الصفقة عند افتتاح الشمعة التي تلي شمعة الإشارة، وهي نفس الشمعة التي أغلقت التقاطع.

وقف الخسارة ميكانيكي ومرتبط بالشمعة السابقة. للشراء، يُضبط وقف الخسارة على Low[1] - InpOffset (3 نقاط) — أي أسفل فتيل الشمعة السابقة بقليل. للبيع، يُضبط على High[1] + InpOffset. جني الأرباح هو المدخل الثابت InpTakeProfit وقيمته الافتراضية 75 نقطة. لوقف الخسارة المعتمد على التأرجح ملف سلوكي محدد: فهو يتنفس مع التذبذب لأنه كلما اتسعت الشمعة السابقة ابتعد وقف الخسارة للخلف، لكنه يعني أيضاً أن مسافة الوقف تتفاوت تفاوتاً كبيراً من إشارة إلى أخرى — إشارة تُطلق في صباح هادئ قد تحمل وقفاً بعرض 5 نقاط، في حين أن إشارة تُطلق بعد شمعة انعكاسية عريضة قد تحمل وقفاً بعرض 60 نقطة. ضبط InpTakeProfit = 0 يحوّل الإكسبرت إلى نظام وقف متحرك صرف يخرج فقط عبر قفزة التتبع أو عبر إغلاق الاتجاه المعاكس الاختياري.

بعد فتح الصفقة، تعمل دالة Trailing() على كل تيك، وليس فقط على الشموع الجديدة. تتحقق من السعر الحالي مقارنة بسعر الفتح؛ وبمجرد أن يتحرك السعر بأكثر من ExtTrailingStop + ExtTrailingStep (5 + 15 = 20 نقطة افتراضياً) في الربح، يُرفع وقف الخسارة إلى currentPrice - ExtTrailingStop. تمنع معاملة 'step' الإكسبرت من إصدار سلسلة متواصلة من طلبات التعديل أثناء صعود بطيء — يجب أن يتحرك السعر 15 نقطة إضافية قبل القفزة التالية. توجد حماية ضد تخفيف وقف الخسارة على صفقة خاسرة: if(m_position.StopLoss() < newSL) — بمجرد رفع وقف الخسارة على صفقة شراء، لا يمكن إنزاله مرة أخرى على نفس الصفقة. للبيع المنطق معكوس. يُعاد إصدار التتبع دائماً دون لمس حقل جني الأرباح، لذا يظل جني الأرباح الأصلي عند 75 نقطة نشطاً بالتوازي حتى يصل إليه السعر.

العلامة الاختيارية InpOpposite (معطلة افتراضياً) تغلق الصفقات على الاتجاه المعاكس عند إطلاق إشارة جديدة. هذا مفيد إذا أردت أن يكون الإكسبرت صافياً صفرياً عند انعكاسات الاتجاه، لكن في الأسواق المتذبذبة حيث يذبذب التمساح، قد تنطلق إشارات شراء وبيع متعاقبة في وقت قريب وقد يأكل الإكسبرت الفارق السعري مرتين. افتراضياً، يكدّس الإكسبرت الصفقة الجديدة فوق القائمة، تاركاً صفقة شراء وصفقة بيع مفتوحتين في نفس الوقت — وهذه ميزة في اتجاه قوي وفخ في نطاق ضيق. القرار ثنائي والمتداول يتحمل تبعاته.

إدارة رأس المال والمخاطر متعمدة البساطة. InpLots = 0.1 مدخل ثابت دون حساب نسبة مخاطرة، ودون سقوف مخاطرة لكل صفقة، ودون قاطع خسارة يومي، ودون حد أدنى لرصيد الأسهم. على المتداول الذي يكيِّف الإكسبرت على حجم حسابه تعديل حجم اللوت يدوياً، وتتحقق دالة CheckVolumeValue() من اللوت مقابل SYMBOL_VOLUME_MIN / MAX / STEP عند التهيئة. وتعيد m_trade.CheckVolume() التحقق قبل كل OrderSend. تلتف ثلاث دوال مساعدة للمحاولة — TryClose_EX16074 و TryClosePartial_EX16074 و TryModify_EX16074 — حول كل عملية تداول بما يصل إلى ثلاث محاولات وتنام 100–200 مللي ثانية عند إعادة التسعير أو انتهاء المهلة أو تغير السعر. هامش الانزلاق هو 10 نقاط.

يوصي الترويسة بالإطار M5 (نطاق العمل M5H1) وتذكر العملات الرئيسية بالإضافة إلى الذهب/المعادن. الإكسبرت بلا وضع إطار زمني متعدد — يتداول على أي رسم بياني يُلقى عليه. لا يوجد مرشح أخبار ولا بوابة جلسة ولا مرشح يوم من الأسبوع. دالة OnTradeTransaction() متروكة فارغة. دالة لياقة OnTester غير منفذة، لذا سيستخدم تحسين Strategy Tester إعداد المنصة الافتراضي.

ما يمكن توقعه في الباك تيست. إشارة Sidus متفرقة — تنتظر أن تتباعد خطوط التمساح فعلاً بمقدار غير تافه، وهذا يحدث عادة 2–4 مرات في يوم التداول على الرسم البياني لخمس دقائق. تتراوح نسبة الربح على نسخة مضبوطة بدقة بين 35–50% لأن الوقف معتمد على التأرجح وغالباً ما يكون أوسع من جني الأرباح في الإشارة الأولى، لكن الوقف المتحرك يحوّل قسماً من تلك الصفقات القريبة من التعادل إلى أرباح أكبر حين يمتد الاتجاه. يبلغ السحب ذروته خلال المرحلة الجانبية الحتمية التي تتسطح فيها خطوط التمساح ويكتفي الإكسبرت بالانتظار؛ وعندما يعود الاتجاه يسترد السحب عبر الإشارة التالية. إن InpDelta هو أهم مقبض ضبط: أنزله (مثلاً 0.00010) لأخذ مزيد من الإشارات في الاتجاهات الخفيفة، وارفعه (مثلاً 0.00060) لانتظار تحركات كاملة القوة. رفعه فوق 0.00100 يُسكت الإكسبرت تماماً على فروقات أسعار الفوركس retail.

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

يقرأ EX16074 مؤشر Bill Williams' Alligator (الفك 13/8، الأسنان 8/5، الشفاه 5/3، SMMA، سعر الوسيط) ومؤشر RSI(14) على الإغلاق، ثم يتحقق عند كل شمعة جديدة من ميل كل خط من خطوط التمساح — الفرق بين قيمته السابقة وتلك التي قبلها — مقابل InpDelta القابل للضبط من المستخدم (0.00030 افتراضياً). يقرأ أيضاً قيمتي RSI ويلتمس تقاطع خط 50. لا تنطلق الصفقة إلا عندما يتفق كل ميل من ميول التمساح على الاتجاه ويؤكد تقاطع RSI ذلك الاتجاه، فتُتجاهل شمعة صاعدة واحدة داخل تمساح مسطح كما يُتجاهل تقاطع هبوطي وحيد لـ RSI داخل تمساح صاعد. تستدعي دوال OpenBuy و OpenSell m_trade.CheckVolume قبل OrderSend، وتُطبّع السعر ووقف الخسارة وجني الأرباح، وتُسجل تفاصيل retcode كاملة. تضمن بوابة PrevBars الثابتة إشارة واحدة لكل شمعة جديدة، وترفع قفزة وقف الخسارة المتحرك في دالة Trailing() وقف الخسارة في اتجاه واحد كل 20 نقطة من الربح الجديد (مسافة 5 نقاط، خطوة 15 نقطة) دون أن ترخيه أبداً على نفس الصفقة.

إشارة الدخول

تنطلق إشارة الشراء عند افتتاح شمعة جديدة عندما تكون قراءة RSI(14) السابقة تحت 50، والقراءة الأخيرة فوق 50، وكان ميل كل خط من خطوط التمساح (الفك، الأسنان، الشفاه — الشمعة [1] ناقص الشمعة [2]) أكبر من InpDelta في الاتجاه الموجب. إشارة البيع هي المرآة حيث تكون كل الميول أكثر سلبية من -InpDelta ويكون تقاطع RSI تحت 50. تمنع حماية PrevBars الثابتة إعادة الدخول على نفس الشمعة، فلا يمكن للإكسبرت أن يطلق أكثر من إشارة واحدة لكل شمعة جديدة.

إشارة الخروج

يتم الخروج عبر قفزة وقف الخسارة المتحرك في دالة Trailing(): بمجرد أن يتحرك السعر بأكثر من InpTrailingStop + InpTrailingStep (5 + 15 = 20 نقطة افتراضياً) في الربح، يُضيق وقف الخسارة إلى currentPrice - InpTrailingStop، ثم يقفز كل InpTrailingStep إضافية. يظل جني الأرباح الأصلي عند 75 نقطة نشطاً بالتوازي ما لم يغلق وقف الخسارة المتحرك الصفقة أولاً. اختيارياً، يتيح تفعيل InpOpposite للإكسبرت إغلاق أي صفقة على الاتجاه المعاكس عند إطلاق إشارة جديدة، وهذا مفيد لإبقاء المحفظة صافية مسطحة عند انعكاسات الاتجاه لكنه قد يتأرجح في الأسواق المتذبذبة.

وقف الخسارة

يُضبط وقف الخسارة الأولي عند Extremum الشمعة السابقة ناقصاً أو زائداً InpOffset (3 نقاط): Low[1] - InpOffset للشراء، High[1] + InpOffset للبيع. يرفض الإكسبرت الإشارة كلياً إذا كان وقف الخسارة الناتج على الجانب الخاطئ من سعر العرض/الطلب الحالي (فحص أمان ضد أوامر الوقف المعكوسة). بعد الدخول، تحرك قفزة وقف الخسارة المتحرك في دالة Trailing() الوقف في اتجاه واحد عند الربح ولا ترخيه أبداً على نفس الصفقة.

جني الأرباح

جني أرباح ثابت عند InpTakeProfit (75 نقطة افتراضياً)، يُطبق على شكل Ask + 75point للشراء و Bid - 75point للبيع. ضبط InpTakeProfit على 0 يعطل جني الأرباح كلياً ويحوّل الصفقة إلى نظام وقف متحرك صرف يخرج فقط عندما تمسك القفزة المتحركة الحركة أو عند تفعيل إغلاق الاتجاه المعاكس الاختياري.

الأنسب لـ

مصمم لرسوم XAUUSD البيانية M5 أو H1 عند وسطاء فروق أسعارهم ضيقة على الذهب (حسابات ECN/RAW نموذجية حيث يكون فرق سعر الذهب تحت 30 نقطة). الحد الأدنى للرصيد الموصى به: 100 دولار مع InpLots عند 0.1. يناسب ملف المخاطرة MEDIUM متداول التأرجح المرتاح للاحتفاظ بصفقة عبر وقف الخسارة العريض الذي تتركه شمعة الانعكاس، وبوابة دخول الشمعة الجديدة تعني أن الإكسبرت لا يتصرف إلا عند إغلاق الشمعة السابقة — لا يوجد تداول ضوضاء داخل الشمعة. الأفضل إقرانه بجلسة غير اتجاهية (تداخل لندن + نيويورك) حتى يكون للتمساح الحجم الكافي للتباعد فعلاً.

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

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

العائلة: Trend الماجيك: 22216074 الإصدار: 2.00

الوصف: Sidus trend-following EA using Alligator and RSI. Entry signals fire when Alligator lines separate by a configurable delta and RSI confirms direction. SL from recent swing high/ low with offset, trailing stop, and opposite-position closing

المؤشرات:

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

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

  • OnTradeTransaction()
  • RefreshRates()
  • CheckVolumeValue()
  • iAlligatorGetArray()
  • iRSIGetArray()
  • OpenBuy()
  • OpenSell()
  • PrintResultTrade()
  • ClosePositions()
  • Trailing()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16074 Trend — Execution Flow (from source analysis)
// Family: Trend
// Sidus trend-following EA using Alligator and RSI. Entry signals fire when Alligator lines separate by a configurable delta and RSI confirms direction. SL from recent swing high/ low with offset, trailing stop, and opposite-position closing

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
الأطر الزمنية المُحسّنة:
M5H1

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

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

المعاملالافتراضيالوصف
m_magic22216074Magic number
InpLots0.1Lots
InpOffset3Offset (SL Buy: Low#1-Offset; SL Sell: High#1+Offset) (in pips)
InpTakeProfit75Take Profit (in pips)
InpTrailingStop5Trailing Stop (in pips)
InpTrailingStep15Trailing Step (in pips)
InpDelta0.00003Delta between Alligator lines (#1 - #2)
InpOppositefalseClosing Opposite Positions
Inp_jaw_period13Alligator: period of the Jaw line
Inp_jaw_shift8Alligator: shift of the Jaw line
Inp_teeth_period8Alligator: period of the Teeth line
Inp_teeth_shift5Alligator: shift of the Teeth line
Inp_lips_period5Alligator: period of the Lips line
Inp_lips_shift3Alligator: shift of the Lips line
Inp_MA_methodMODE_SMMAAlligator: method of averaging
Inp_applied_price5Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// Alligator: type of price
Inp_RSI_ma_period14RSI: period of averaging
Inp_RSI_applied_price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // RSI: type of price
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16074.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16074 Sidus — Alligator + RSI trend follower, full 12-layer stack."
//---
//---
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#include <Trade\SymbolInfo.mqh>  
CPositionInfo  m_position;                   // trade position object
CTrade         m_trade;                      // trading object
CSymbolInfo    m_symbol;                     // symbol info object
//--- input parameters
sinput const string GroupIdentity="";//=== Identity ===
input ulong                m_magic              = 22216074;   // Magic number
input string              InpTradeComment       = "Psgrowth.com Expert_16074";
sinput const string GroupTrading="";//=== Trading ===
input double   InpLots           = 0.1;      // Lots
input ushort   InpOffset         = 3;        // Offset (SL Buy: Low#1-Offset; SL Sell: High#1+Offset) (in pips)
input ushort   InpTakeProfit     = 75;       // Take Profit (in pips)
input ushort   InpTrailingStop   = 5;        // Trailing Stop (in pips)
input ushort   InpTrailingStep   = 15;       // Trailing Step (in pips)
input double   InpDelta          = 0.00003;  // Delta between Alligator lines (#1 - #2)
input bool     InpOpposite       = false;    // Closing Opposite Positions
sinput const string GroupAlligator="";//=== Alligator ===
input int                  Inp_jaw_period       = 13;          // Alligator: period of the Jaw line
input int                  Inp_jaw_shift        = 8;           // Alligator: shift of the Jaw line
input int                  Inp_teeth_period     = 8;           // Alligator: period of the Teeth line
input int                  Inp_teeth_shift      = 5;           // Alligator: shift of the Teeth line
input int                  Inp_lips_period      = 5;           // Alligator: period of the Lips line
input int                  Inp_lips_shift       = 3;           // Alligator: shift of the Lips line
input ENUM_MA_METHOD       Inp_MA_method        = MODE_SMMA;   // Alligator: method of averaging
input int Inp_applied_price = 5; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted)// Alligator: type of price
sinput const string GroupRSI="";//=== RSI ===
input int                  Inp_RSI_ma_period    = 14;          // RSI: period of averaging
input int Inp_RSI_applied_price = 1; // Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // RSI: type of price
//---
ulong          m_slippage=10;                // slippage

double         ExtOffset=0.0;
double         ExtTakeProfit=0.0;
double         ExtTrailingStop=0.0;
double         ExtTrailingStep=0.0;

int            handle_iAlligator;            // variable for storing the handle of the iAlligator indicator 
int            handle_iRSI;                  // variable for storing the handle of the iRSI indicator

double         m_adjusted_point;             // point value adjusted for 3 or 5 points
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   g_Inp_applied_price = MapAppliedPriceInt(Inp_applied_price);
   g_Inp_RSI_applied_price = MapAppliedPriceInt(Inp_RSI_applied_price);

   if(InpTrailingStop!=0 && InpTrailingStep==0)
     {
      string text=(TerminalInfoString(TERMINAL_LANGUAGE)=="Russian")?

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

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

الوسوم:ex16074trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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