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

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

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

Pipsgrowth EX12065 MultiIndicatorConfluence — Adaptive breakout EA using Gaussian volatility bands with RSI entry/exit confirmation, ATR-based SL, HTF EMA trend align. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

EX12065 — Gen2_RSA_Gold — هو روبوت تداول اختراقي بأربعة مؤشرات يضيف فلتر RSI الاتجاهي إلى إطار عمل نطاقات غاوسية المشترك في بقية عائلة EX12. يحمل الاسم "Gen2" لأن الجيل السابق من العائلة كان يعتمد كلياً على حزمة غاوس/آليغيتور/دونتشيان، أما هذا الإصدار فيحافظ على بناء النطاقات الغاوسية لكنه يتخلى عن فلاتر آليغيتور ودونتشيان وADX وD1 وW1 الاختيارية، ويستبدلها بمؤشر RSI(14) المثبّت كطبقة تأكيد على كل دخول وكإشارة إغلاق على كل خروج. الملف قصير — 16 دالة و21 مدخلاً و0 تعريفات — والمعمارية بسيطة بما يكفي لشرحها كاملة.

يبدأ بناء النطاقات بمتوسط متحرك أسي لمدة 10 فترات على الإطار الزمني للعمل، ويسميه الكود GaussianFilter. يُرسم نطاقان حول هذا الخط الأوسط بمقدار ±DistanceMultiplier × ATR(14)، والقيمة الافتراضية لـ DistanceMultiplier هي 0.85. فإذا كان الخط الأوسط عند 1900.00 وقيمة ATR 4.50، يكون النطاق العلوي عند 1903.83 والسفلي عند 1896.18. المرجع هو الخط الأوسط نفسه وليس سعر الإغلاق: يراقب الروبوت قيمتي gaussNow وgaussPrev للتأكد من اتجاه الميل.

شروط الدخول متراكمة وليست بديلة. البوابة الأولى هي فلتر الشمعة القوية — يجب أن يكون الجسم 60% على الأقل من المدى الكامل للشمعة. الثانية هي اختراق النطاق مع تأكيد عبر شمعتيَن: يجب أن يكون إغلاق اليوم فوق النطاق العلوي في حين أن الإغلاقين السابقين كانا تحته (العكس للبيع). الثالثة هي بوابة الترند — يجب أن يكون السعر على الجانب الصحيح من المتوسط المتحرك الأسي لمدة 50 فترة على الإطار الزمني الأعلى، والقيمة الافتراضية هي H4 (TrendFilterTF = 6). الرابعة هي الميل — gaussNow > gaussPrev للشراء. الخامسة هي مسافة الاختراق — (السعر − gaussNow) > 0.3 × ATR، وهذا يمنع الروبوت من شراء ضوضاء بالكاد تخترق النطاق. السادسة والحاسمة هي تأكيد RSI. مع RSI_Period = 14 وUseRSIForEntries = true، تتطلب الصفقة الشرائية أن يكون rsi < 70 وrsiPrev < rsi — أي أن RSI تحت التشبع الشرائي ويرتفع. والصفقة البيعية تتطلب rsi > 30 وrsiPrev > rsi. فلتر "ارتفاع RSI مع اختراق صاعد" هو ما يجعل اسم Gen2_RSA يستحق تسميته: المؤشر ليس للزينة، بل يتحكم في كل صفقة.

قبل إرسال الأمر، تقوم CloseOpposite() بتمرير على المراكز المفتوحة وإغلاق أي مركز في الاتجاه المعاكس. هذا فلتر اتجاهي مسبق وليس تحوطاً: إذا كان الروبوت في صفقة شراء وظهرت إشارة بيع، يُغلق الشراء أولاً ثم يُفتح البيع. تستخدم كائنات trade.Buy(Lots, _Symbol, ask, slBuy, tpBuy, InpTradeComment) بقيمة Lots = 0.1 ثابتة، وslBuy = ask − 1.2 × ATR، وtpBuy = ask + 160 × _Point، وتعليق Psgrowth.com Expert_12065. HardSL_Points = 120 هو الاحتياطي المستخدم عندما يرجع ATR صفراً؛ ووقف الخسارة الفعلي يتدرج مع التذبذب.

