P
PipsGrowth
أخرىمفتوح المصدر - مجاني

Pipsgrowth EX12078 MultiIndicatorConfluence — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX12078 MultiIndicatorConfluence — Multi-confirmation strategy using MA, RSI, MACD, and ADX indicators requiring minimum confirmations before entering trad. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

إكسبيرت Pipsgrowth EX12078 يعمل ببوابة تأكيد رباعية القنوات على شارت XAUUSD M5 واحد قبل أن يصدر أي أمر. عند كل شمعة جديدة يسحب الإكسبيرت أربع مجموعات مؤشرات — المتوسط المتحرك الأسي 21، ومؤشر RSI 14، ومؤشر MACD القياسي 12/26/9، ومؤشر ADX 14 مع خطي +DI و−DI — ويحسب كم منها يتفق على الاتجاه. لا يُرسل الأمر إلا عندما يصل عداد التأكيد الصاعد أو عداد التأكيد الهابط إلى InpMinConfirmations (الافتراضي 3 من 4). الإشارة التي تتكون من اتفاق 2 من 4 تُرفض؛ والإشارة 4 من 4 تُعامل مثل 3 من 4. البوابة عتبة صارمة، وليست درجة ثقة مرجحة، فإما أن يدخل النظام أو لا يدخل.

كل قناة من القنوات الأربع تختبر شرطاً مختلفاً من السوق. قناة المتوسط المتحرك تطلب أن يكون الإغلاق فوق المتوسط الأسي وأن يكون المتوسط نفسه صاعداً (فوق قيمة الشمعة السابقة) للشراء، أو العكس للبيع — هذا مرشح اتجاه وليس إشارة تقاطع. قناة RSI غير متماثلة: الشراء يتطلب RSI فوق InpRsiBull (55)، والبيع يتطلب RSI تحت InpRsiBear (45)، فلا يدخل الإكسبيرت عند قمم التشبع الشرائي أو القيعان التشبع البيعي الخام. قناة MACD تطلب أن يكون الخط الرئيسي فوق خط الإشارة وفوق الصفر للشراء، والعكس للبيع، مما يُبقي الصفقات في جانب نظام الهيستوجرام الإيجابي. قناة ADX هي بوابة قوة الاتجاه: يجب أن يتجاوز ADX مستوى InpAdxMinLevel (20) ويتقدم الخط الاتجاهي (+DI للشراء، −DI للبيع). إن كان ADX تحت العتبة تُرفض الصفقة بصرف النظر عن تصويت القنوات الثلاث الأخرى.

بعد اجتياز الإشارة، يحسب الإكسبيرت حجم الصفقة من الرصيد وبعد وقف الخسارة. مع InpRiskPercent=1.0% (الافتراضي)، يُحسب حجم اللوت كـ risk_money / (sl_points × tick_value / tick_size)، حيث risk_money هي 1% من الرصيد وsl_points هي InpStopLoss بالنقاط الخام. تُقرَّب النتيجة إلى درجة خطوة اللوت للرمز، ثم تُقَص إلى الحد الأدنى/الأقصى للرمز وإلى InpMaxLotSize (10.0). إذا ضُبط InpRiskPercent على 0، يلجأ الإكسبيرت إلى InpFixedLot (0.01). على XAUUSD مع وقف 500 نقطة، ينتج عن ذلك حجم ديناميكي يتناسب مع الرصيد، وليس 0.01 ثابت على كل دخول.

وقف الخسارة والهدف ثابتان بالنقاط الخام. InpStopLoss=500 وInpTakeProfit=750 ينتجان نسبة مخاطرة إلى عائد 1:1.5 في كل صفقة. الـ 500 نقطة تعادل 50 نقطة على تسعير الذهب بخمس خانات (النقطة = 0.01)، والهدف 750 نقطة يعادل 75 نقطة. تسامح الانزلاق InpSlippage=30 نقطة (3 نقاط) وبوابة السبريد InpMaxSpread=200 نقطة (20 نقطة) تحجبان الدخول عند اتساع الفروق السعرية — وهو أمر مهم على XAUUSD حيث قد تنتفخ الفروق خارج ساعات لندن. تعليق الصفقة "Psgrowth.com Expert_12078" يُحدَّد كتعليق على الأمر ليُسهل تحديد المراكز في تبويب التداول ودفتر اليومية.

