কনটেন্টে যান
সব কৌশল

স্ট্র্যাটেজি

BTC ক্রস-সেশন মোমেন্টাম ক্যারিওভার — লং-শর্ট, সিঙ্গেল-ইনস্ট্রুমেন্ট OHLCV: ASIA-সেশন মুভের দিক US-সেশন মুভের পূর্বাভাস দেয়; Asia মুভ বড় হলে US সেশনে সেই দিকে ONLY ট্রেড করুন, ওভারনাইট ফ্ল্যাট (BINANCE BTCUSDT USD-M, 1H বার, ইন্ট্রাডে, 2-প্যারামিটার)

ফলাফল: পরিত্যক্ত

BtcAsiaToUsSessionCarryoverLS

সুনির্দিষ্টভাবে পরিমাপিত: সম্পূর্ণ 2020-2026 1H ইতিহাসে 594 ট্রেড, ব্যালান্সড লং/শর্ট (293/301), পরিষ্কার এক্সিকিউশন (594 সিগন্যালড, 594 সাবমিটেড, কোনো ড্রপ নেই)

হাইপোথিসিস

BTCUSDT.BINANCE USD-M পারপেচুয়ালের উপর একটি LONG-SHORT, SINGLE-INSTRUMENT, পিওর-OHLCV INTRADAY স্ট্র্যাটেজি যা এখানে পেন্ডিং বা ডেড সবকিছু থেকে সত্যিকারভাবে ভিন্ন একটি পরিবারের — এটি NOT একটি ট্রেন্ড/ব্রেকআউট (ডুয়াল-TF মোমেন্টাম, SuperTrend, Donchian, ORB) নয়, NOT একটি মিন-রিভার্শন/ফেড (দুটোই ডেড) নয়, এবং NOT একটি সাপ্লিমেন্টারি-ফিড সিগন্যাল (সব নেট লুজার) নয়। এটি একটি ইন্ট্রাডে SESSION LEAD-LAG কাজে লাগায়: কম-অংশগ্রহণের ASIA সেশনে (00:00-08:00 UTC) সেট হওয়া ডিরেক্শনাল টোন উচ্চ-লিকুইডিটি US সেশনে……আরও দেখুনকম দেখুন

