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

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

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

Pipsgrowth EX16077 Trend — Smooth Engine EA using Hull MA, Linear Regression slope, ATR volatility, and Choppiness Index for smooth trend entries. . إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

مبني موتور سmoothEngine على مبدأ واحد: لا تدخل إلا عندما يكون السوق يتّجه فعلياً، لا عندما يتحرك وحسب. تُضمِّن فئة CSmoothEngine أربعة مؤشرات محسوبة يدوياً داخل الـ EA نفسه — متوسط هول المتحرك (Hull MA)، وميل الانحدار الخطي فوقه، ومدى المتوسط الحقيقي (ATR) مخصّص، ومؤشر التقطّع (Choppiness Index) المبني من نفس الـ ATR ومدى الشمعة. لا أحد من هذه المؤشرات يستدعي مؤشرات MT5 الجاهزة مثل iMA أو iRSI أو iATR؛ كل قيمة تُحسب شمعة بشمعة داخل الفئة من مصفوفات الإغلاق والارتفاع والانخفاض الخام. هذا يجعل الـ EA مكتفياً ذاتياً: يحمل حزمة مؤشرات خاصة به، يعيد حسابها عند كل شمعة مغلقة، ولا يتعامل مع الوسيط إلا من خلال تغذية الأسعار وتذاكر الأوامر.

الإشارة نفسها مبنية من مرشّحين يعملان على الشمعة عند shift=1. أولاً، يُقارن مؤشر التقطّع بفترة 14 شمعة بعتبة قدرها 61.8 — قيمة ترتبط عادةً بالأسواق الجانبية عديمة الاتجاه. إذا كان CI أعلى من 61.8، يُرجع المحرك صفر، أي لا تداول. تُتجاوز الشمعة، ولا يُرسل أي أمر، وتقرأ لوحة المعلومات WAIT. ثانياً، على نفس الشمعة المغلقة، يُحسب ميل انحدار خطي فوق آخر 14 قيمة HMA ثم يُقسَم على ATR. التطبيع هو الحارس الثاني: بقسمة الميل على ATR، يقارن المحرك معدّل تغيّر HMA بالتذبذب الحالي بدلاً من التغيّر السعري المطلق. عندما يكون الميل المُطبّع موجباً، يُرجع الـ EA +1 ويفتح شراء؛ وعندما يكون سالباً، يُرجع -1 ويفتح بيعاً. ولأن الميل يُقسَم على ATR، تتكيّف الإشارة مع أي نظام تذبذب يعيشه الرمز حالياً، فقَد يبدو اتجاه مسطّحاً بالنقاط ومع ذلك يُسجَّل ميلٌ موجب في سوق هادئ.

تدفّق on-tick قصير عمداً. يتحقّق المحرك أولاً من IsTradingTime و CheckSpread، ويعود مبكراً إذا كان الوقت الحالي خارج نافذة 08:00-20:00 المُعدّة أو إذا تجاوز السبريد الفوري 30 نقطة. عندما تُفتتح شمعة جديدة، يقرأ OnTick إغلاق وارتفاع وانخفاض الشمعة السابقة إلى المحرك، ويستدعي GetSignal، ويقرّر ما يجب فعله. إذا كانت الإشارة معاكسة لصفقة مفتوحة، يُستدعى CloseAllTrades للجانب الخطأ أولاً — انعكاس نظيف بدلاً من تخفيف في الاتجاه الخاسر. إذا كان اتجاه الإشارة بلا صفقة بعد، يُفتح أمر سوق واحد بوقف خسارة 300 نقطة خلفاً، وجني أرباح 600 نقطة أماماً (نسبة 1:2 ثابتة مغروسة في الهندسة)، وحجم لوت محسوب من 1% من رصيد الحساب نسبةً لوقف الـ 300 نقطة. تعني نسبة 1:2 الصلبة أن نسبة فوز 45% تُبقي النظام متوازناً، ومرشّح التقطّع مصمَّم لإبقاء الـ EA بعيداً عن نوافذ التقطّع التي تنهار فيها هذه النسبة.

