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

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

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

Pipsgrowth EX16100 Trend — Modular Expert Advisor System refactored for XAUUSD 5M with Hull MA, Heiken Ashi filter, trend EMA and RSI confirmation.. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX16100 Trend هو محرك توافق من أربع طبقات مصمم لزوج XAUUSD على الإطار الزمني M5. يبني المستشارة إشارة شراء أو بيع فقط عندما تتفق أربع طبقات تقنية مستقلة في الاتجاه نفسه، ثم يفرض هذا التوافق عبر إغلاق عكسي صريح، وأقواس حماية بنقاط ثابتة، وحجم لوت تلقائي يحسب المخاطرة كنسبة مئوية محددة من رصيد الحساب. النتيجة هي استراتيجية M5 لأداة واحدة تتجاهل معظم الشارت ولا تطلق الصفقة إلا عند تقاطع الاتجاه والزمخم والسلاسة وتأكيد الشمعة الملساء.

تتركز كومة الإشارات حول متوسط هول المتحرك المخصص المحسوب في الفئة CHullCalculator التي تربط مقبضي LWMA — واحد عند الفترة الكاملة 55 وواحد عند نصف الفترة (55/2.0 = 27) — ثم تحسب خطوة التنعيم النهائية WMA(sqrt(55)) يدوياً فوق مصفوفة الفروق 2 * wma_half - wma_full. القيمة الأساسية المستخدمة هي PRICE_CLOSE. المحفز الاتجاهي هو الميل: hullCurr > hullPrev يفعّل تحيز الشراء، وhullCurr < hullPrev يفعّل تحيز البيع. ما يحرك الدخول هو تقاطع الميل وليس تقاطع السعر.

يجب أن تتفق ثلاثة مرشحات تأكيد مع ميل هول لكي يتصرف المستشارة. أولاً، مرشح اتجاه مبني من مقبض iMA(200, MODE_EMA, PRICE_CLOSE) واحد يمنع دخولات الشراء عندما يتداول الإغلاق دون المتوسط 200، ويمنع دخولات البيع عندما يتداول الإغلاق فوقه — أي أن المستشارة يرفض ببساطة معاكسة الاتجاه السائد. ثانياً، مرشح RSI بفترة 14 يرفض دخولات الشراء عندما يكون RSI(14) عند مستوى InpRSIUpper أو أعلى منه (70 افتراضياً)، ويرفض دخولات البيع عندما يكون RSI(14) عند مستوى InpRSILower أو أدنى منه (30 افتراضياً)؛ ويمكن تعطيل كليهما. ثالثاً، مرشح هيكن آشي مكتفي ذاتياً في الفئة CHeikenAshi يقرأ الشمعتين السابقتين من سجل الأسعار، ويحسب HA_Close = (O+H+L+C)/4 للشمعة الحالية، ويبذر HA_Open من (prevOpen+prevClose)/2، ويشترط شمعة هيكن صاعدة (HA_Close > HA_Open) لعمليات الشراء وشمعة هابطة لعمليات البيع. يجب أن تطلق الطبقات الثلاث جميعها في الشمعة نفسها التي يفعّل فيها ميل هول حتى تُقبل الصفقة، لذا تُجمع الطبقات الأربع بعلامة AND في signalBuy وsignalSell.

تنقسم إدارة الصفقات بين GetLotSize وIsPyramidSafe وCountPositions وClosePositions وCheckExit() الفارغة كقالب. يستخدم GetLotSize افتراضياً اللوت التلقائي: يقرأ رصيد الحساب، ويضربه في InpRiskPercent (1.0% افتراضياً)، ويقسم على قيمة الخسارة لكل لوت (slPoints * _Point / tickSize * tickValue)، ويقصر النتيجة على InpMaxLotSize (5.0 لوت) قبل تطبيعها إلى خطوة اللوت لدى الوسيط. الاحتياط الثابت هو InpLots = 0.01. تستخدم أوامر القوسين مسافات ثابتة: InpStopLoss = 500 نقطة وInpTakeProfit = 1000 نقطة، مما يعطي نسبة مخاطرة إلى عائد 1:2 على كل دخول دون أي تتبع وقف، أو ترقية لنقطة التعادل، أو مسار إغلاق جزئي. تقوم دالة المساعدة TryClose_EX16100 بإعادة محاولة 3 محاولات (بفاصل 200 مللي ثانية) عند إعادة التسعير أو انتهاء المهلة أو تغير السعر، وهي دالة المساعدة الوحيدة الموصولة بموقع استدعاء حي — TryClosePartial_EX16100 وTryModify_EX16100 معرّفتان لكن لم تُستدعيا أبداً، لذا تظلان كوداً ميتاً.