BTCUSDT.BINANCE USD-M পারপেচুয়ালের উপর একটি LONG-SHORT, SINGLE-INSTRUMENT, পিওর-OHLCV INTRADAY স্ট্র্যাটেজি যা এখানে পেন্ডিং বা ডেড সবকিছু থেকে সত্যিকারভাবে ভিন্ন একটি পরিবারের — এটি NOT একটি ট্রেন্ড/ব্রেকআউট (ডুয়াল-TF মোমেন্টাম, SuperTrend, Donchian, ORB) নয়, NOT একটি মিন-রিভার্শন/ফেড (দুটোই ডেড) নয়, এবং NOT একটি সাপ্লিমেন্টারি-ফিড সিগন্যাল (সব নেট লুজার) নয়। এটি একটি ইন্ট্রাডে SESSION LEAD-LAG কাজে লাগায়: কম-অংশগ্রহণের ASIA সেশনে (00:00-08:00 UTC) সেট হওয়া ডিরেক্শনাল টোন উচ্চ-লিকুইডিটি US সেশনে (13:00-21:00 UTC) PERSIST হতে থাকে, কারণ US/ইনস্টিটিউশনাল ফ্লো মুভটি রিভার্স করার পরিবর্তে চালিয়ে যায়। প্রতিটি UTC দিনে, Asia-সেশন রিটার্নের সাইন এবং সাইজ পরিমাপ করা হয়; যখন Asia মুভ LARGE হয় (একটি প্রকৃত ডিরেক্শনাল সিগন্যাল, নয়েজ নয়), স্ট্র্যাটেজিটি US সেশনে SAME দিকে এন্টার করে এবং শুধুমাত্র সেই সেশনের জন্য হোল্ড করে, ওভারনাইট FLAT হয়ে (কোনো ফান্ডিং এক্সপোজার নেই, কোনো ওভারনাইট গ্যাপ নেই, কোনো মাল্টি-ডে ট্রেন্ড রিস্ক নেই)। এটি পেন্ডিং BTC ওপেনিং-রেঞ্জ ব্রেকআউট (যা প্রথম কয়েক ঘণ্টার একটি রেঞ্জ BREAKOUT ট্রেড করে) থেকে ভিন্ন — এখানে কোনো ব্রেকআউট নেই; এটি একটি ইতিমধ্যে-প্রতিষ্ঠিত সেশন মুভের একটি ডিরেক্শনাল CARRYOVER যা পরবর্তী, আলাদা সেশনে চলে যায়। এটি টিকে থাকার ইনভ্যারিয়েন্টগুলো বজায় রাখে (সিঙ্গেল-ইনস্ট্রুমেন্ট, সম্পূর্ণ 2020-2026 1H ইতিহাস সহ পিওর OHLCV, লং-শর্ট, নেট-লুজার শিক্ষা অনুযায়ী কোনো সাপ্লিমেন্টারি ফিড নেই, L69 অনুযায়ী কোনো সেকেন্ড লেগ নেই) এবং এটি স্ট্যাটিস্টিকাল গেটগুলোর জন্য তৈরি: প্রায়-ডেইলি ক্যাডেন্স একটি LARGE ট্রেড কাউন্ট (>100/yr) দেয় যা মেজারেবিলিটি ট্রিপওয়্যার ক্লিয়ার করে এবং ডিফ্লেটেড-শার্প এস্টিমেট টাইট করে, এবং শুধুমাত্র 2 FREE প্যারামিটার (Asia-মুভ এন্ট্রি থ্রেশহোল্ড, ATR স্টপ মাল্টিপল) best-of-225-ট্রায়াল ডিফ্লেশন পেনাল্টি কমায়। এটি আন্ডার-রিপ্রেজেন্টেড শর্ট-হরাইজন বাকেটও (8.6% vs 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 দ্বারা ভাগ করত, যা হার্নেসের অধীনে প্রতিটি সিন্থেটিক বারকে একই ঘণ্টা/দিনে সংকুচিত করে সেশন লজিককে ফ্রিজ করে দিত (TypeError পরিষ্কার হওয়ার পর একটি সুপ্ত দ্বিতীয় Layer-2 ব্যর্থতা)। নতুন _epoch_secs() মাত্রা অনুসারে নরমালাইজ করে (ns/us/ms/s) এবং রিয়েল ন্যানোসেকেন্ড বারের জন্য নো-অপ, তাই Layer-3 এবং রিয়েল ব্যাকটেস্ট অপ্রভাবিত থাকে। সিগন্যাল শেপ, এন্ট্রি/এক্সিট রুল, ATR, সাইজিং, ইমপোর্ট এবং ক্লাস স্ট্রাকচার অন্যথায় সেই কোড থেকে অপরিবর্তিত রয়েছে যা ইতিমধ্যে Layer 1 পাস করেছে।

একটি সুনির্দিষ্টভাবে পরিমাপিত সম্পূর্ণ-ইতিহাস স্যাম্পলের উপর নেগেটিভ-এক্সপেক্ট্যান্সি প্রিমাইজ। 2020-2026-এর মধ্যে 594 ট্রেড জুড়ে Asia->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) এবং রোলিং শার্প 2026-এর মধ্যে -8.3-এ ট্রেন্ড করছে — 'বড় Asia মুভ US মুভের পূর্বাভাস দেয়' হাইপোথিসিসটি আসলে প্রমাণিত হয়নি। এটি ফি-মার্জিনালও: avg_trade_return_pct 0.110% 0.15% Binance USD-M ফ্লোরের (L22) নিচে। শুধুমাত্র 2 ফ্রি প্যারামিটার এবং একটি নেট-নেগেটিভ ডিরেক্শনাল এজ নিয়ে, টিউনিং এমন একটি এজের চিহ্ন পাল্টাতে পারে না যা আসলে অস্তিত্বই নেই। এটি fee_edge/no_edge নেট-লুজার সিগনেচার — 2 ঘণ্টা অপ্টিমাইজেশনের যোগ্য নয়।

구현

