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

Pipsgrowth EX06001 KalmanAdaptive — إكسبرت أدفايزر إكسبرت أدفايزر

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

Pipsgrowth EX06001 KalmanAdaptive — TRACEPlus — Trend-Regime Adaptive Continuation & Exit. Kalman(2-state level+slope) trend estimator + Page-Hinkley change. إكسبرت أدفايزر MT5 مفتوح المصدر.

نظرة عامة

TRACEPlus (EX06001) يستبدل تقاطع المتوسطات المتحركة الذي تعتمد عليه معظم أنظمة الاتجاه بمرشح كالمان ذي حالتيْن يُقدِّر المستوى السعري المحلي وميله في وقت واحد. حالة المرشح محفوظة في بنية صغيرة (المستوى، الميل، إضافة إلى عناصر مصفوفة P الأربعة P00 وP01 وP10 وP11) وتُحدَّث كل شمعة بضوضاء عملية وضوضاء قياس مرتبطة بالـ ATR(14) الحالي: ضوضاء المستوى (ATR*0.04)^2، وضوضاء الميل (ATR*0.10)^2، وتباين القياس (ATR*0.02)^2. ولأن مكونات الضوضاء هذه تتناسب مع التذبذب اللحظي، فإن المرشح يلتصق بالحركات السريعة في الفترات الهادئة ويقاوم الانعكاسات العشوائية عند انفجار ATR. كتلة OnInit تُعيد تشغيل 320 شمعة تاريخية كإحماء (تعريف MIN_WARMUP_BARS) قبل معالجة أول تيكت حي، وطلب 800 شمعة من التاريخ (HISTORY_BARS_REQUEST) يمنح الدوال المساعدة سياقاً كافياً لحساب أول تقديرَي ارتباط ذاتي وHurst دون انحياز بداية باردة.

الدخول الفعلي هو ارتداد على شكل z-score وليس اختراق زخم. كل شمعة جديدة يحسب الخبير انحراف إغلاق الشمعة المغلقة عن مستوى كالمان، ويُعيِّره بالـ ATR للحصول على z لا بُعدي، ويدفع z داخل بنية إحصاء مرجَّحة أُسياً بانحلال سريع (EW_DECAY_FAST = 0.04). توجد بِنْيتان من هذا النوع — تُحدَّث g_zlong حين يكون ميل كالمان غير سالب، وg_zshort حين يكون سالباً — لِيتابع عرض النطاق الطويل والقصير باستقلالية. إشارة الشراء تتطلب وقوع z داخل نطاق ديناميكي [InpZLongLow..InpZLongHigh] موسَّع بنصف انحراف معياري من إحصاءات EW الطويلة؛ الافتراضيان -0.85 و0.35. البيع يعكس ذلك بـ InpZShortLow..InpShortHigh من -0.35 إلى 0.85. عدم التناظر متعمَّد: نطاق ارتداد أوسع على جهة الدخول، وسقف أضيق على الجهة المقابلة، يُميل النظام نحو استمرار الاتجاه بدلاً من الارتداد العكسي إلى المتوسط.

قبل أن تنطلق الإشارة، يجب اجتياز ثلاثة حُرّاس إحصائيين. الأول مصنِّف نظام من خمس حالات في ClassifyRegime(): اتجاه قوي (ADX≥30 وATR-percentile≥65)، اتجاه ضعيف (ADX≥20 وATR-percentile≥35)، نطاق (ATR-percentile≤20 وعرض بولينجر أقل من 1.5×ATR)، اختراق (ATR-percentile≥80)، ومضطرب (ADX<15). النطاق والمضطرب يُحظران عند بوابة عدم التداول؛ الثلاث الباقية مسموح بها. الحارس الثاني كاشف نقطة تغيُّر Page-Hinkley المحفوظ في g_ph، مُهيَّأ بـ drift=0.0002 وlambda=1.8 وalpha=0.05. كل شمعة يُمرَّر المتبقي المطلق لكالمان عبر PH، فإذا بلغت الإحصائية ≥ 0.95 فالسوق في منتصف تغيُّر نظام، فيرفض الخبير الدخول حتى تستقر الأمور. الحارس الثالث أُس Hurst-R/S الحي المحسوب على أحدث 256 إغلاق عبر HurstRS()؛ في البناء الحالي يُستبدل المتغير الحي بقيمة ثابتة 0.55 تُمرَّر إلى SignalDirection()، فتعمل كزر معايرة لا كبوابة حية. تُطوى درجة قوة النظام min(1, |slope|/ATR * 5) بعد ذلك في حساب الثقة.

