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

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

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

Pipsgrowth EX16055 Trend — Momentum + Structure Breakout EA combining Donchian Channel, RSI and Hull Moving Average with adaptive buffer management. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

Pipsgrowth EX16055 Trend هو نظام اندلاع قابل للتوصيل بأربعة محركات، مبني حول ملف مصدري يتجاوز 4,400 سطر يتيح للمتداول اختيار أي من عائلات الإشارات الأربع يُطلق الأوامر فعلياً. المحركات الأربعة هي اندفاع + اختراق هيكلي (MBS)، وقناة دونتشيان (DC)، ومؤشر RSI، ومتوسط هول المتحرك (HMA)؛ كل محرك يكشف عن ثلاثة مفاتيح بولية للدخول والتأكيد والخروج، إضافة إلى كتلة معاملات المؤشر الخاصة به، بحيث يمكن تشغيل نفس EA كنظام هيكلي MBS خالص، أو نظام اندلاع دونتشيان، أو نظام انعكاس RSI، أو متابع اتجاه HMA، أو أي هجين من الأربعة. افتراضياً، فقط MBS_EntrySignal_BUY وMBS_EntrySignal_SELL تكونان صحيحتين، لذا السلوك الافتراضي هو ما يسميه رأس الملف «Momentum + Structure Breakout» على الإطار الزمني للشارت نفسه. المحركات الأخرى تبقى خاملة في قائمة المدخلات، جاهزة للترقية إلى دور دخول أو تأكيد أو خروج بقلب البولات.

يعامل محرك MBS الرئيسي كل إعداد محتمل كتصويت رباعي الأجزاء. أولاً يمسح MBS_LookbackBars السابق (افتراضياً 20) ويرسم مقاومة أفقية عند أعلى قمة ودعماً أفقياً عند أدنى قاع داخل تلك النافذة. ثم يتحقق إن كان الإغلاق الحالي للشمعة يتجاوز ذلك النطاق بينما الشمعة السابقة كانت داخله — اندلاع «سابق داخل، حالي خارج» الكلاسيكي. ثالثاً يعدّ إغلاق MBS_ConfirmationBars السابقة (افتراضياً 2) ويرفض الإشارة ما لم يكن 60% منها على الأقل يؤكد جانب الاندلاع؛ هذا هو حارسه ضد الاندفاعات الكاذبة. رابعاً يضيف ثلاثة مرشحات: فحص ارتفاع حجم يتطلب أن يكون حجم التيك الحالي على الأقل 1.5x متوسط الفترة بعد استئصال أعلى وأدنى 10% من القيم، و1.2x حجم الشمعة السابقة على الأقل؛ مرشح اتجاه EMA(21) يتطلب أن يكون السعر على الجانب الصحيح من EMA بمسافة لا تقل عن نقطتين؛ وفحص درجة الزخم يتطلب أن لا تقل نسبة 60% من آخر شمعة عن الإغلاق صعوداً (أو هبوطاً). يدير ATR(14) على إطار MBS الزمني بوابة تذبذب منفصلة: نسبة ATR الحالي إلى السابق يجب أن تبقى دون MBS_VolatilityFilter (افتراضياً 1.5)، مع توسيع العتبة إلى 1.8x عندما يكون النطاق الهيكلي كبيراً (5x ATR) وتضييقها إلى 1.2x عندما يكون الهيكل ضيقاً (أقل من 2x ATR). كل هذه الاختبارات الفرعية التسعة مرتبطة بـ AND — فشل أي منها يُرجع NO_SIGNAL.

تتبع المحركات الثلاثة الأخرى الهيكل نفسه بأحشاء مختلفة. DonchianChannel_Decision() تأخذ أعلى قمة وأدنى قاع على مدى DC_ChannelPeriod (افتراضياً 20) وتنتظر إغلاق الشمعة الحالية لتجاوز ذلك النطاق بحجم DC_MinBreakoutPoints الأدنى (افتراضياً 10)؛ يفرض اختبار DC_MinPullbackPoints المضاد للاختراق الكاذب (افتراضياً 5 نقاط) أن يكون السوق قد تراجع من حافة النطاق في DC_ConfirmationBars الأخيرة قبل أن يُحتسب الاندلاع؛ يرفض DC_MinRangePoints (افتراضياً 20) الاندفاعات في القنوات الضيقة. تقرأ RSI_Decision() مؤشر iRSI(RSI_Period، افتراضياً 14) وتطلب تقاطعاً عبر RSI_Oversold (30) للشراء وRSI_Overbought (70) للبيع، إضافة إلى تأكيد زخم لثلاث شموع وRSI_MinRange بنقاط لمنع الـ EA من التداول في المناطق الميتة. تبني HMA_Decision() متوسط هول متحرك كاملاً يدوياً — تحسب WMA(period/2) وWMA(period)، تشكّل 2*WMA(n/2) - WMA(n)، ثم تنعم النتيجة بـ WMA(sqrt(period)) — وتقرأ الميل والزخم بالنقاط و70% سلاسة عبر HMA_SmoothingBars قبل أن تُرجع إشارة. الرياضيات اليدوية لـ HMA هي أبطأ مسار في الملف، لذا تخزن الدالة آخر 10 قيم في مخزن دوار ولا تعيد الحساب إلا عند تغير الشمعة.

