الانتقال إلى المحتوى
كل الاستراتيجيات

الاستراتيجيات

BTC ترحيل زخم عابر للجلسات — طويل-قصير، أداة واحدة OHLCV: اتجاه حركة جلسة ASIA يتنبأ بحركة جلسة US؛ تداول جلسة US في ذلك الاتجاه ONLY عندما تكون حركة آسيا كبيرة، وثبات طوال الليل (BINANCE BTCUSDT USD-M، أشرطة 1H، داخل اليوم، 2-معلمة)

النتيجة: متروك

BtcAsiaToUsSessionCarryoverLS

جيد القياس: 594 صفقات على كامل تاريخ 2020-2026 1 ساعة، متوازن طويل/قصير (293/301)، تنفيذ نظيف (594 تم إصدار إشارة لها، 594 تم تقديمها، بدون إغفالات)

الفرضية

استراتيجية INTRADAY OHLCV نقية SINGLE-INSTRUMENT، LONG-SHORT على BTCUSDT.BINANCE USD-M دائم في عائلة مختلفة حقاً عن كل ما هو معلق أو ميت هنا — هي NOT اتجاه/اختراق (زخم TF مزدوج، SuperTrend، Donchian، ORB)، NOT ارتداد للمتوسط/تلاشٍ (كلاهما ميت)، وNOT إشارة تغذية تكميلية (كلها خاسرة صافياً). تستغل SESSION LEAD-LAG داخل اليوم: النبرة الاتجاهية التي تُرسى خلال جلسة ASIA منخفضة المشاركة (00:00-08:00 UTC) تميل إلى PERSIST في جلسة US الأعلى سيولة (13:00-21:00 UTC)، حيث يستمر التدفق US/المؤسسي في الحركة بدلاً من عكسها.……عرض المزيدعرض أقل

استراتيجية INTRADAY OHLCV نقية SINGLE-INSTRUMENT، LONG-SHORT على BTCUSDT.BINANCE USD-M دائم في عائلة مختلفة حقاً عن كل ما هو معلق أو ميت هنا — هي NOT اتجاه/اختراق (زخم TF مزدوج، SuperTrend، Donchian، ORB)، NOT ارتداد للمتوسط/تلاشٍ (كلاهما ميت)، وNOT إشارة تغذية تكميلية (كلها خاسرة صافياً). تستغل SESSION LEAD-LAG داخل اليوم: النبرة الاتجاهية التي تُرسى خلال جلسة ASIA منخفضة المشاركة (00:00-08:00 UTC) تميل إلى PERSIST في جلسة US الأعلى سيولة (13:00-21:00 UTC)، حيث يستمر التدفق US/المؤسسي في الحركة بدلاً من عكسها. كل يوم UTC، يُقاس اتجاه وحجم عائد جلسة آسيا؛ عندما تكون حركة آسيا LARGE (إشارة اتجاهية حقيقية، ليست ضوضاء)، تدخل الاستراتيجية جلسة US في اتجاه SAME وتحتفظ لتلك الجلسة فقط، وتذهب FLAT بين عشية وضحاها (لا تعرض تمويل، لا فجوة ليلية، لا مخاطر اتجاه متعدد الأيام). هذا متميز عن اختراق النطاق الافتتاحي BTC المعلق (الذي يتداول نطاقاً BREAKOUT من الساعات الأولى) — هنا لا يوجد اختراق؛ إنها CARRYOVER اتجاهية لحركة جلسة مُرساة بالفعل في جلسة لاحقة منفصلة. تحافظ على الثوابت القابلة للبقاء (أداة واحدة، OHLCV نقي مع كامل تاريخ 2020-2026 1 ساعة، طويل-قصير، لا تغذية تكميلية وفقاً لدرس الخاسر صافياً، لا رجل ثانٍ وفقاً لـ L69) وهي مبنية للبوابات الإحصائية: إيقاع شبه يومي يعطي عدد صفقات LARGE (>100/سنة) يجتاز سلك القابلية للقياس ويشدد تقدير Sharpe المنكمش، و2 FREE معلمات فقط (حد دخول حركة آسيا، مضاعف وقف ATR) تقلل من عقوبة الانكماش لأفضل تجربة من-225. كما تملأ دلو الأفق القصير الممثل تمثيلاً ناقصاً (8.6% مقابل 10%).