منطق الانعكاس صريح: عندما تطلق إشارة شراء ومركز بيع مفتوح، يستدعي المستشارة أولاً ClosePositions(POSITION_TYPE_SELL) لتصفية مراكز البيع، ثم يفتح الصفقة الطويلة الجديدة. وينطبق المسار المعاكس على إشارات البيع. تسمح طبقة الهرمة بتراكم ما يصل إلى InpMaxOpenPositions = 5 مراكز في الاتجاه نفسه، لكن IsPyramidSafe يرفض الإضافة إلى صفقة خاسرة — posInfo.Profit() <= 0 يعيد false — ويشترط أيضاً أن يكون وقف المركز القائم عند سعر الفتح أو أفضل، أي عند نقطة التعادل بالفعل، قبل السماح بالإضافة الجديدة. يجلس المدخل InpMinProfitPoints = 100 في مجموعة المخاطر نفسها كمرجع للقراءة فقط؛ والبوابة الفعلية هي فحص Profit() > 0 وموقع الوقف داخل IsPyramidSafe، وليس إضافة قائمة على المسافة.

تعمل بوابة زمنية أولاً في OnTick. مع تفعيل InpUseTimeFilter، يسمح IsTradingTime بالدخول فقط عندما يقع ساعة الوسيط الحالية داخل النافذة 8 إلى 12 أو النافذة 14 إلى 20، معبراً عنها بتوقيت الخادم. خارج هذه الأقواس يقصر المستشارة بقية المنطق. مع تعطيل المرشح، يقيّم المستشارة الإشارات عند كل تيكت. لاحظ أن CheckExit() حالياً دالة لا تفعل شيئاً — لا يوجد وقف متحرك حي، ولا ترقية لنقطة التعادل، ولا خروج قائم على الوقت؛ الطرق الوحيدة لإغلاق المركز هي وقف الخسارة، وجني الأرباح، وانعكاس الإشارة العكسية، والإغلاق اليدوي من الترمنال. يعلن الترويسة عن كومة من 12 طبقة (REGIME / SIGNAL / ENTRY / CONFIRM / NO-TRADE / CAPITAL CAP / RISK / SIZING / MANAGE / EXIT / SCALING / OnTester) لكن العديد منها — تصنيف نظام السوق الصريح، وسقف رأس المال القائم على السحب، ومخارج التوسيع، وتجاوز OnTester — غير منفذة في هذا البناء؛ الكومة الحية أقرب إلى سبع من الطبقات الاثني عشر المسماة.

عملياً يحصل المستخدم على تصويت نظيف رباعي الاتجاهات، وقوس ثابت 1:2، و1% مخاطرة لكل صفقة بحجم يتناسب مع الرصيد، وهرمة 5 مراكز تشترط أن تكون المراكز القائمة رابحة وعند نقطة التعادل. الأداة هي XAUUSD M5، والسحر 22216100، ويفترض المستشارة أن الوسيط يوفر سيولة M5 معقولة خلال نوافذ توقيت الخادم 8-12 و14-20. لن يجد المستخدم الذي يريد وقف متحرك حي أو ترقية نقطة التعادل هذه الميزات في هذا البناء؛ CheckExit الفارغة هي الشيء الوحيد الذي يفصل بين السلوك الحالي ومخرج متدرج.

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

في كل تيكت داخل النافذة الزمنية النشطة (ساعات الخادم 8-12 و14-20 افتراضياً) يقرأ المستشارة أربع تدفقات بيانات: ميل HMA(55، قاسم 2.0) مخصص مبني من مقبضي LWMA في CHullCalculator، ومتوسط EMA بفترة 200 على PRICE_CLOSE، وRSI(14) على PRICE_CLOSE، وشمعة هيكن آشي محسوبة ذاتياً من CHeikenAshi. يحدد ميل هول التحيز الاتجاهي، وتعمل بوابة EMA على تقييد التداولات في جانب الاتجاه، ويرفض RSI الدخولات في مناطق تشبع الشراء للشراء أو تشبع البيع للبيع، وتضيف شمعة HA تأكيداً ملساً. تُدمج القيم المنطقية الأربع بعلامة AND، لذا لا تطلق إشارة شراء إلا عندما تتفق الطبقات الأربع في الشمعة نفسها. يحسب اللوت التلقائي في GetLotSize حجم كل صفقة ليكون 1% من رصيد الحساب مقابل وقف الخسارة 500 نقطة، مع تطبيع إلى خطوة لوت الوسيط وتحديد سقف 5.0 لوت. تستدعي الانعكاسات ClosePositions على الجانب المعاكس أولاً، ثم تفتح الصفقة الجديدة، وتمنع IsPyramidSafe الإضافات إلى المراكز الخاسرة والمراكز التي لم يصل وقفها بعد إلى نقطة التعادل. CheckExit() قالب فارغ — المخرج الحي الوحيد هو قوس 1:2 الثابت وإغلاق الإشارة العكسية.