تُبنى ثقة الإشارة من ثلاث درجات خطية موزونة: 40% من قيمة ميل كالمان إلى ATR، و30% من (Hurst-0.4)/0.4 مقصوص إلى [0,1]، و30% من درجة النظام. تُقَصُّ القيمة الإجمالية عند 100. ثقة أعلى في أثر الباك تيست تعني توافق ميل كالمان وHurst والنظام جميعاً؛ ثقة أدنى تعني أن أحد العناصر الثلاثة عند الحد، والصفقة إحصائياً أضعف. بعد حساب الثقة، يجري الخبير فحص توافق الإطار الزمني الأعلى: يسحب EMA(50) للإطار H1 إلى مخزن مؤقت بعنصرين، ثم يطلب أن يكون سعر العرض الحالي على الجانب الصحيح من المتوسط وأن يكون المتوسط نفسه مائلاً في نفس اتجاه الصفقة. يمكن تعطيل ذلك عبر InpHtfAgree = false. حارس منع الدخول المكرَّر بمفتاح طابع آخر شمعة يمنع الخبير من فتح صفقة مرتين على نفس الشمعة، وبعد دخول ناجح تُضبط تهدئة الدورة على max(3, DominantCycle/4) شمعة كي لا يدخل النظام فوراً ضد الصفقة الجديدة.

وقف الخسارة والهدف كلاهما مرتبط بالـ ATR. مع الإعدادات الافتراضية، InpAtrStopMult = 2.7 وInpAtrTpMult = 3.6، فإن نسبة المخاطرة للعائد 1:1.33، أعلى بقليل من أرضية MIN_RR_RATIO = 1.0. يُضَيَّق وقف الخسارة اختيارياً نحو متطرف تأرجح حديث: DominantCycleACF() يمشي الارتباط الذاتي للإغلاقات على فجوات 10..60 (DCYCLE_LAG_MIN=10 وDCYCLE_LAG_MAX=60)، يختار الفجوة ذات أكبر ACF، ثم ينظر الخبير إلى أعلى قمة (للبيع) أو أدنى قاع (للشراء) على ذلك العدد من الشموع ويضع الوقف عند ذلك المتطرف بهامش 0.25×ATR. يُترك الهدف عند مضاعف ATR الصافي — لا امتداد تأرجح على الهدف. إذا كانت نسبة المخاطرة للعائد الناتجة أقل من 1.0 يُرفض الدخول صراحةً.

تدار المراكز كل شمعة جديدة وتسبق فحص الدخول. بمجرد أن تبلغ الصفقة +1R (InpBeTriggerR = 1.0)، يُرفَع وقف الخسارة إلى سعر الدخول زائد تيكت واحد (NormPrice(be_price))، ويُغلَق 50% بالضبط من المركز (BE_PARTIAL_PCT = 50) دفعة واحدة — يحسب الخبير MathFloor((vol*0.5)/step)*step ويتحقق أن النتيجة على الأقل الحد الأدنى للوت لدى الوسيط، وأقل صرامة من الحجم المتبقي. بعد التعادل، التريل هو منطق تريل ATR أمامي فقط: للشراء، وقف الخسارة الجديد cur_price - 2.7*ATR (افتراضي InpTrailAtrMult)، والبيع هو المرآة. مشبك مستوى الوقف لدى الوسيط يمنع وضع التريل داخل SYMBOL_TRADE_STOPS_LEVEL. ثلاثة مُحفِّزات خروج تتجاوز التريل: انعكاس إشارة ميل كالمان، أو إعادة مصنِّف النظام إلى 0 (مضطرب) على آخر شمعة مغلقة، أو بقاء الصفقة 240 شمعة (تعريف MAX_BARS_IN_TRADE)، وهو وقف زمني صارم.