منظم OnTick عند السطر 1706 هو قلب الملف ويسير على سلم صارم من تسع خطوات. الخطوة 1 تستدعي IsBasicTradeConditionsMet()، التي تفشل في التيك إذا كان السبريد فوق MaxSpread (20 نقطة)، أو Terminal غير متصل، أو الرمز في وضع الإغلاق فقط، أو الهامش الحر أقل من 200% من متطلب الصفقة الجديدة، أو نسبة الأسهم انخفضت دون 50%. الخطوة 2 تشغّل ManageExistingPositions() لتطبيق قفل الربح/التريلينج ومعالجة إشارات الخروج. الخطوة 3 تستطلع المحركات الأربعة في وضع الدخول وتضبط main_signal لحظة ما يُرجع أي محرك مفعّل سلسلة BUY (أو SELL)؛ المحركات الأخرى لا تُستشار، لذا هذا منطق OR. ثم تشغّل الخطوة 4 كل محرك تأكيد مفعّل وتطلب أن يتفقوا جميعاً — هذه بوابة AND. تشغّل الخطوة 5 اختيارياً مرشح استقرار N-شموع الذي يمسك الإشارة حتى تُلاحَظ لـ BarDelay شموع متتالية. تستدعي الخطوة 6 ShouldOpenAdditionalPosition()، التي تؤدي تدقيقاً كاملاً لمخاطر المحفظة (حد 20% تعرض لكل اتجاه، حد 50% استخدام هامش، حد 5% خسارة صفقة واحدة، حد 15% تراجع) قبل السماح بأمر جديد. تستدعي الخطوة 7 CheckAdditionalPositionConfirmation()، سلسلة أولوية (DC > MBS > RSI > HMA) تتجاوز بتصويت DC ناجح. تحسب الخطوة 8 HardSL_Points=15 وTP_Points=3000، مانحةً الافتراضي نسبة مخاطرة/عائد قصوى 1:200. ترسل الخطوة 9 الأمر السوقي بالـ magic 22216055 والتعليق «Psgrowth.com Expert_16055».

منطق قفل الربح/التريلينج في ManageExistingPositions() لا يُفعّل إلا بعد أن تحقق الصفقة على الأقل LockProfitEvery_X_Points (30) نقطة ربحاً؛ عندها يرفع الإيقاف إلى current_price ناقص LockMinusBuffer (15) للشراء، مع قفل أدنى 10 نقاط فوق سعر الفتح. تتدفق إشارات الخروج عبر سلسلة أولوية رباعية (DC > MBS > RSI > HMA)، لكن الملف يرفض التصرف في أي خروج ربحه المطلق دون 5 نقاط أو صفقته يقل عمرها عن 30 دقيقة، مما يمنع الضوضاء من تخبط الحساب. يُغلّف المساعد الإعادة في نهاية الملف (TryClose_EX16055 / TryClosePartial_EX16055 / TryModify_EX16055) كل نداء CTrade في حلقة ثلاث محاولات مع Sleep 100-200 مللي ثانية على REQUOTE / TIMEOUT / PRICE_OFF / PRICE_CHANGED، لكن TryClosePartial كود ميت — لا يوجد مسار إغلاق جزئي يستدعيها. تتولى InitializeBuffers() وValidateAndSyncBuffers() جميع مصفوفات الأسعار/المؤشرات العامة مع فحص نسبة نجاح يخفض حجم المخزن إلى النصف ويضع علامة وضع طوارئ إذا نجح أقل من 80% من تغييرات الحجم. بـ 97 مدخل و15 دالة و5 مقابض مؤشر أصلية (iRSI + iMA + 3x iATR)، يُعد EX16055 ملف إطار عمل: المتداول الذي يريد اختبار A/B لـ MBS ضد DC ضد HMA على نفس الشارت يحتاج فقط إلى قلب البولات، لا إعادة ترجمة.