التحصين (Pyramiding) اختياري لكنه مُفعَّل افتراضياً. مع InpUsePyramid=true وInpMaxPyramidTrades=3، يمكن للإكسبيرت تكديس حتى ثلاثة مراكز في الاتجاه نفسه. بوابة التحصين فحص ربح مقفل: يجب أن يكون وقف الخسارة في المركز القائم قد نُقل على الأقل InpPyramidMinProfit=100 نقطة (10 نقاط على الذهب) إلى داخل منطقة الربح قبل أن يسمح الإكسبيرت بالإضافة. إن كان وقف شراء ما زال عند سعر الدخول الأصلي أو تحته، ترفض البوابة. إن كانت إضافة جديدة ضد مركز قائم بالاتجاه المعاكس، يرفض الإكسبيرت أيضاً (لا تحوط داخل التحصين). مع تعطيل InpUsePyramid، يرفض الإكسبيرت الإضافة حين يكون أي مركز مفتوحاً.

قفل الربح المتنقل هو طبقة إدارة المراكز الثانية. ManageProfitLock() تعمل عند كل تيك — وليس فقط على شمعة جديدة — وتتحقق من ربح كل مركز مفتوح بالنقاط. ما إن يدخل المركز في ربح قدره InpLockTrigger=300 نقطة (30 نقطة)، ينقل الإكسبيرت وقفه إلى (السعر الحالي − InpLockDistance=100 نقطة) للشراء، أو (السعر الحالي + 100) للبيع. يجب أن يحسّن الوقف الجديد الوقف القائم بمقدار InpLockStep=50 نقطة (5 نقاط) على الأقل، وإلا لا يُرسل التعديل. بعد القفل الأولي، كل زيادة 50 نقطة إضافية في السعر تدفع الوقف بـ 50 نقطة أخرى. النتيجة وقف متحرك متدرج يُفعَّل فقط بعد حركة 30 نقطة ويتعقب السعر بفارق 10 نقاط، فلا يُغلق في ارتداد عادي.

مرشح الوقت نافذة زمنية بالسيرفر. مع InpUseTimeFilter=true وInpStartTime="08:00" وInpEndTime="20:00"، يبحث الإكسبيرت عن دخول فقط بين الساعة 08:00 و20:00 بتوقيت السيرفر. خارج هذه النافذة يستمر الإكسبيرت في إدارة قفل الربح على المراكز المفتوحة لكنه لا يفتح مراكز جديدة. النافذة الافتراضية تتوافق مع جلسة لندن ومعظم جلسة نيويورك لـ XAUUSD. InpCloseAtEnd افتراضياً false، لذا تبقى المراكز المفتوحة خلال النافذة بعد 20:00 ويستمر قفل الربح المتنقل في العمل حتى الإغلاق.

التنفيذ يستخدم غلاف CTrade مع ORDER_FILLING_FOK وبتسامح انزلاق 30 نقطة. ثلاث مساعدات إعادة — TryClose_EX12078 وTryClosePartial_EX12078 وTryModify_EX12078 — تتعامل مع أكواد الرد من البروكر REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED بمحاولات تصل إلى ثلاث مرات مع فواصل 100-200 مللي ثانية، وهو ما يكفي لاجتياز معظم عواصف إعادة التسعير على حسابات ECN للذهب. تنشئ دالة OnInit مقابض المؤشرات الأربعة وتتحقق منها، وتخرج بـ INIT_FAILED إن كان أي مقبض غير صالح. تُحرر دالة OnDeinit جميع المقابض وتمسح تعليق الشارت.

هذا تصميم لرمز واحد وإطار زمني واحد واتجاه واحد في كل مرة مع بوابات أمان صريحة. ليس شبكة، وليس مارتينجال، وليس مصنف أخبار أو جلسات يتجاوز نافذة الوقت البسيطة. منطق حماية الرأسمال هو فحص الربح المقفل في بوابة التحصين بالإضافة إلى قفل الربح المتنقل؛ لا يوجد قاطع خسارة يومي ولا سقف تراجع للمحفظة، لذا تقع مسؤولية الانضباط في تحديد الأحجام وضوابط المخاطرة على جانب البروكر أو المتداول.

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