ما يتجاوز به SmoothEngine متابع الاتجاه الأساسي هو مسار التراكم (pyramiding). يكون EnablePyramiding مُفعَّلاً افتراضياً و MaxOpenTrades مضبوطاً على 3، فيمكن لاتجاه واحد أن يتراكم حتى ثلاثة مراكز على نفس الجانب. كل دخول إضافي يُحكَم بسُلَّم PyramidingStep_Points = 200. يستخدم الفحص GetLastTradeProfit على آخر تذكرة لنفس الاتجاه، ويُقسَم ذلك الربح بعملة الحساب على قيمة النقطة للرمز، ولا يُفتح المستوى التالي إلا عندما يكون المستوى السابق قد تحرّك أكثر من 200 نقطة في الربح. النتيجة نمط «الرابح يُضاف، الخاسر يُكبح»: لا يدخل الـ EA أبداً في صفقة خاسرة بمتوسّط، لكنه يتصاعد في اتجاه مؤكَّد، ويظل المخاطرة لكل صفقة ثابتة لأن CalculateLotSize يُستدعى عند كل دخول جديد باستخدام الرصيد الفوري. هذا ينتج منحنى مثيراً: اتجاه بطيء الحركة يفتح عادةً مركزاً واحداً ويُرجع الربح غير المحقق قبل أن يُطلَق وقف الخسارة، بينما اتجاه سريع الحركة يفتح طبقتين أو ثلاث، كل منها بهدف 1:2 خاص به، مما يتيح للمركز أن يتضاعف دون أن يرفع المتداول مخاطرة الصفقة الواحدة.

حزمة المخاطرة قليلة لكن صريحة. يحوّل CalculateLotSize الرصيد × 1% إلى عدد لوتات بحلّ الحجم الذي سيخسر StopLoss_Points × حجم النقطة على الرمز الحالي، ثم يقيّدها ضمن الحد الأدنى والأعلى وخطوة الحجم لدى الوسيط. لا يوجد توسيع مخاطرة ديناميكي، ولا مرشّح منحنى رصيد، ولا قاطع دائرة ربح/خسارة يومي، ولا مدخل أقصى تراجع. الرافعة الوحيدة للتحكم بالخسارة هي وقف الخسارة لكل صفقة، وبوابة عدم التداول الوحيدة هما الوقت من اليوم والسبريد. هذا يجعل سلوك الـ EA سهل الاستنتاج في الباك تيست: لكل دخول خسارة قصوى معروفة، وكل دورة إما تفوز بـ TP، أو تخسر بـ SL، أو تُغلَق بإشارة معاكسة.

لوحة المعلومات قطعة صغيرة لكن وظيفية من التصميم. ترسم لوحة سوداء 200×160 في الزاوية العلوية اليمنى، مع تسمية إشارة (BUY بالأزرق، SELL بالأحمر، WAIT بالرمادي)، وسطر ربح/خسارة حي يجمع المراكز المفتوحة على رمز الشارت، وفترة HMA الحالية. زرّان يسمَحان للمتداول بزيادة أو تقليل فترة HMA دون إعادة ترجمة — الضغط على [+] يزيد g_HMA_Period ويستدعي ReinitializeEngine الذي يحذف CSmoothEngine القديم، ويُنشئ واحداً جديداً، ويُعيد تحميل حزمة المؤشرات من التاريخ. زر CLOSE ALL الأحمر يُسطّح جانبي الكتاب بنقرة واحدة. اللوحة مربوطة عبر OnChartEvent وتستخدم استدعاءات ObjectCreate / ObjectSet الخام بدلاً من لوحات المكتبة القياسية، ولهذا تنجو من تغيّرات معدّل التيك ومن تبديل فترة HMA دون ترك عناصر يتيمة على الشارت.

ما لا يفعله SmoothEngine هو أيضاً جزء من تصميمه. لا يوجد وقف خسارة متحرّك قائم على ATR؛ بمجرد كتابة SL و TP لا يُعدَّلان مجدداً. لا يوجد ترس نقطة التعادل، ولا إغلاق جزئي، ولا خروج قائم على الوقت خارج نافذة IsTradingTime، ولا مرشّح أخبار. أدوات إعادة المحاولة TryClosePartial_EX16077 و TryModify_EX16077 معرّفة لنمط استرداد الأخطاء القياسي (إعادة تسعير، انتهاء مهلة، تغيّر سعر) لكن لا يُستدعى أيٌّ منها من OnTick — يظلان كود ميت، على الأرجح سقالة لتمديد مستقبلي. الأداة المربوطة الوحيدة، TryClose_EX16077، تتعامل مع جانب الإغلاق من انعكاس الإشارة بمحاولتين أو ثلاث مع نوم 200 مللي ثانية على أخطاء قابلة لإعادة المحاولة.