في الاختبار الخلفي على XAUUSD M5، يتصرف الـ EA كنظام اندلاع زخم: معظم الأيام تنتج صفر أو إشارة واحدة لأن كومة المرشحات المدمجة لمحرك MBS صارمة، ونسبة 1:200 الافتراضية مُعَدة ليتم دفعها في يوم الاتجاه الكبير العرضي، لا كل جلسة تذبذب. يجب على المستخدمين الذين يتداولون إطارات زمنية أضيق أو رموز تذبذب أقل أن يخفضوا TP_Points بشكل كبير (الافتراضي 3000 نقطة لن يُملأ أبداً على EURUSD H1) والتفكير في تفعيل DC_Confirm_BUY/SELL كتأكيد من المرور الثاني لخفض الاندفاعات الكاذبة الخاصة بـ MBS. أرصدة الحساب القياسية البالغة 500$ وأكثر تدعم بشكل مريح اللوت الافتراضي 1.0، لكن نظام المراكز المتعددة بـ MaxOpenTrades=5 يمكن أن يُهرّمن التعرض بسرعة، لذا يجب ترك EnableDynamicLockProfit عند قيمته الافتراضية الحقيقية، وحد التعرض 20% لكل اتجاه داخل ShouldOpenAdditionalPosition هو أهم رقم يجب مراقبته على حساب حي.

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

في كل تيك يُنفّذ الملف أولاً IsBasicTradeConditionsMet()، الذي يفشل التيك عندما يتجاوز السبريد MaxSpread=20 نقطة، أو يكون Terminal غير متصل، أو يقل الهامش الحر عن 200% من متطلب الصفقة التالية، أو تنخفض الأسهم دون 50% من الرصيد. ثم تمشي ManageExistingPositions() على كل مركز مفتوح، وتطبق رافعة LockProfitEvery_X_Points=30 / LockMinusBuffer=15 بمجرد أن تحقق الصفقة 30+ نقطة ربحاً، وتستطلع المحركات الأربعة (DC > MBS > RSI > HMA) في وضع الخروج. ثم يستطلع كشف الدخول المحركات التي تم تفعيل مفاتيح EntrySignal فيها: افتراضياً MBS فقط، ويتطلب اختراق نطاق قمة/قاع 20 شمعة مع 60% تأكيد عبر شمعتين، وارتفاع حجم 1.5x، واتجاه EMA(21) بمسافة لا تقل عن نقطتين، ودرجة زخم بنسبة 60% للشموع الصاعدة، ونسبة تذبذب ATR(14) دون 1.5. بمجرد أن يُطلق أي محرك إشارة، يجب أن يتفق كل محرك تأكيد مفعّل، وينتظر مرشح تأخير N-شموع اختياري BarDelay شمعة، وتُجري ShouldOpenAdditionalPosition() تدقيق المحفظة لحدود 20% تعرض و15% تراجع، وتُجري CheckAdditionalPositionConfirmation() نفس سلسلة الأولوية للصفقة الجديدة، وعندها فقط يحسب الـ EA السعر/SL/TP ويرسل trade.Buy() أو trade.Sell() بـ magic 22216055 والتعليق «Psgrowth.com Expert_16055».

إشارة الدخول

يُدار الدخول من قبل أي من أربعة محركات قابلة للتوصيل، مع تشغيل MBS (اندفاع + اختراق هيكلي) افتراضياً: يمسح آخر MBS_LookbackBars=20 بحثاً عن نطاق مقاومة/دعم أفقي، ويطلب إغلاق «الشمعة السابقة داخل، الحالية خارج» يتجاوز ذلك النطاق، ويشترط أن يكون 60% من آخر MBS_ConfirmationBars=2 يؤيد جانب الاندلاع، ويضيف مرشحات مرتبطة بـ AND لارتفاع الحجم (>=1.5x المتوسط بعد استئصال القيم المتطرفة)، واتجاه EMA(21) بمسافة لا تقل عن نقطتين، ودرجة زخم بنسبة 60% للشموع الصاعدة/الهابطة، ونسبة تذبذب ATR(14) دون MBS_VolatilityFilter=1.5. إذا تمت ترقية DC أو RSI أو HMA إلى دور الدخول، فإن ذلك المحرك وحده كافٍ لإطلاق الإشارة؛ لا تُستشار المحركات الأخرى للإشارة، ثم يجب أن تتفق جميع التأكيدات المفعّلة قبل وضع الأمر.