ضوابط المخاطرة ورأس المال مُطبَّقة على طبقات. المخاطرة لكل صفقة افتراضياً 0.5% من رأس المال الفعّال، حيث رأس المال الفعّال هو أصغر InpCapitalCapAmount (0 افتراضياً، ما يُعطِّل السقف) وحقوق الملكية، أو حقوق الملكية فقط حين يكون السقف 0. تحسب دالة ComputePositionSize() حجم اللوت كـ risk_amount / ((stop_distance/_Point) * tick_value)، ثم تُقرِّبه نزولاً إلى SYMBOL_VOLUME_STEP لدى الوسيط وتقصُّه بين الحد الأدنى والأعلى للوت. CheckPortfolioHeat() تمشي كل المراكز المفتوحة في الحساب، تجمع المخاطرة الدولارية لكل منها، وترفض إضافة مركز جديد إذا تجاوز الإجمالي 3% لكل خانة مركز متزامن. يُعاد حساب الربح/الخسارة المحقق يومياً وأسبوعياً داخل UpdateRealizedPnL() عبر نافذتي HistorySelect()، مع تحديد خسارة يومية بـ 3% (InpDailyLossLimitPct) وأسبوعية بـ 6% (InpWeeklyLossLimitPct) من رأس المال الفعّال. خطاف InpMaxConsecLosses = 3 في OnTradeTransaction يُفعِّل تهدئة 30 دقيقة (InpCooldownMinutes = 30) بعد ثالث صفقة خاسرة متتالية، فتحجب كل الدخول حتى يمر g_cooldownUntil. حد أقصى 50 صفقة يومياً (InpMaxTradesPerDay) وأرضية حقوق ملكية 95% من الرصيد الأوّلي (InpMinEquityPercent = 95) تُغلف المحيط. تمرّ أوامر التنفيذ عبر g_trade.Buy وg_trade.Sell مع 3 محاولات على ردود REQUOTE وTIMEOUT وPRICE_OFF وREQUOTE؛ تعكس TryClose_EX06001 وTryClosePartial_EX06001 وTryModify_EX06001 نفس نمط إعادة المحاولة عند 200 مللي ثانية (التعديل 100 مللي ثانية) على نفس الرموز المؤقتة.

السباكة الخاصة بالجلسة والوسيط مدروسة. يكتشف الخبير تلقائياً فارق GMT للخادم بمسح شموع H1 بحثاً عن فجوة نهاية الأسبوع — فجوة ساعتين أو أكثر تُحدِّد إغلاق الجمعة، وdt.hour - 22 تُعطي الفارق، ملفوفاً في [-12, 12]؛ قابل للتجاوز عبر InpServerGMTOffset. IsMarketOpen() يحجب التداول من الجمعة 21 GMT إلى الأحد 22 GMT. نافذة التداول النشطة لندن 7-16 GMT ∪ نيويورك 12-21 GMT، والإعداد الافتراضي InpAvoidAsia = true يحجب جلسة آسيا 0-7 GMT ما لم تكن لندن أو نيويورك فعلاً في النطاق. IsNewsTime() معطَّل افتراضياً، لكن عند تفعيله عبر InpNewsFilter يحجب الدخول في ±15 دقيقة من افتتاح جلستي لندن ونيويورك. InpMaxSpreadAtrRatio = 0.45 يرفض الدخول حين يتجاوز السبريد الحالي 45% من ATR — بوابة سبريد نسبية لا مطلقة، تتكيف مع تذبذب الرمز. يُكتشف ملء الأمر تلقائياً من قناع البت SYMBOL_FILLING_MODE للرمز، بتفضيل FOK ثم IOC ثم RETURN.

ما لا يفعله هذا الخبير. لا يوجد مارتنغيل، ولا شبكة، ولا ترقية إلى الخاسر، ولا منطق تحوط — ManagePosition() يدير مركزاً واحداً مفتوحاً في كل مرة ويخرج عند أول مُحفِّز مؤهل. لا يوجد OnTimer؛ تُتَّخذ كل القرارات على حدود الشمعة المغلقة بمقارنة iTime الجديد مع g_last_bar_time. يحتاج إحماء كالمان إلى ≥ 320 شمعة تاريخية؛ على الرموز التي لا تتوفر فيها هذا العدد سيرفض الخبير التهيئة بـINIT_FAILED. عمليات Hurst-R/S وACF أثقل على المعالج من كومة متوسطات متحركة بسيطة، لذا فإن الباك تيستات في وضع تيكت باي تيكت على تشغيلات متعددة الأزواج لعدة سنوات أبطأ بشكل ملحوظ من خبيرات تقاطع المتوسطات المماثلة — انتقل إلى 'أسعار الافتتاح فقط' أو 'OHLC لدقيقة واحدة' للتكرار السريع. لياقة OnTester هي (net × PF) / (1 + balance_dd_percent) مقيَّدة بـ ≥ 30 صفقة، ما يعني أن تشغيلات تحسين قصيرة تُنتج أقل من 30 صفقة ستحصل على درجة صفرية وتُهمل من قِبل المُحسِّن. عملياً، توقَّع عدد صفقات معتدل على XAUUSD M5 — أقل بكثير من 50/يوم، وأكثر من 30/شهر — مع منحنى حقوق ملكية يتشكَّل بشكل كبير من قِبل فلتر النظام والإغلاق الجزئي عند +1R.

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