يُصلح التكرار 2 فشل Layer-2 حرفيًا: أطلقت السيناريوهات الاصطناعية الستة جميعًا الخطأ «TypeError: _day_of() takes 1 positional argument but 2 were given». يعيد مُشغّل Layer-2 ربط كل سمة قابلة للاستدعاء على الوكيل باعتبارها طريقة BOUND، لذلك تلقّت المساعدتان الثابتتان @staticmethod ‏_day_of/_hour_of النسخةَ باعتبارها الوسيط الأول والشريطَ باعتباره الثاني. الإصلاح: أصبحت كلتاهما الآن طريقتين عاديتين للنسخة (self, bar) — وكانت مواضع الاستدعاء تستخدم أصلًا self._day_of(bar)/self._hour_of(bar)، لذا لم يتغير شيء آخر،……عرض المزيدعرض أقل

يُصلح التكرار 2 فشل Layer-2 حرفيًا: أطلقت السيناريوهات الاصطناعية الستة جميعًا الخطأ «TypeError: _day_of() takes 1 positional argument but 2 were given». يعيد مُشغّل Layer-2 ربط كل سمة قابلة للاستدعاء على الوكيل باعتبارها طريقة BOUND، لذلك تلقّت المساعدتان الثابتتان @staticmethod ‏_day_of/_hour_of النسخةَ باعتبارها الوسيط الأول والشريطَ باعتباره الثاني. الإصلاح: أصبحت كلتاهما الآن طريقتين عاديتين للنسخة (self, bar) — وكانت مواضع الاستدعاء تستخدم أصلًا self._day_of(bar)/self._hour_of(bar)، لذا لم يتغير شيء آخر، والسلوك داخل المحرك مطابق. ثانيًا، تغيير دفاعي في مسار المساعد نفسه: الطابع الزمني الذي أبلغه المُشغّل (1735690980000) بوحدة MILLISECONDS، بينما يزوّد المحرك طوابع زمنية بالنانوثانية؛ وكان الكود القديم يقسم بلا شرط على 1e9، ما كان سيحوّل كل شريط اصطناعي في المُشغّل إلى الساعة/اليوم نفسه ويجمّد منطق الجلسة (فشل Layer-2 كامنًا ثانيًا بعد زوال TypeError). تقوم الدالة الجديدة _epoch_secs() بالتطبيع بحسب المقدار (ns/us/ms/s)، ولا تفعل شيئًا مع الأشرطة الحقيقية بالنانوثانية، لذا لا يتأثر Layer-3 ولا الاختبار الرجعي الحقيقي. وبخلاف ذلك، فإن شكل الإشارة، وقواعد الدخول/الخروج، وATR، وتحديد الحجم، والاستيرادات، وبنية الفئة لم تتغير عن الكود الذي اجتاز Layer 1 بالفعل.

فرضية ذات توقّع سلبي على عينة كاملة التاريخ ومقاسة جيدًا. عبر 594 صفقة خلال 2020-2026، يخسر ترحيل الجلسة من آسيا إلى US المال: profit_factor 0.937 (<1)، total_return -9.81%، توقّع -$17.34/صفقة، وشارب -0.15 مع CI [-0.760، 0.458] يعبر الصفر، information_ratio -0.76. السنة الإيجابية الوحيدة هي 2020 (+15.3%)؛ وكل سنة منذ ذلك الحين سلبية أو ثابتة (2021 -8.1، 2022 -5.8، 2025 -10.8)، مع اتجاه شارب المتحرك إلى -8.3 بحلول 2026 — فرضية «الحركة الكبيرة في آسيا تتنبأ بحركة US» لا تؤيدها البيانات ببساطة. كما أنها هامشية من ناحية الرسوم: avg_trade_return_pct 0.110% أقل من حد رسوم Binance 0.15% USD-M (L22). ومع وجود 2 معلمات حرة فقط وميزة اتجاهية صافية سلبية، لا يمكن للضبط أن يقلب إشارة ميزة غير موجودة أصلًا. هذه بصمة خاسر صافٍ fee_edge/no_edge — لا تستحق 2 ساعة من التحسين.