إشارة الخروج

تعمل الخروجات على سلسلة أولوية رباعية للمحركات (DC > MBS > RSI > HMA) داخل ManageExistingPositions()، لكن الـ EA يصفّر أي خروج يقل ربحه المطلق عن 5 نقاط أو يقل عمر صفقته عن 30 دقيقة لقمع الضوضاء، وتُعيد TryClose_EX16055 محاولة كل إغلاق CTrade ثلاث مرات على REQUOTE/TIMEOUT/PRICE_OFF/PRICE_CHANGED مع Sleep 200 مللي ثانية بين المحاولات. منطق الإشارة العكسية البسيط موجود ضمنياً أيضاً: إذا أطلق المحرك المعاكس إشارة بينما المركز مفتوح، فإن مسار الخروج في الملف يُغلق المركز بنفس طريقة إغلاق مركز خرج بإشارة عادية.

وقف الخسارة

افتراضياً HardSL_Points=15، يوضع على بعد 15 نقطة من الدخول في كل أمر؛ بمجرد أن تحقق الصفقة LockProfitEvery_X_Points=30 نقطة ربحاً، ترفع ManageExistingPositions() الإيقاف إلى current_price ناقص LockMinusBuffer=15 نقطة (للشراء) مع قفل مضمون 10 نقاط فوق سعر الفتح لإبقاء الصفقة على نقطة التعادل الدنيا بعد أول عتبة ربح. لا يوجد تريلينج لكل صفقة يتجاوز هذه الرافعة الواحدة ولا توجد دالة نقطة تعادل في الملف.

جني الأرباح

افتراضياً TP_Points=3000، وهو نطاق استثنائي الاتساع بنسبة 1:200 مخاطرة/عائد مقابل وقف الخسارة عند 15 نقطة، ومُعدّ ليُدفع فقط في أيام الاندلاع الكبيرة، وليس في كل صفقة؛ يُضبط الـ TP كحد على جانب الوسيط في أمر الدخول ولا يديره الـ EA بنشاط بمجرد فتح المركز.

الأنسب لـ

مُصمم لـ XAUUSD M5 بحد أدنى للإيداع 100$ (رصيد 500$+ أكثر واقعية بالنظر إلى اللوت الافتراضي 1.0 وأن نظام المراكز المتعددة يمكن أن يُهرّمن حتى 5 صفقات متزامنة)، مخاطرة متوسطة، ووسيط قياسي أو ECN بسبريد منخفض لأن MaxSpread=20 نقطة هي بوابة صلبة. الاستراتيجية هي اندلاع متابع اتجاه، لذا توفر جلسات لندن ونيويورك أنظف إشارات MBS؛ أما اندفاعات الجلسة الآسيوية على الذهب فستفشل في كثير من الأحيان في متطلب التأكيد 60% وتُنتج ضوضاء. يجب على المستخدمين الذين يتداولون الأزواج الرئيسية للعملات أو أي شيء بقيمة نقطة من 4 إلى 5 أرقام خفض TP_Points من 3000 إلى مستوى معقول (50-200) قبل أي اختبار حي.

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

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

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

الوصف: Momentum + Structure Breakout EA combining Donchian Channel, RSI and Hull Moving Average with adaptive buffer management and delay filters for trend-following breakout entries. 12 layers: REGIME, SIGNAL, ENTRY, CONFIRM, NO-TRADE, CAPITAL CAP, RISK, SIZING, MANAGE, EXIT, SCALING, OnTester

المؤشرات:

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

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

  • InitializeBuffers()
  • ValidateAndSyncBuffers()
  • CleanupBuffers()
  • IsBasicTradeConditionsMet()
  • ManageExistingPositions()
  • IsSignalStable()
  • DonchianChannel_Decision()
  • RSI_Decision()
  • MBS_Decision()
  • HMA_Decision()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX16055 Trend — Execution Flow (from source analysis)
// Family: Trend
// Momentum + Structure Breakout EA combining Donchian Channel, RSI and Hull Moving Average with adaptive buffer management and delay filters for trend-following breakout entries. 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
الأطر الزمنية المُحسّنة:
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

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