عند كل تيك تستدعي OnTick أولاً RefreshRates وبوابة سبريد 200 نقطة؛ إن كان السبريد واسعاً جداً، تعود الدالة دون أي إجراء. ثم تتقدم ManageProfitLock() عبر كل المراكز على الرمز وتُدرّج الوقف على أي صفقة مفتوحة تجاوزت عتبة قفل 300 نقطة. إن كان مرشح الوقت مُفعَّلاً وساعة السيرفر خارج نافذة 08:00–20:00، تعود الدالة (أو تستدعي CloseAllPositions أولاً إن كان InpCloseAtEnd مُفعَّلاً). على شمعة جديدة يسحب الإكسبيرت قيمتي MA، وقيمة RSI، والخط الرئيسي والإشارة لـ MACD، وADX الرئيسي، و+DI/−DI، ثم يحسب عدادات التأكيد الصاعد والهابط عبر القنوات الأربع؛ ولا يستدعي CheckPyramidSafety(signal) إلا حين يصل أحد العدادين إلى InpMinConfirmations، وإن نجح يرسل أمر Buy أو Sell market بحجم اللوت المحسوب ووقف الخسارة الثابت بالنقاط والهدف الثابت بالنقاط. تُحرَّر مقابض المؤشرات الأربعة في OnDeinit ويُمسح تعليق الشارت في الوقت نفسه.

إشارة الدخول

يُفعَّل الشراء عندما تتفق 3 من 4 قنوات على الأقل: الإغلاق فوق المتوسط الأسي 21 مع صعود المتوسط، وRSI 14 فوق InpRsiBull (55)، والخط الرئيسي لـ MACD فوق خط الإشارة وفوق الصفر، وADX فوق InpAdxMinLevel (20) مع +DI فوق −DI. البيع هو镜像 تام. قناة المتوسط مرشح الاتجاه، وقناة RSI حافة الزخم غير المتماثلة، وقناة MACD مرشح النظام الإيجابي، وقناة ADX/DI بوابة قوة الاتجاه. إشارة 2 من 4 تُرفض بصرف النظر عن أي قناتين صوّتتا.

إشارة الخروج

تُغلق المراكز عند هدف 750 نقطة الثابت، أو وقف 500 نقطة الثابت، أو قفل الربح المتنقل المتدرج. تعمل ManageProfitLock() عند كل تيك، وما إن يتجاوز الربح InpLockTrigger=300 نقطة، تضبط الوقف على السعر ±100 نقطة ولا تتقدم إلا حين يتحرك السعر InpLockStep=50 نقطة إضافية في الربح. لا يوجد خروج قائم على المؤشر؛ المخارج الوحيدة هي الوقف والهدف والقفل المتدرج.

وقف الخسارة

يُوضع InpStopLoss=500 نقطة خام (50 نقطة على تسعير الذهب بخمس خانات) بشكل متماثل عند كل دخول ولا يُنقل إلى الداخل إلا بواسطة قفل الربح المتنقل — ولا يُوسَّع أبداً. لا يطبق الإكسبيرت سقف نسبة مخاطرة لكل صفقة يتجاوز تحديد حجم اللوت، ولا يوجد قاطع تراجع عالمي.

جني الأرباح

يعطي InpTakeProfit=750 نقطة خام (75 نقطة) نسبة مخاطرة إلى عائد ثابتة 1:1.5 على كل صفقة. لا يوجد إغلاق جزئي ولا خروج متدرج؛ يُحقَّق الهدف مرة واحدة ثم يُغلق المركز بواسطة غلاف CTrade دون مرحلة ثانية.

الأنسب لـ

شغّله على XAUUSD M5 بحساب ECN أو سبريد خام يحافظ على فروق الذهب النموذجية تحت 20 نقطة؛ الحد الأدنى 100 دولار قابل للتشغيل لكن 300 دولار فأعلى يمنح نموذج المخاطرة 1% مساحة لتحديد الحجم على وقف 50 نقطة دون الوصول إلى أرضية خطوة اللوت. نافذة 08:00–20:00 بتوقيت السيرفر مُصمَّمة لتداخل لندن + نيويورك — إن كانت ساعة سيرفر البروكر GMT+0 أو GMT+2 فأنت داخل النافذة بالفعل. وقت استجابة أقل من 30 مللي ثانية يساعد تحمل الانزلاق 30 نقطة على الصمود خلال أول 15 دقيقة من كل جلسة.

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

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

العائلة: MultiIndicatorConfluence الماجيك: 22212078 الإصدار: 2.00

الوصف: Multi-confirmation strategy using MA, RSI, MACD, and ADX indicators requiring minimum confirmations before entering trades. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • CheckPyramidSafety()
  • ManageProfitLock()
  • GetLotSize()
  • RefreshRates()
  • IsTradingTime()
  • StrToTime()
  • CloseAllPositions()
  • TryClose_EX12078()
  • TryClosePartial_EX12078()
  • TryModify_EX12078()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX12078 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Multi-confirmation strategy using MA, RSI, MACD, and ADX indicators requiring minimum confirmations before entering trades. 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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMaPeriod21MA Period