إشارة الدخول

يتطلب دخول الشراء أن يكون ميل متوسط هول (55) متجهاً للأعلى، وأن يتداول الإغلاق فوق المتوسط 200 الأسي، وأن يكون RSI(14) دون 70، وأن تكون شمعة هيكن آشي صاعدة (HA_Close > HA_Open)؛ يجب أن تتفق الطبقات الأربع في الشمعة نفسها. دخول البيع يعكس الكومة: ميل هول هابط، وإغلاق دون المتوسط 200 الأسي، وRSI(14) فوق 30، وشمعة هيكن هابطة. عند الانعكاس الاتجاهي يغلق المستشارة أولاً كل مركز مفتوح على الجانب المعاكس عبر TryClose_EX16100 قبل فتح الجديد.

إشارة الخروج

لا يوجد منطق خروج حي في هذا البناء — CheckExit() دالة فارغة. تُغلق المراكز فقط عند تفعيل وقف الخسارة الثابت (500 نقطة) أو جني الأرباح الثابت (1000 نقطة)، أو عندما تطلق إشارة في الاتجاه المعاكس وتفعّل ClosePositions على الجانب الآخر، أو عندما يغلق المتداول الصفقة يدوياً. تقوم دالة المساعدة TryClose_EX16100 بإعادة المحاولة حتى 3 مرات بفواصل 200 مللي ثانية عند حالات إعادة التسعير أو انتهاء المهلة أو تغير السعر.

وقف الخسارة

كل دخول يستخدم وقف خسارة ثابتاً قدره 500 نقطة موضوعاً على سعر ask ناقص 500_Point في الشراء، وعلى سعر bid زائد 500_Point في البيع. تُستخدم قيمة InpStopLoss كمدخل لكل من وقف الوسيط وحساب حجم اللوت في GetLotSize.

جني الأرباح

كل دخول يستخدم جني أرباح ثابتاً قدره 1000 نقطة — 1000_Point فوق سعر ask في الشراء، و1000_Point تحت سعر bid في البيع — مما ينتج نسبة مخاطرة إلى عائد 1:2 على قوس 500/1000 نقطة. لا يوجد مخرج متدرج، ولا إغلاق جزئي، ولا جني أرباح متحرك في الكود الحالي.

الأنسب لـ

موصى به لزوج XAUUSD على الإطار الزمني M5 مع وديعة لا تقل عن 100 دولار، وملف المخاطر الافتراضي 1% لكل صفقة، وأقواس ثابتة 1:2 بنقاط 500/1000. الأفضل تشغيله على حساب ECN أو RAW بفارق سعر منخفض خلال نوافذ توقيت الخادم 8-12 (لندن) و14-20 (نيويورك) حيث تبلغ سيولة XAUUSD M5 ذروتها؛ خارج هذه الساعات يحجب المرشح الزمني الدخولات الجديدة. صُممت طبقة الهرمة للجلسات ذات الاتجاه الواضح — إذا توقفت المراكز القائمة في الربح قبل الوصول إلى جني الأرباح 1000 نقطة، فإن غياب منطق التتبع أو نقطة التعادل سيجعلها تعيد المكاسب غير المحققة.

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

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

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

الوصف: Modular Expert Advisor System refactored for XAUUSD 5M with Hull MA, Heiken Ashi filter, trend EMA and RSI confirmation. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • IsTradingTime()
  • GetLotSize()
  • IsPyramidSafe()
  • CountPositions()
  • ClosePositions()
  • CheckExit()
  • TryClose_EX16100()
  • TryClosePartial_EX16100()
  • TryModify_EX16100()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16100 Trend — Execution Flow (from source analysis)