تُشغَّل إدارة المراكز في كل تيك بعد وجود صفقة. وقف الخسارة المتتبع المعتمد على ATR هو الطبقة الأولى: إذا كان الوقف الجديد المحسوب على الجانب الصحيح من الوقف الحالي، تدفعه TryModify_EX12065() للأمام. طبقة نقطة التعادل هي الثانية: بمجرد أن يصبح (bid − entry) > 1.2 × ATR (نفس المضاعف المستخدم في التتبع)، يُسحب الوقف إلى مستوى الدخول. طبقة قفل الربح الديناميكي هي الثالثة: مع LockProfitEvery_X_Dollars = 2.0 وLockMinusBuffer = 1.0، كل 2$ من الربح غير المحقق يرفع القفل بمقدار 1$، فعند ربح قدره 4.20$ يكون القفل عند 3$ فوق الدخول (خطوتان × 2$ − 1$ احتياطي). كل طبقة أحادية الاتجاه — لا واحدة منها توسع وقف الخسارة.

نظام الخروج هو حيث تظهر قيمة معمارية Gen2_RSA. بعد كتلة إدارة المراكز، يقرأ الروبوت قيم RSI للشموع 0 و1 و2 ويحسب rsiTrendUp = rsi > rsiPrev > rsiPrev2 (والعكس للهبوط). مع UseRSIEarlyExit = true وRSI_ExitConfirmationPeriods = 2، يعدّ الروبوت كم من آخر قراءتيَن لـ RSI كانت في منطقة التشبع الشرائي (لمركز شراء) أو التشبع البيعي (لمركز بيع). إذا تأهلت الشمعتان وUseRSITrendForExit = true، يتطلب الروبوت أيضاً rsiTrendDown لتأكيد خروج الشراء. هناك رابع خروج اختياري — UseRSIDivergenceExit = false افتراضياً — يُفعَّل عندما يحقق السعر قمة أعلى لكن RSI يحقق قمة أدنى (أو العكس) خلال آخر 3 شموع. لا يحل أي من هذه المخارج محل جني الأرباح: جني الأرباح الثابت عند 160 نقطة لا يزال على التذكرة وسيُغلق الصفقة طبيعياً.

سقف رأس المال وسقف الجلسة يُتمّمان النظام. ترجع CheckMaxDrawdown() قيمة false بمجرد أن يصبح 100 × (الرصيد − حقوق الملكية) / الرصيد > MaxDrawdownPercent (10.0)، وتخرج OnTick مبكراً عند انتقال الحالة. آلية الجمعة مبنية حول إغلاق السوق الساعة 17:00 بتوقيت السيرفر: بين 15:00 و17:00 يوم الجمعة، ترجع IsNearFridayClose() قيمة true، وإذا كان CloseTrades2HoursBeforeFriday = true يستدعي الروبوت CloseAllPositions() ويعود. وإذا كان AvoidTrading2HoursBeforeFriday = true، لن يُفتح أي صفقة جديدة في هذه النافذة أيضاً. تتحسس دالة AutoTuneFilters() فارق ASK-BID المباشر وتبدّل pipFactor بين 0.0001 و0.01، وهذا ما يجعل نفس القيمة الافتراضية MinATR = 0.03 تعمل على أزواج الفوركس بأربع منازل وعلى XAUUSD بمنزلتيَن. UseAutoFilter = true يُفعّل هذا افتراضياً؛ وعند تعطيله يستخدم الروبوت القيم الخام من MinATR وMinBreakDistance.

هناك بعض المدخلات الأخرى الجديرة بالمعرفة. OneTradeOnly = true يعني أن الروبوت يدير مركزاً واحداً فعلياً — مع أن MaxOpenTrades = 5 مكشوف، شرط canTrade لا يسمح بالدخول إلا عند عدم وجود مركز. AllowOnlyProfitableAdditions = true مع MinProfitPerTradeToAdd = 5.0 هو حارس زائد: مع تفعيل OneTradeOnly، يجب أن يكون كل مركز قائم على ربح 5$ على الأقل قبل فتح صفقة جديدة. UseRSIForEntries وUseRSIEarlyExit وUseRSITrendForExit كلها مفعّلة افتراضياً؛ وUseRSIDivergenceExit هو المدخل الوحيد في مجموعة RSI الذي يأتي معطلاً. أغلفة إعادة المحاولة الثلاثة — TryClose_EX12065 وTryClosePartial_EX12065 وTryModify_EX12065 — تتعامل مع REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED بثلاث محاولات وفترات نوم 200ms (أو 100ms للتعديل).

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