في كل شمعة جديدة، تنسخ OnTick() 800 شمعة تاريخية، تُحرِّك مرشح كالمان ذي الحالتين بملاحظة واحدة (إغلاق الشمعة المغلقة)، وتُغذي المتبقي المطلق لكاشف Page-Hinkley لاختبار نقطة تغيُّر. يُقسَم المتبقي ذاته على ATR(14) لإنتاج z-score، يُدفع إلى g_zlong أو g_zshort بحسب إشارة ميل كالمان. بعدها يقرأ مصنِّف النظام ADX(14) ومئوي ATR على 100 شمعة وعرض بولينجر (20، 2.0) ليُقرِّر بين اتجاه قوي أو ضعيف أو نطاق أو اختراق أو مضطرب. تجمع SignalDirection() بين ميل كالمان ودرجة النظام وأرضية Hurst ثابتة 0.55 لفحص نطاقات z الديناميكية؛ الثقة الناتجة (ميل×40 + Hurst×30 + نظام×30) تُغذي سجل التداول. تمريرة منفصلة تمشي مخطط الارتباط الذاتي للإغلاقات لإيجاد الدورة المهيمنة (10-60 شمعة)، وطول تلك الدورة يقود كلاً من وضع وقف التأرجح وتهدئة ما بعد الدخول بقدر max(3, cycle/4) شمعة. تعمل ManagePosition() قبل مسار الدخول، فتُحرِّك الوقوفات وتنفذ الجزئي 50% عند +1R وتتولى تريل 2.7×ATR أمامي فقط.

إشارة الدخول

تُطلَق الدخولات على شمعة جديدة حين تطابق إشارة ميل مرشح كالمان ذي الحالتين اتجاه الصفقة، وتكون إحصائية نقطة تغيُّر Page-Hinkley أقل من 0.95، ويقع z-score الشمعة المغلقة (انحراف السعر عن مستوى كالمان، مُعيَّر بالـ ATR) داخل النطاق الديناميكي الموسَّع بنصف انحراف EW الطويل أو القصير — شراء في [-0.85, +0.35] افتراضياً، وبيع في [-0.35, +0.85]. يجب أن يُرجع مصنِّف النظام اتجاه قوي أو ضعيف أو اختراق (يُحظر النطاق والمضطرب)، والـ ADX(14) ≥ 18، وسبريد/ATR0.45، وأن تتوافق EMA(50) للإطار H1 على الاتجاه. حارس منع الدخول المكرَّر بمفتاح طابع آخر شمعة وتهدئة max(3, DominantCycle/4) شمعة بعد الدخول يمنعان إعادة الدخول الفورية.

إشارة الخروج

تُنفَّذ الخروجات وفق قائمة أولويات في ManagePosition(): (أ) انعكاس ميل كالمان ضد المركز، (ب) إعادة مصنِّف النظام إلى مضطرب (0) على آخر شمعة مغلقة، أو (ج) بقاء الصفقة مفتوحة 240 شمعة. إذا لم يُفعَّل أي من هذه، تُدار الصفقة بمكدس الجزئي زائد التريل: عند +1R يُرفع وقف الخسارة إلى سعر الدخول + تيكت واحد ويُغلَق 50% بالضبط من المركز دفعة واحدة، وبعدها يُحرِّك تريل ATR(14) أمامي فقط بمضاعف 2.7×ATR وقف الخسارة خلف السعر على كل شمعة جديدة. تستخدم إعادة محاولة الأوامر 3 محاولات عند 200 مللي ثانية (100 للتعديل) على REQUOTE وTIMEOUT وPRICE_OFF وPRICE_CHANGED.

وقف الخسارة

وقف الخسارة الأوّلي هو ATR(14) × 2.7 من سعر الدخول، ويُضَيَّق اختيارياً نحو متطرف تأرجح الدورة المهيمنة (أدنى قاع للشراء، أعلى قمة للبيع) ناقص هامش 0.25×ATR. يُشبَّك الوقف أعلى من SYMBOL_TRADE_STOPS_LEVEL لدى الوسيط، ويُرفَع إلى سعر الدخول + تيكت واحد بمجرد أن تبلغ الصفقة +1R، ثم يُتابع تريل 2.7×ATR أمامي فقط. سقف حرارة المحفظة 3% لكل خانة مركز متزامن يحجب الإضافة حين تتجاوز المخاطرة الدولارية الإجمالية في الحساب الحد.