// Family: Trend
// Modular Expert Advisor System refactored for XAUUSD 5M with Hull MA, Heiken Ashi filter, trend EMA and RSI confirmation. 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
الرموز المُحسّنة:
XAUUSD
الأطر الزمنية المُحسّنة:
M5

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

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

المعاملالافتراضيالوصف
InpHullPeriod55Hull Period
InpHullDivisor2.0Hull Divisor
InpHullPricePRICE_CLOSEHull Price
InpUseHeikenFiltertrueUse Heiken Ashi Filter
InpUseTrendFiltertrueUse Trend Filter (EMA)
InpTrendEMAPeriod200Trend EMA Period
InpUseRSIFiltertrueUse RSI Filter
InpRSIPeriod14RSI Period
InpRSIUpper70.0RSI Upper Level
InpRSILower30.0RSI Lower Level
InpLots0.01Fixed Lot Size
InpUseAutoLottrueUse Auto Lot
InpRiskPercent1.0Risk Percent per Trade
InpMaxLotSize5.0Max Lot Size
InpStopLoss500Stop Loss (Points)
InpTakeProfit1000Take Profit (Points)
InpUsePyramidtrueUse Pyramid Logic
InpMaxOpenPositions5Max Open Positions
InpMinProfitPoints100Min Profit to Add Position (Points)
InpUseTimeFiltertrueUse Time Filter
InpStartHour18Session 1 Start Hour
InpEndHour112Session 1 End Hour
InpStartHour214Session 2 Start Hour
InpEndHour220Session 2 End Hour
InpTradeComment"Psgrowth.com Expert_16100"Trade Comment
InpMagic22216100Magic Number
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16100.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16100 exModularEA_XAUUSD_5M — modular Hull MA EA for XAUUSD M5, full 12-layer stack."

#include <Trade/Trade.mqh>
#include <Trade/PositionInfo.mqh>
#include <Trade/SymbolInfo.mqh>
#include <Trade/AccountInfo.mqh>

//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
input group "=== Strategy Settings ==="
input int      InpHullPeriod     = 55;       // Hull Period
input double   InpHullDivisor    = 2.0;      // Hull Divisor
input int      InpHullPrice      = PRICE_CLOSE; // Hull Price
input bool     InpUseHeikenFilter= true;     // Use Heiken Ashi Filter
input bool     InpUseTrendFilter = true;     // Use Trend Filter (EMA)
input int      InpTrendEMAPeriod = 200;      // Trend EMA Period
input bool     InpUseRSIFilter   = true;     // Use RSI Filter
input int      InpRSIPeriod      = 14;       // RSI Period
input double   InpRSIUpper       = 70.0;     // RSI Upper Level
input double   InpRSILower       = 30.0;     // RSI Lower Level

input group "=== Entry & Risk Settings ==="
input double   InpLots           = 0.01;     // Fixed Lot Size
input bool     InpUseAutoLot     = true;     // Use Auto Lot
input double   InpRiskPercent    = 1.0;      // Risk Percent per Trade
input double   InpMaxLotSize     = 5.0;      // Max Lot Size
input double   InpStopLoss       = 500;      // Stop Loss (Points)
input double   InpTakeProfit     = 1000;     // Take Profit (Points)
input bool     InpUsePyramid     = true;     // Use Pyramid Logic
input int      InpMaxOpenPositions = 5;      // Max Open Positions
input double   InpMinProfitPoints = 100;     // Min Profit to Add Position (Points)

input group "=== Time Management ==="
input bool     InpUseTimeFilter  = true;     // Use Time Filter
input int      InpStartHour1     = 8;        // Session 1 Start Hour
input int      InpEndHour1       = 12;       // Session 1 End Hour
input int      InpStartHour2     = 14;       // Session 2 Start Hour
input int      InpEndHour2       = 20;       // Session 2 End Hour

input group "=== Other Settings ==="
input string   InpTradeComment   = "Psgrowth.com Expert_16100"; // Trade Comment
input int      InpMagic          = 22216100; // Magic Number

//+------------------------------------------------------------------+
//| Internal Classes                                                 |
//+------------------------------------------------------------------+

//--- Hull Moving Average Calculator
class CHullCalculator {
private:
   int            m_period;
   double         m_divisor;
   ENUM_APPLIED_PRICE m_price;
   int            m_handle_wma_full;
   int            m_handle_wma_half;

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

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

الوسوم:ex16100trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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