اعتبارات عملية لتشغيله: الـ EA رمز-مُستقل ويعمل على أزواج العملات الرئيسية والذهب والمعادن الأخرى. تعني مخاطرة 1% الافتراضية مع وقف 30 نقطة حوالي 0.03 لوت على XAUUSD عند حساب 1,000 دولار، وتتصاعد نسبياً في مكان آخر. TradingHours تُحلّ كسلسلة HH:MM-HH:MM؛ تمرير صيغة غير صحيحة سيُرجع المحرك افتراضياً إلى التداول دائماً لأن أدوات جلب StringFind تُرجع 0/0 أو 23/59 عند مدخل سيئ. MaxSpread_Points البالغ 30 نقطة مناسب لحساب بعمولة 1-2 دولار على الذهب لكن قد يحتاج إلى رفع إلى 50 أو أكثر على وسيط عملات تجزئة خلال الجلسة الآسيوية. التراكم يتطلب أن يسمح الوسيط بمراكز متعددة على نفس الرمز بنفس الرقم السحري — حسابات الصافي ستعرض صفقة واحدة فقط لكل جانب، وسيُرفض المستوى الثالث بصمت. الرقم السحري 22216077، التعليق Psgrowth.com Expert_16077.

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

SmoothEngine هو EA يعمل عند كل شمعة جديدة ويعتمد كلياً على فئة CSmoothEngine. عند كل شمعة جديدة، تُدفع إغلاق وارتفاع وانخفاض الشمعة السابقة إلى الفئة عبر UpdateData التي تحتفظ بمخزّن متحرّك من 33 عنصراً ويُمرَّر للأمام عند الامتلاء. داخل الفئة، تبني CalculateHMA متوسط هول المتحرك كـ WMA(√n) لـ (2×WMA(n/2) − WMA(n))، ويُركّب CalculateLRSlope خط المربعات الصغرى فوق آخر 14 قيمة HMA، ويُنتج CalculateATR سلسلة المدى الحقيقي بأسلوب وايلدر، وتحوّل CalculateCI مجمّع ATR لمدة 14 شمعة ومدى الشمعة إلى قراءة تقطّع من 0 إلى 100. ثم يُستدعى GetSignal على الشمعة المغلقة عند shift=1: إذا كان CI > 61.8 تُرجع الدالة 0 (لا تداول)؛ وإلا تُرجع +1 لميل مُطبّع موجب، و -1 لميل سالب. يفرض OnTick مرشّحين مسبقين (IsTradingTime يُحلّل TradingHours كسلسلة HH:MM-HH:MM و CheckSpread يُقيّد السبريد الفوري عند 30 نقطة)، ثم يفتح إما أمراً جديداً بحجم لوت قريب من 0.10، أو يضيف طبقة إذا كان EnablePyramiding مُفعَّلاً والطبقة السابقة تجاوز ربحها 200 نقطة، أو يُغلق الجانب المعاكس عند انعكاس الإشارة. يُحسَب اللوت بواسطة CalculateLotSize لمخاطرة 1% بالضبط من الرصيد مقابل وقف 300 نقطة. تعرض لوحة صغيرة في الزاوية العلوية اليمنى الإشارة المباشرة وربح/خسارة، وتكشف أزرار +/- لفترة HMA إضافة إلى زر CLOSE ALL أحمر يُسطّح الجانبين عبر نفس غلاف TryClose_EX16077 الذي يتعامل مع إغلاق الإشارة المعاكسة داخل on-tick.

إشارة الدخول

عند كل شمعة جديدة، يقرأ CSmoothEngine إغلاق وارتفاع وانخفاض الشمعة السابقة، ويعيد حساب HMA(20)، وميل الانحدار الخطي فوق آخر 14 قيمة HMA، و ATR(14)، ومؤشر التقطّع CI(14). إشارة الشراء تتطلب CI ≤ 61.8 (السوق يتّجه لا يتقطّع) وميل مُطبّع موجب (الميل/ATR > 0). إشارة البيع تعكس ذلك بشرط CI ≤ 61.8 وميل مُطبّع سالب. إذا كان CI أعلى من 61.8، يُرجع GetSignal صفراً وتُتجاوز الشمعة كلياً.

إشارة الخروج

لا توجد منطق جَرّ أو نقطة تعادل مخصّص؛ المخارج الوحيدة هي جني الأرباح الثابت عند 600 نقطة، ووقف الخسارة الثابت عند 300 نقطة، وإغلاق الإشارة المعاكسة الذي يُطلَق عندما ينقلب GetSignal إلى الاتجاه المعاكس. عند الانعكاس، يُستدعى CloseAllTrades للجانب الخطأ أولاً، وهو يستخدم غلاف TryClose_EX16077 لمعالجة أخطاء إعادة التسعير/انتهاء المهلة/تغيّر السعر بما يصل إلى ثلاث محاولات ونوم 200 مللي ثانية بين المحاولات.