في كل تيك، يفحص الروبوت أولاً سقف رأس المال ونافذة الجمعة، ثم يستدعي AutoTuneFilters() لاستخراج minATR وbreakDistance وbandMult من فارق السعر المباشر، ويتخطى التيك إذا كان ATR تحت الحد الأدنى. بأربعة مؤشرات (iMA(10) للخط الأوسط الغاوسي، iATR(14)، iMA(50) على فلتر الترند H4، وiRSI(14))، يسحب قيم gaussNow وgaussPrev والنطاقين وEMA الإطار الأعلى ونسب الجسم/المدى في الشمعة وقراءات RSI. إذا كان canTrade صحيحاً (لا يوجد مركز مفتوح، العدد تحت MaxOpenTrades، كل المراكز القائمة تحمل ≥ 5$ ربح، نافذة الجمعة خالية) وكانت الشمعة مؤهلة، تعمل بوابات الدخول بالترتيب: اختراق النطاق عبر شمعتيَن، الميل، مسافة الاختراق، ترند الإطار الأعلى، وفحص ارتفاع/هبوط RSI. تُسوّي CloseOpposite() الاتجاه الخاطئ قبل أن يرسل trade.Buy/trade.Sell الأمر بـ 0.1 لوت، ووقف 1.2 × ATR، وجني أرباح 160 نقطة. ثم تُكدّس كتلة إدارة المراكز التتبع المعتمد على ATR وسحب نقطة التعادل وقفل الربح الديناميكي — كلها مغلفة في استدعاءات TryModify_EX12065 بثلاث محاولات. تقرأ كتلة الخروج قيم RSI للشموع 0/1/2، وتعدّ فترات تأكيد التشبع، وتفحص اختيارياً الترند والتباعد، وتستدعي TryClose_EX12065 لإغلاق المركز عند تفعيل الإشارة.

إشارة الدخول

تُفعَّل صفقات الشراء عندما تتراكم ستة شروط: شمعة قوية (الجسم ≥ 60% من المدى) تُغلق فوق النطاق الغاوسي العلوي (الخط الأوسط + 0.85 × ATR) مع بقاء الإغلاقين السابقين تحته، ويكون الإغلاق فوق بوابة الترند EMA(50) على H4، ويميل gaussNow للأعلى، ويتجاوز (السعر − gaussNow) 0.3 × ATR، ويكون RSI(14) تحت 70 مع rsiPrev < rsi (RSI يرتفع). والعكس للبيع على كل شرط، مع RSI فوق 30 وهابط. تقوم CloseOpposite() بتصفية أي مركز في الاتجاه المعاكس قبل إرسال الأمر الجديد.

إشارة الخروج

يخرج الروبوت عبر ثلاث طبقات: جني الأرباح الثابت عند 160 نقطة، وقفل الربح الديناميكي (يقفز كل 2$ مع احتياطي 1$)، وخروج RSI المبكر الذي يُفعَّل عندما تتأكد شمعتان متتاليتان من RSI في منطقة التشبع الشرائي (أو البيعي) مع انعكاس اتجاه الترند ضد المركز. كما يوجد خروج اختياري بالتباعد (معطل افتراضياً) يُغلق الصفقة عندما يحقق السعر قمة أعلى لكن RSI يحقق قمة أدنى خلال 3 شموع.

وقف الخسارة

يرتبط وقف الخسارة بمؤشر ATR(14) على الإطار الزمني العامل عند 1.2 × ATR (مع HardSL_Points = 120 كاحتياطي عندما يرجع ATR صفراً). يُسحب الوقف إلى نقطة التعادل بمجرد أن يتجاوز (bid − entry) 1.2 × ATR، ثم تدفعه طبقة قفل الربح الديناميكي إلى الأمام بزيادات 2$/1$. التتبع وقفل الربح أحاديا الاتجاه — لا يُوسَّع وقف الخسارة أبداً.

جني الأرباح

جني الأرباح ثابت عند 160 نقطة على تذكرة الأمر (FixedTP_Points = 160)، حيث tpBuy = ask + 160 × _Point وtpSell = bid − 160 × _Point. جني الأرباح مستقل عن ATR ولا يتدرج مع التذبذب — كل مركز له نفس الهدف الاسمي ما لم يُغلقه خروج RSI المبكر أو قفل الربح الديناميكي أولاً.

الأنسب لـ