التنفيذ

BTCUSDT.BINANCE USD-M دائم، شموع 1 ساعة، تقدم-تأخر داخل اليوم لجلسات طويل-قصير. كل يوم UTC يتراكم عائد جلسة آسيا (00:00-08:00 UTC من الافتتاح إلى الإغلاق) تراكمياً ويُطبَّع بالانحراف المعياري لآخر 30 عوائد آسيوية (احتياطي تشتت قائم على ATR بينما يدفأ هذا التاريخ)، مما يعطي درجة z مستمرة ثابتة المقياس تُعاد كل شمعة. عند ساعة افتتاح جلسة US (13:00 UTC) تدخل الاستراتيجية في اتجاه SAME مثل حركة آسيا عندما |z| >= entry_z، على الأكثر دخول واحد لكل يوم تقويمي. وتخرج عند ساعة إغلاق جلسة US (20:00 UTC) بحيث يكون الدفتر FLAT بين عشية وضحاها (لا تمويل، لا مخاطر فجوة)، أو أبكر عند وقف قائم على ATR (stop_atr_mult × ATR، بحد أدنى قدره min_stop_pct). يحجم المخاطر بمقدار risk_frac من حقوق الملكية عبر مسافة الوقف، بحد أقصى max_notional_frac × إجمالي حقوق الملكية. كل الحالة (ATR، عائد الجلسة، deque التشتت) هي O(1) لكل شمعة؛ تُرسى لفافة اليوم على الطابع الزمني للشمعة نفسها، وليس عداد شمعات.

نتائج التحقق

CLEAN RESTART 2026-09-04 — تمت إزالة سجل أحكام هذه الجولة وسجلات التعلّم، وأُعيد تشغيلها بدءًا من التحقق. كان التخلي السابق عنها ناتجًا عن خط أنابيب المعالجة، لا عن السوق: إذ ربط إطار عمل Layer-2 مساعدين من نوع @staticmethod على نحو خاطئ (وقد أُصلح ذلك)، وأصدر QA أحكام أداء نهائية استنادًا إلى اختبار دخان غير محسّن (وقد أزيل ذلك — QA يحكم الآن على الصحة فقط)، كما نتجت مهلات الصندوق المعزول عن استنزاف خانات الاختبار الخلفي (وقد أُصلح ذلك). الفرضية وشفرة الاستراتيجية لم تتغيرا. تحقّق من الشفرة استنادًا إلى مزاياها؛ ويُحسم الأداء لاحقًا بواسطة الاختبار الخلفي الكامل والمُحسِّن.

أضف _param_bounds = {entry_z: [...]، stop_atr_mult: [...]} بما يطابق قيود الكود؛ وأبقِ جميع ثوابت ساعات الجلسات/ATR/المخاطر خارجها.

يعلن الإعداد NO _param_bounds رغم أن الفرضية تقوم على «2 FREE معلمات فقط» لتقليل عقوبة انخفاض أفضل نتيجة بين -225 تجارب. من دونه، لا يملك المُحسِّن سطحًا صريحًا يربطه بـ {entry_z، stop_atr_mult}، ما يقوّض انضباط 2 معلمات. هذا ليس عيبًا في الصحة.

اضبط us_exit_hour=21 للنافذة الكاملة، أو وثّق 20:00 باعتباره مقصودًا.

تسمّي الفرضية جلسة US 13:00-21:00 UTC، لكن us_exit_hour هو 20، ما يفرض الثبات قبل ساعة واحدة. أمر طفيف لا يغيّر الآلية أو الثابت الخاص بالثبات طوال الليل.

مراجعة الاختبار الرجعي

شارب
-0٫15
إجمالي العائد
-9٫81%
أقصى تراجع
23٫40%
إجمالي الصفقات
594
نسبة الربح
44٫8%
عامل الربح
0٫94

جيد القياس: 594 صفقات على كامل تاريخ 2020-2026 1 ساعة، متوازن طويل/قصير (293/301)، تنفيذ نظيف (594 تم إصدار إشارة لها، 594 تم تقديمها، بدون إغفالات)