جني الأرباح

جني الأرباح هو ATR(14) × 3.6 من سعر الدخول، بنسبة مخاطرة/عائد 1:1.33 مقارنة بوقف 2.7×ATR، دون امتداد تأرجح على الهدف. الصفقة تخضع أيضاً لإغلاق جزئي 50% عند +1R، وبعدها يُصبح تريل ATR عملياً هو من يُنهي الباقي؛ جني الأرباح نفسه نادراً ما يكون سبب الخروج لأن مكدس الجزئي ثم التريل يُحوِّل الباقي إلى خروج لاتباع الاتجاه. تُفرض نسبة R:R دنيا قدرها 1.0 — تُرفض الدخولات ذات النسبة الأسوأ بعد تشديد وقف التأرجح.

الأنسب لـ

موصى به لمتداولي XAUUSD على M5 أو H1 بحساب ECN أو سبريد خام تبقى فيه السبريدات بثبات تحت 30 نقطة كي تقبل بوابة spread/ATR < 0.45 غالبية الإعدادات. المخاطرة لكل صفقة 0.5% من رأس المال الفعّال والحد الأدنى للرصيد 100$. النافذة النشطة لندن 7-16 GMT ∪ نيويورك 12-21 GMT، مع تصفية آسيا افتراضياً؛ فعِّل InpNewsFilter وضَيِّق نطاقات z إذا أردت ملف تعريف جودة أعلى بعدد صفقات أقل. اضبط InpCapitalCapAmount صراحةً إذا أردت تثبيت التعرض بالمال الحقيقي عند قيمة دولارية ثابتة بدلاً من السماح لحجم اللوت بالتدرج مع كامل الحساب.

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

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

العائلة: KalmanAdaptive الماجيك: 22206001 الإصدار: 2.00

الوصف: TRACEPlus — Trend-Regime Adaptive Continuation & Exit. Kalman(2-state level+slope) trend estimator + Page-Hinkley change-point detector + Hurst persistence + ACF dominant cycle drive a z-score pullback entry in the trend direction. 12

المؤشرات:

  • _adx
  • _atr
  • _bb
  • _rsi
  • _htf

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

  • TickSize()
  • NormPrice()
  • SpreadPrice()
  • ATRShift()
  • ADXShift()
  • BBCur()
  • ATRPercentile()
  • DominantCycleACF()
  • HurstRS()
  • HighestHigh()
الرمز الزائف (Pseudocode)
// Pipsgrowth EX06001 KalmanAdaptive — Execution Flow (from source analysis)
// Family: KalmanAdaptive
// TRACEPlus — Trend-Regime Adaptive Continuation & Exit. Kalman(2-state level+slope) trend estimator + Page-Hinkley change-point detector + Hurst persistence + ACF dominant cycle drive a z-score pullback entry in the trend direction. 12

ON_INIT:
    Create indicator handles: _adx, _atr, _bb, _rsi, _htf
    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اسحب الإكسبرت على رسم بياني يطابق الإطار الزمني الموصى به
  7. 7هيّء المعاملات وفقاً للجدول في هذه الصفحة
  8. 8فعّل Allow Algo Trading واضغط OK

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