المعاملالافتراضيالوصف
InpMagic22216055EA Magic Number
InpTradeComment"Psgrowth.com Expert_16055"Trade comment
Lots1.0Lot size for trades
MaxSpread20Maximum spread in points
Slippage3Maximum slippage in points
AllowBuyTradestrueAllow BUY trades
AllowSellTradestrueAllow SELL trades
EntryDelayBars1wait this many full new bars before placing a new entry
EnableDelayFilterfalseEnable N-bar delay confirmation filter
BarDelay1Number of bars delay required for signal confirmation
HardSL_Points15Stop Loss in points
TP_Points3000Take Profit in points
LockProfitEvery_X_Points30.0Step: every X points profit
LockMinusBuffer15.0Lock profit minus X point buffer
MaxOpenTrades5Maximum allowed open trades at the same time in all directions
AllowOnlyProfitableAdditionstrueOnly allow adding positions if existing trades are profitable
MinProfitInPointsPerTradeToAdd20.0Minimum profit required per existing trade in points
EnableDebugfalseEnable debug logging
MBS_EntrySignal_BUYtrueEnable MBS BUY entry signal
MBS_EntrySignal_SELLtrueEnable MBS SELL entry signal
MBS_Confirm_BUYfalseRequire MBS BUY confirmation
MBS_Confirm_SELLfalseRequire MBS SELL confirmation
MBS_ExitTrigger_BUYfalseEnable MBS BUY exit trigger
MBS_ExitTrigger_SELLfalseEnable MBS SELL exit trigger
MBS_ExitConfirm_BUYfalseRequire MBS BUY exit confirmation
MBS_ExitConfirm_SELLfalseRequire MBS SELL exit confirmation
MBS_Timeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for analysis
MBS_LookbackBars20Lookback period for structure analysis
MBS_MinBreakoutSize50Minimum breakout size in points
MBS_MomentumThreshold0.7Momentum strength threshold (0-1)
MBS_ConfirmationBars2Bars needed for confirmation
MBS_VolatilityFilter1.5Volatility filter multiplier
MBS_TrendStrengthMin0.6Minimum trend strength (0-1)
MBS_RequireVolumeSpiketrueRequire volume confirmation
MBS_VolumeMultiplier1.5Volume spike multiplier
MBS_ATRPeriod14ATR period for volatility
MBS_ATRMultiplier1.0ATR multiplier for breakout validation
MBS_EMAPeriod21EMA period for trend direction
MBS_MinPriceMovement0.0001Minimum price movement for signal
DC_EntrySignal_BUYfalseEnable Donchian Channel BUY entry signal
DC_EntrySignal_SELLfalseEnable Donchian Channel SELL entry signal
DC_Confirm_BUYfalseRequire Donchian Channel BUY confirmation
DC_Confirm_SELLfalseRequire Donchian Channel SELL confirmation
DC_ExitTrigger_BUYfalseEnable Donchian Channel BUY exit trigger
DC_ExitTrigger_SELLfalseEnable Donchian Channel SELL exit trigger
DC_ExitConfirm_BUYfalseRequire Donchian Channel BUY exit confirmation
DC_ExitConfirm_SELLfalseRequire Donchian Channel SELL exit confirmation
DC_Timeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for Donchian Channel (M1-D1)
DC_ChannelPeriod20Lookback period for channel (10,5,60)
DC_ConfirmationBars2Bars needed for confirmation (1,1,5 or 20)
DC_MinBreakoutPoints10Minimum breakout size in points (1,5,100) my
DC_ATRMultiplier1.0ATR multiplier for volatility filter (0.5,0.25,2.0) my (0.5,0.25,2)
DC_ATRPeriod14ATR period for volatility (5,1,30) my (5,1,50)
DC_RequireVolumeSpikefalseRequire volume spike confirmation
DC_VolumeMultiplier1.5Volume spike multiplier range: 1.0 … 3.0 step 0.5 (my 1,0.15,5)
DC_MinPullbackPoints5Minimum pullback before breakout (anti-fakeout) – range: 0 … 20 step 2 my : 0,1,50
DC_MinRangePoints20Minimum channel range to avoid chop – range: 10 … 100 step 10 , my 5-10,100
RSI_EntrySignal_BUYfalseEnable RSI BUY entry signal
RSI_EntrySignal_SELLfalseEnable RSI SELL entry signal
RSI_Confirm_BUYfalseRequire RSI BUY confirmation
RSI_Confirm_SELLfalseRequire RSI SELL confirmation
RSI_ExitTrigger_BUYfalseEnable RSI BUY exit trigger
RSI_ExitTrigger_SELLfalseEnable RSI SELL exit trigger
RSI_ExitConfirm_BUYfalseRequire RSI BUY exit confirmation
RSI_ExitConfirm_SELLfalseRequire RSI SELL exit confirmation
RSI_TF0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for RSI
RSI_Period14RSI period
RSI_Price1Applied price (1=close,2=open,3=high,4=low,5=median,6=typical,7=weighted) // Applied price for RSI
RSI_Overbought70Overbought level for RSI
RSI_Oversold30Oversold level for RSI
RSI_SignalShift0Shift for RSI signal line
RSI_Midline50RSI midline level
RSI_ExtremeBuffer5Buffer for extreme levels (anti-whipsaw)
RSI_MinRange5.0Minimum RSI range for valid signal
RSI_MinVolatility2.0Minimum volatility threshold
RSI_MomentumBars3Bars for momentum confirmation
RSI_DeadZoneSize5.0Dead zone around midline
HMA_EntrySignal_BUYfalseEnable HMA BUY entry signal
HMA_EntrySignal_SELLfalseEnable HMA SELL entry signal
HMA_Confirm_BUYfalseRequire HMA BUY confirmation
HMA_Confirm_SELLfalseRequire HMA SELL confirmation
HMA_ExitTrigger_BUYfalseEnable HMA BUY exit trigger
HMA_ExitTrigger_SELLfalseEnable HMA SELL exit trigger
HMA_ExitConfirm_BUYfalseRequire HMA BUY exit confirmation
HMA_ExitConfirm_SELLfalseRequire HMA SELL exit confirmation
HMA_Timeframe0Timeframe (1=M1,2=M5,3=M15,4=M30,5=H1,6=H4,7=D1) // Timeframe for HMA analysis
HMA_Period21HMA period
HMA_ConfirmationBars2Bars needed for confirmation
HMA_MinSlopeAngle0.0001Minimum slope angle for trend detection
HMA_MinMomentumPoints5Minimum momentum in points
HMA_RequirePriceAbovetrueRequire price above HMA for buy
HMA_RequirePriceBelowtrueRequire price below HMA for sell
HMA_FilterATRMultiplier1.5ATR multiplier for noise filter
HMA_FilterATRPeriod14ATR period for volatility filter
HMA_TrendStrengthMin0.7Minimum trend strength (0-1)
HMA_SmoothingBars3Bars for HMA smoothing validation
HMA_MinPriceDistance2Minimum distance from HMA in points
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX16055.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX16055 new1 -- Momentum Structure Breakout with Donchian, RSI, HMA, full 12-layer stack."