عائلة فارق زمني داخل الجلسة متميزة فعلًا؛ ثبات طوال الليل، ارتباط منخفض بالمرجع (0.025)، دون اعتماد على تغذية تكميلية

خاسر صافٍ: profit_factor 0.937 (<1)، total_return -9.81%، توقّع -$17.34/صفقة، وشارب -0.15 (CI يعبر الصفر)، information_ratio -0.76

avg_trade_return_pct 0.110% أقل من حد رسوم 0.15% Binance USD-M — هامشي من ناحية الرسوم حتى مع تجاهل التوقّع السلبي

فقط 2020 (+15.3%) إيجابي بشكل ذي معنى؛ وكل سنة لاحقة سلبية أو ثابتة (2025 -10.8%)، ويتجه شارب المتحرك إلى -8.3 بحلول 2026 — فرضية ترحيل الجلسة لا تملك ميزة مستمرة

return_kurtosis 78.6 — شريط متكتل (مثلاً يوم -6.07% على 2023-08-29) بدلاً من حافة سلسة

سجل التكرارات

فشل التحقق (Layer 2 — سيناريوهات اصطناعية): المعلمات المستخدمة: ['entry_z'، 'min_bars'، 'risk_frac'، 'atr_period'، 'min_notional'، 'min_stop_pct'، 'min_vol_days'، 'us_exit_hour'، 'asia_end_hour'، 'stop_atr_mult'، 'us_entry_hour'، 'asia_start_hour'، 'max_notional_frac'، 'vol_lookback_days'] تحقّق من أن __init__ يضبط جميع السمات من self.parameters.get(). - steady_uptrend: TypeError: ‏BtcAsiaToUsSessionCarryoverLS._day_of() يأخذ 1 من الوسائط الموضعية، لكن أُعطي 2 (الطابع الزمني للشريط: 1735690980000) -……عرض المزيدعرض أقل

فشل التحقق (Layer 2 — سيناريوهات اصطناعية): المعلمات المستخدمة: ['entry_z'، 'min_bars'، 'risk_frac'، 'atr_period'، 'min_notional'، 'min_stop_pct'، 'min_vol_days'، 'us_exit_hour'، 'asia_end_hour'، 'stop_atr_mult'، 'us_entry_hour'، 'asia_start_hour'، 'max_notional_frac'، 'vol_lookback_days'] تحقّق من أن __init__ يضبط جميع السمات من self.parameters.get(). - steady_uptrend: TypeError: ‏BtcAsiaToUsSessionCarryoverLS._day_of() يأخذ 1 من الوسائط الموضعية، لكن أُعطي 2 (الطابع الزمني للشريط: 1735690980000) - steady_downtrend: TypeError: ‏BtcAsiaToUsSessionCarryoverLS._day_of() يأخذ 1 من الوسائط الموضعية، لكن أُعطي 2 (الطابع الزمني للشريط: 1735690980000) - flat_ranging: TypeError: ‏BtcAsiaToUsSessionCarryoverLS._day_of() يأخذ 1 من الوسائط الموضعية، لكن أُعطي 2 (الطابع الزمني للشريط: 1735690980000) - volatility_spike: TypeError: ‏BtcAsiaToUsSessionCarryoverLS._day_of() يأخذ 1 من الوسائط الموضعية، لكن أُعطي 2 (الطابع الزمني للشريط: 1735690980000) - zero_volume: TypeError: ‏BtcAsiaToUsSessionCarryoverLS._day_of() يأخذ 1 من الوسائط الموضعية، لكن أُعطي 2 (الطابع الزمني للشريط: 1735690980000) - price_gap: TypeError: ‏BtcAsiaToUsSessionCarryoverLS._day_of() يأخذ 1 من الوسائط الموضعية، لكن أُعطي 2 (الطابع الزمني للشريط: 1735690980000)

Stratmill هي أداة بحث وتداول تجريبي وليست استشارة مالية أو وسيطًا. نتائج الاختبار الخلفي والتداول التجريبي افتراضية. ينطوي التداول على مخاطر الخسارة.