InpMaMethodMODE_EMAMA Method
InpRsiPeriod14RSI Period
InpRsiBull55RSI Bullish Level
InpRsiBear45RSI Bearish Level
InpMacdFast12MACD Fast
InpMacdSlow26MACD Slow
InpMacdSignal9MACD Signal
InpAdxPeriod14ADX Period
InpAdxMinLevel20Min ADX for Trend
InpMinConfirmations3Min Confirmations Required (1-4)
InpRiskPercent1.0Risk per trade (% of Balance)
InpFixedLot0.01Fixed Lot (if Risk=0)
InpMaxLotSize10.0Max Lot Size per trade
InpStopLoss500Stop Loss (Points)
InpTakeProfit750Take Profit (Points)
InpSlippage30Max Slippage (Points)
InpMaxSpread200Max Spread (Points)
InpMagicNumber22212078Magic Number
InpUsePyramidtrueEnable Safe Pyramiding
InpMaxPyramidTrades3Max Open Positions
InpPyramidMinProfit100Min Secured Profit (Points) for Next Add
InpUseProfitLocktrueEnable Profit Lock / Trailing
InpLockTrigger300Trigger Distance (Points in Profit)
InpLockStep50Step to advance SL (Points)
InpLockDistance100Distance to keep SL from Price (Points)
InpUseTimeFiltertrueEnable Time Filter
InpStartTime"08:00"Start Trading Time (Server)
InpEndTime"20:00"End Trading Time (Server)
InpCloseAtEndfalseClose all at end time
InpTradeComment"Psgrowth.com Expert_12078"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX12078.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX12078 Confirmation_XAUUSD_5M — Multi-indicator confluence (MA, RSI, MACD, ADX), full 12-layer stack."

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

// --- Global Objects ---
CTrade         m_trade;
CSymbolInfo    m_symbol;
CPositionInfo  m_position;
CAccountInfo   m_account;

// --- Inputs ---

input group "=== Confirmation Indicators ==="
input int      InpMaPeriod          = 21;          // MA Period
input ENUM_MA_METHOD InpMaMethod    = MODE_EMA;    // MA Method
input int      InpRsiPeriod         = 14;          // RSI Period
input int      InpRsiBull           = 55;          // RSI Bullish Level
input int      InpRsiBear           = 45;          // RSI Bearish Level
input int      InpMacdFast          = 12;          // MACD Fast
input int      InpMacdSlow          = 26;          // MACD Slow
input int      InpMacdSignal        = 9;           // MACD Signal
input int      InpAdxPeriod         = 14;          // ADX Period
input int      InpAdxMinLevel       = 20;          // Min ADX for Trend

input group "=== Confirmation Required ==="
input int      InpMinConfirmations  = 3;           // Min Confirmations Required (1-4)

input group "=== Money Management ==="
input double   InpRiskPercent       = 1.0;         // Risk per trade (% of Balance)
input double   InpFixedLot          = 0.01;        // Fixed Lot (if Risk=0)
input double   InpMaxLotSize        = 10.0;        // Max Lot Size per trade

input group "=== Trade Management ==="
input int      InpStopLoss          = 500;         // Stop Loss (Points)
input int      InpTakeProfit        = 750;         // Take Profit (Points)
input int      InpSlippage          = 30;          // Max Slippage (Points)
input int      InpMaxSpread         = 200;         // Max Spread (Points)
input ulong    InpMagicNumber       = 22212078;    // Magic Number

input group "=== Pyramid / Scaling ==="
input bool     InpUsePyramid        = true;        // Enable Safe Pyramiding
input int      InpMaxPyramidTrades  = 3;           // Max Open Positions
input int      InpPyramidMinProfit  = 100;         // Min Secured Profit (Points) for Next Add

input group "=== Profit Lock & Trail ==="
input bool     InpUseProfitLock     = true;        // Enable Profit Lock / Trailing
input int      InpLockTrigger       = 300;         // Trigger Distance (Points in Profit)
input int      InpLockStep          = 50;          // Step to advance SL (Points)
input int      InpLockDistance      = 100;         // Distance to keep SL from Price (Points)

input group "=== Time Management ==="
input bool     InpUseTimeFilter     = true;        // Enable Time Filter
input string   InpStartTime         = "08:00";     // Start Trading Time (Server)

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

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

الوسوم:ex12078multiindicatorconfluencepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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