#include <Trade\Trade.mqh>
CTrade trade;
//--- Globally cached handles and buffers with enhanced validation
int hRSI = INVALID_HANDLE, hMBS_EMA = INVALID_HANDLE, hMBS_ATR = INVALID_HANDLE;
int hDC_ATR = INVALID_HANDLE, hHMA_ATR = INVALID_HANDLE;

// Dynamic buffer arrays with memory optimization
double rsi_buf[];
double mbs_high[], mbs_low[], mbs_close[], mbs_ema[], mbs_atr[];
long mbs_vol[];
double dc_high[], dc_low[], dc_close[], dc_atr[];
long dc_vol[];
double hma_high[], hma_low[], hma_close[], hma_atr[], hma_values[];

// Adaptive buffer sizing with performance tracking
int maxBars = 50; // Optimized default minimum bars needed
static int last_calculated_maxBars = 0;
static bool buffers_initialized = false;

// HMA calculation optimization
datetime last_hma_calc = 0;
static double hma_cache[10]; // Rolling cache for HMA values
static int hma_cache_index = 0;
static bool hma_cache_initialized = false;

// Buffer synchronization and validation
struct BufferState
{
    bool rsi_ready;
    bool mbs_ready;
    bool dc_ready;
    bool hma_ready;
    datetime last_sync;
    int sync_failures;
} buffer_state = {false, false, false, false, 0, 0};

// Memory management and error recovery
struct MemoryManager
{
    int total_arrays;
    int successful_resizes;
    int failed_resizes;
    datetime last_cleanup;
    bool emergency_mode;
} memory_mgr = {0, 0, 0, 0, false};




////////////////

//+------------------------------------------------------------------+
//| Add these global safety monitoring variables at the top         |
//+------------------------------------------------------------------+

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

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

الوسوم:ex16055trendpipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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