المعاملالافتراضيالوصف
InpMagic22206001Magic number (unique per EA)
InpTradeComment"Psgrowth.com Expert_06001"Trade comment
InpMaxConsecLosses3Max consecutive losses before cooldown (0=disabled)
InpCooldownMinutes30Cooldown minutes after consec losses (0=disabled)
InpMaxTradesPerDay50Maximum trades per day
InpMinEquityPercent95.0Stop trading if equity falls below this % of initial balance
InpServerGMTOffset0Server GMT offset in hours (0=auto-detect via weekend gap)
InpLondonStartHour7London session start (GMT)
InpLondonEndHour16London session end (GMT)
InpNYStartHour12New York session start (GMT)
InpNYEndHour21New York session end (GMT)
InpAvoidAsiatrueAvoid Asian session
InpAsiaStartHour0Asian session start (GMT)
InpAsiaEndHour7Asian session end (GMT)
InpNewsFilterfalseAvoid trading near news session opens
InpNewsFilterMinutes15Minutes to avoid around news
InpRiskPerTradePct0.5Risk per trade (% of effective capital)
InpAtrStopMult2.7ATR stop-distance multiplier (x)
InpAtrTpMult3.6ATR take-profit multiplier (x)
InpMaxConcurrent1Max concurrent positions (this EA/symbol)
InpDailyLossLimitPct3.0Daily realized-loss cap (% effective cap)
InpWeeklyLossLimitPct6.0Weekly realized-loss cap (% effective cap)
InpMaxSpreadAtrRatio0.45Max spread / ATR (reject entry above)
InpCapitalCapAmount0.0Cap (real-money $, not leveraged notional)
InpCapitalCapFloor50.0Floor — block new entries below
InpZLongLow-0.85Long pullback z-score lower band
InpZLongHigh0.35Long pullback z-score upper band
InpZShortLow-0.35Short pullback z-score lower band
InpZShortHigh0.85Short pullback z-score upper band
InpAdxMin18.0Minimum ADX main (regime gate)
InpHtfAgreetrueRequire HTF EMA(50) agreement
InpBeTriggerR1.0Break-even trigger (R multiples)
InpTrailAtrMult2.7ATR trailing-stop multiplier (x)
كود المصدر (.mq5)Open Source
Pipsgrowth_com_EX06001.mq5
#property copyright "Pipsgrowth.com"
#property link      "https://pipsgrowth.com"
#property version   "2.00"
#property strict
#property description "Pipsgrowth.com EX06001 TRACEPlus — Kalman + Page-Hinkley + Hurst + ACF + z-pullback, full 12-layer stack."

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

//====================== CONSTANTS ==================================
#define MIN_WARMUP_BARS        320
#define HISTORY_BARS_REQUEST   800
#define DCYCLE_LAG_MIN         10
#define DCYCLE_LAG_MAX         60
#define KALMAN_Q_LEVEL_MULT    0.04
#define KALMAN_Q_SLOPE_MULT    0.10
#define KALMAN_R_OBS_MULT      0.02
#define EW_DECAY_SLOW          0.01
#define EW_DECAY_MED           0.02
#define EW_DECAY_FAST          0.04
#define SLIPPAGE_POINTS        5
#define EPS                     1e-9
#define HTF_PERIOD             PERIOD_H1
#define HTF_EMA_PERIOD         50
#define BB_PERIOD              20
#define BB_DEV                 2.0
#define ATR_PCTILE_LOOKBACK    100
#define ADX_PERIOD             14
#define ATR_BASE_PERIOD        14
#define RSI_PERIOD             14
#define BE_PARTIAL_PCT         50      // close 50% at BE
#define MAX_BARS_IN_TRADE      240
#define MIN_RR_RATIO           1.0

//====================== INPUTS =====================================
input group "=== Identity ==="
input ulong  InpMagic              = 22206001;                       // Magic number (unique per EA)
input string InpTradeComment       = "Psgrowth.com Expert_06001";    // Trade comment

input group "=== Hardening: Risk Management ==="
input int    InpMaxConsecLosses    = 3;     // Max consecutive losses before cooldown (0=disabled)
input int    InpCooldownMinutes    = 30;    // Cooldown minutes after consec losses (0=disabled)
input int    InpMaxTradesPerDay    = 50;    // Maximum trades per day
input double InpMinEquityPercent   = 95.0;  // Stop trading if equity falls below this % of initial balance

input group "=== Hardening: GMT Sessions ==="
input int    InpServerGMTOffset    = 0;     // Server GMT offset in hours (0=auto-detect via weekend gap)
input int    InpLondonStartHour    = 7;     // London session start (GMT)
input int    InpLondonEndHour      = 16;    // London session end (GMT)
input int    InpNYStartHour        = 12;    // New York session start (GMT)
input int    InpNYEndHour          = 21;    // New York session end (GMT)
input bool   InpAvoidAsia          = true;  // Avoid Asian session
input int    InpAsiaStartHour      = 0;     // Asian session start (GMT)
input int    InpAsiaEndHour        = 7;     // Asian session end (GMT)
input bool   InpNewsFilter         = false; // Avoid trading near news session opens
input int    InpNewsFilterMinutes  = 15;    // Minutes to avoid around news

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

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

الوسوم:ex06001kalmanadaptivepipsgrowthfreemt5xauusd

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

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

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

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

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

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

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

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