يناسب متداولي XAUUSD على M5 الذين يديرون نظام ذهب بمركز واحد على حساب ECN أو منخفض الفارق بهامش 100$ على الأقل. معمارية Gen2_RSA مضبوطة على جلسات تداخل لندن ونيويورك، عندما يحافظ تذبذب الذهب على اختراقات 1.2 × ATR لنطاقات غاوسية 0.85 × ATR. على المتداولين المحافظين إبقاء UseRSIDivergenceExit معطلاً والاعتماد على تأكيد RSI للشمعتيَن في مناطق التشبع؛ أما المتداولون الهجوميون فيمكنهم تفعيله لاصطياد القمم والقيعان على H4. سقف الانخفاض 10% وإغلاق الجمعة بين 15:00-17:00 بتوقيت السيرفر يجعلانه مرشحاً لحساب فرعي مخصص للذهب بدلاً من خانة محفظة متعددة الروبوتات.

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

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

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

الوصف: Adaptive breakout EA using Gaussian volatility bands with RSI entry/exit confirmation, ATR-based SL, HTF EMA trend alignment, dynamic lock profit, max drawdown control, trailing stop, breakeven, and Friday close management. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • GetBuffer()
  • GaussianFilter()
  • GetATR()
  • GetEMA_HTF()
  • GetRSI()
  • PositionExists()
  • CloseOpposite()
  • AutoTuneFilters()
  • CheckMaxDrawdown()
  • CountOpenTrades()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX12065 MultiIndicatorConfluence — Execution Flow (from source analysis)
// Family: MultiIndicatorConfluence
// Adaptive breakout EA using Gaussian volatility bands with RSI entry/exit confirmation, ATR-based SL, HTF EMA trend alignment, dynamic lock profit, max drawdown control, trailing stop, breakeven, and Friday close management. 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

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

المعاملالافتراضيالوصف
Timeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
TrendFilterTF6Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
MaxDrawdownPercent10.0Max drawdown % allowed
MaxOpenTrades5Maximum allowed open trades at the same time
AllowOnlyProfitableAdditionstrueEnable filter
MinProfitPerTradeToAdd5.0Minimum $ profit required per existing trade
LockProfitEvery_X_Dollars2.0Step: every $6 profit
LockMinusBuffer1.0Lock profit minus $1 buffer
RSI_Period14RSI Period
RSI_Overbought70RSI Overbought level
RSI_Oversold30RSI Oversold level
UseRSIEarlyExittrueUse RSI for early exit
UseRSIForEntriestrueUse RSI for trade entries
RSI_ExitConfirmationPeriods2Periods to confirm RSI exit signal
UseRSITrendForExittrueUse RSI trend direction for exit
RSI_ExitSensitivity1.5RSI sensitivity multiplier for exit
UseRSIDivergenceExitfalseUse RSI divergence for exit
CloseTrades2HoursBeforeFridaytrueClose all trades 2 hours before Friday close
AvoidTrading2HoursBeforeFridaytrueDon't open trades 2 hours before Friday close
InpMagicNumber22212065Magic Number
InpTradeComment"Psgrowth.com Expert_12065"Trade Comment
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX12065.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX12065 Gen2_RSA_Gold — Gaussian bands with RSI on Gold, full 12-layer stack."
#include <Trade\Trade.mqh>
CTrade trade;

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;
   }
}
ENUM_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
input group "=== Strategy ==="
input bool   UseAutoFilter       = true;
input int    Length              = 10;
input double DistanceMultiplier = 0.85;
input int Timeframe = 0; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
input int TrendFilterTF = 6; // Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1)
input int    TrendEMA            = 50;

ENUM_TIMEFRAMES MapTimeframeInt(int tf)
{
   switch(tf)
   {
      case 1: return PERIOD_M1;
      case 2: return PERIOD_M5;
      case 3: return PERIOD_M15;
      case 4: return PERIOD_M30;
      case 5: return PERIOD_H1;
      case 6: return PERIOD_H4;
      case 7: return PERIOD_D1;
      default: return PERIOD_H1;
   }
}
ENUM_TIMEFRAMES g_Timeframe = PERIOD_H1;
ENUM_TIMEFRAMES g_TrendFilterTF = PERIOD_H1;
input group "=== Money Management ==="
input double Lots               = 0.1;
input bool   OneTradeOnly       = true;
input double ATR_MultiplierSL   = 1.2;
input double HardSL_Points      = 120;
input double FixedTP_Points     = 160;
input bool   UseTrailingStop    = true;
input bool   UseBreakeven       = true;
input double MinATR             = 0.03;
input double MinBreakDistance   = 0.3;
input double MaxDrawdownPercent = 10.0; // Max drawdown % allowed

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

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

الوسوم:ex12065multiindicatorconfluencepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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