BTCUSDT.BINANCE USD-M পারপেচুয়াল, 1H বার, লং-শর্ট ইন্ট্রাডে সেশন লিড-ল্যাগ। প্রতিটি UTC দিনে Asia-সেশন রিটার্ন (00:00-08:00 UTC ওপেন-টু-ক্লোজ) ক্রমান্বয়ে সংগৃহীত হয় এবং সর্বশেষ 30 Asia রিটার্নের স্ট্যান্ডার্ড ডেভিয়েশন দ্বারা নরমালাইজড হয় (সেই ইতিহাস ওয়ার্ম হওয়ার সময় ATR-ভিত্তিক ডিসপার্শন ফলব্যাক), যা প্রতি বারে একটি কন্টিনিউয়াস স্কেল-ইনভ্যারিয়েন্ট z-স্কোর প্রদান করে। US-সেশন ওপেন ঘণ্টায় (13:00 UTC) স্ট্র্যাটেজিটি |z| >= entry_z হলে Asia মুভের মতো SAME দিকে এন্টার করে, প্রতি ক্যালেন্ডার দিনে সর্বোচ্চ একটি এন্ট্রি। এটি US-সেশন ক্লোজ ঘণ্টায় (20:00 UTC) এক্সিট করে যাতে বুকটি ওভারনাইট FLAT থাকে (কোনো ফান্ডিং নেই, কোনো গ্যাপ রিস্ক নেই), অথবা তার আগেই একটি ATR-ভিত্তিক স্টপে (stop_atr_mult x ATR, min_stop_pct-এ ফ্লোরড)। সাইজিং স্টপ দূরত্ব জুড়ে ইকুইটির risk_frac ঝুঁকিতে রাখে, max_notional_frac x ইকুইটি গ্রসে ক্যাপড। সমস্ত স্টেট (ATR, সেশন রিটার্ন, ডিসপার্শন ডিক) প্রতি বারে O(1); দিন রোল বার কাউন্টারের পরিবর্তে বারের নিজস্ব টাইমস্ট্যাম্পের উপর অ্যাঙ্করড।

검증 결과

CLEAN RESTART 2026-09-04 — এই রানের ভার্ডিক্ট হিস্টরি এবং লার্নিং রেকর্ড অপসারণ করা হয়েছে এবং এটি ভেরিফিকেশন থেকে পুনরায় শুরু করা হয়েছে। এর পূর্ববর্তী পরিত্যাগ (abandonment) মার্কেট থেকে আসেনি, পাইপলাইন থেকে এসেছে: Layer-2 হার্নেস @staticmethod হেল্পারগুলো ভুলভাবে বাইন্ড করেছিল (ঠিক করা হয়েছে), QA একটি অপ্টিমাইজ না করা স্মোক টেস্টের উপর টার্মিনাল পারফরম্যান্স ভার্ডিক্ট ইস্যু করেছিল (অপসারণ করা হয়েছে — QA এখন শুধুমাত্র সঠিকতা বিচার করে), এবং স্যান্ডবক্স টাইমআউটগুলো ব্যাকটেস্ট-স্লট স্টার্ভেশনের কারণে হয়েছিল (ঠিক করা হয়েছে)। হাইপোথিসিস এবং স্ট্র্যাটেজি কোড অপরিবর্তিত রয়েছে। কোডটিকে তার নিজ গুণাগুণে ভেরিফাই করুন; পারফরম্যান্স পরবর্তীতে সম্পূর্ণ ব্যাকটেস্ট এবং অপ্টিমাইজার দ্বারা সিদ্ধান্ত নেওয়া হবে।

কোড ক্ল্যাম্পের সাথে মিলিয়ে _param_bounds = {entry_z: [...], stop_atr_mult: [...]} যুক্ত করুন; সমস্ত সেশন-ঘণ্টা/ATR/রিস্ক কনস্ট্যান্ট এর বাইরে রাখুন।

কনফিগ NO _param_bounds ঘোষণা করে যদিও হাইপোথিসিসটি best-of-225-ট্রায়াল ডিফ্লেশন পেনাল্টি কমানোর জন্য 'শুধুমাত্র 2 FREE প্যারামিটার' এর উপর নির্ভরশীল। এটি ছাড়া অপ্টিমাইজারের কাছে {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

সুনির্দিষ্টভাবে পরিমাপিত: সম্পূর্ণ 2020-2026 1H ইতিহাসে 594 ট্রেড, ব্যালান্সড লং/শর্ট (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%), রোলিং শার্প 2026-এর মধ্যে -8.3-এ ট্রেন্ড করে — সেশন-ক্যারিওভার প্রিমাইজের কোনো স্থায়ী এজ (edge) নেই

return_kurtosis 78.6 — একটি মসৃণ এজের পরিবর্তে লাম্পি টেপ (যেমন 2023-08-29-এ একটি -6.07% দিন)

ইটারেশন হিস্ট্রি

ভেরিফিকেশন ব্যর্থ হয়েছে (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() takes 1 positional argument but 2 were given (bar timestamp:……আরও দেখুনকম দেখুন

ভেরিফিকেশন ব্যর্থ হয়েছে (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() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - steady_downtrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - flat_ranging: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - volatility_spike: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - zero_volume: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - price_gap: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000)

Stratmill একটি রিসার্চ ও পেপার-ট্রেডিং টুল, আর্থিক পরামর্শ বা ব্রোকার নয়। ব্যাকটেস্ট ও পেপার ফলাফল কাল্পনিক। ট্রেডিংয়ে ক্ষতির ঝুঁকি রয়েছে।