وقف الخسارة

كل صفقة تحصل على وقف خسارة ثابت 300 نقطة (مدخل StopLoss_Points) يُرفق عند الدخول؛ ولا يُعدَّل وقف الخسارة بعد ذلك. يُحسَب حجم المركز بحيث تخسر ضربة وقف الخسارة بالضبط RiskPercent (1% افتراضياً) من رصيد الحساب، مع تقييده ضمن الحد الأدنى/الأعلى/خطوة الحجم لدى الوسيط.

جني الأرباح

يُرفق جني أرباح ثابت 600 نقطة (مدخل TakeProfit_Points) عند الدخول، مما يعطي نسبة مخاطرة/عائد 1:2 ثابتة نسبةً لوقف الخسارة 300 نقطة. لا يوجد إغلاق جزئي، ولا جني أرباح ديناميكي، ولا ترس قفل ربح — يُكتب جني الأرباح مرة عند إرسال الأمر ولا يُحدَّث بعد ذلك.

الأنسب لـ

مناسب لحساب 100-500 دولار يشغّل XAUUSD على M5 مع وسيط ECN سبريده منخفض يسمح بمراكز متعددة لكل رقم سحري. تنتج مخاطرة 1% الافتراضية ونسبة RR الثابتة 1:2 نموّ رصيد بطيء لكن متراكم خلال اتجاهات XAUUSD النظيفة، لذا يحصل المتداولون القادرون على ترك الشارت وشأنه خلال نافذة 08:00-20:00 بتوقيت الخادم على أقصى استفادة من مسار التراكم 1-3 طبقات. أزرار +/- لفترة HMA في لوحة الشارت تجعل من السهل إعادة ضبط الاستجابة دون إعادة ترجمة.

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

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

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

الوصف: Smooth Engine EA using Hull MA, Linear Regression slope, ATR volatility, and Choppiness Index for smooth trend entries. Supports pyramiding with step distance, spread filter, trading hours, and risk-percent position sizing

المؤشرات:

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

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

  • GetStartHour()
  • GetStartMinute()
  • GetEndHour()
  • GetEndMinute()
  • IsTradingTime()
  • CheckSpread()
  • CountTrades()
  • CalculateLotSize()
  • GetLastTradeProfit()
  • OpenTrade()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16077 Trend — Execution Flow (from source analysis)
// Family: Trend
// Smooth Engine EA using Hull MA, Linear Regression slope, ATR volatility, and Choppiness Index for smooth trend entries. Supports pyramiding with step distance, spread filter, trading hours, and risk-percent position sizing

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

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

المعاملالافتراضيالوصف
InpMagicNumber22216077Magic number
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16077.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16077 SmoothEngineEA — HMA + LR + ATR + Choppiness trend EA, full 12-layer stack."

#include <Trade\Trade.mqh>

sinput const string GroupIndicator="";//=== Indicator Settings ===
input int      HMA_Period      = 20;
input int      LR_Period       = 14;
input int      ATR_Period      = 14;
input int      CI_Period       = 14;
input double   CI_Threshold    = 61.8;

int g_HMA_Period;

sinput const string GroupTrade="";//=== Trade Settings ===
input bool     EnablePyramiding      = true;
input int      MaxOpenTrades         = 3;
input int      PyramidingStep_Points = 200;
input int      StopLoss_Points       = 300;
input int      TakeProfit_Points     = 600;
input int      MaxSpread_Points      = 30;
input string   TradingHours          = "08:00-20:00";
input double   RiskPercent           = 1.0;
sinput const string GroupIdentity="";//=== Identity ===
input long     InpMagicNumber        = 22216077; // Magic number
input string   InpTradeComment       = "Psgrowth.com Expert_16077";

class CSmoothEngine
{
private:
   int m_hma_period;
   int m_lr_period;
   int m_atr_period;
   int m_ci_period;
   double m_ci_threshold;
   
   int m_bars_needed;
   int m_buffer_size;
   
   double m_close[];
   double m_high[];
   double m_low[];
   double m_atr[];
   double m_hma[];
   double m_slope[];
   double m_ci[];
   
   int m_current_pos;
   
   double CalculateHMA(const double &price[], int index)
   {
      int half_period = (int)MathFloor(m_hma_period / 2.0);
      int sqrt_period = (int)MathFloor(MathSqrt((double)m_hma_period));
      
      double wma1 = 0.0;
      int wma_count = 0;
      

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

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

الوسوم:ex16077trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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