BtcSpotDualTimeframeMomentumConfluenceLong
परिकल्पनाएँ
BTC स्पॉट ड्यूल-टाइमफ्रेम मोमेंटम कॉन्फ्लुएंस, LONG-ONLY 1x (BTCUSDT.BINANCE_SPOT, 4H प्राइमरी + 1D कन्फर्म, केवल लॉन्ग जब BOTH टाइमफ्रेम्स UP की ओर इशारा करें, अन्यथा कैश में FLAT, ATR-ट्रेलिंग + डेली-रेजीम-ब्रेक एग्ज़िट, स्रोत-ऑप्टिमाइज़्ड पैरामीटर बरकरार)
परिकल्पनाएँ
फैक्ट्री की सबसे बेहतर प्रदर्शन करने वाली प्रमोटेड रणनीति (BtcDualTimeframeMomentumConfluenceLS, शार्प 1.99, 458 ट्रेड, पेपर के 29 दिनों में +$4,774) का LONG-ONLY, 1x, CASH-अकाउंट पोर्ट BTCUSDT.BINANCE_SPOT पर, जो विशेष रूप से FIRST LIVE-TRADING CANDIDATE के रूप में बनाया गया क्योंकि लाइव वेन्यू केवल स्पॉट है। तंत्र अपरिवर्तित, विशुद्ध-OHLCV, सिंगल-इंस्ट्रूमेंट: FAST लेग = 4-HOUR बार पर ट्रेलिंग 18-बार रिटर्न का साइन; SLOW लेग = DAILY बार पर ट्रेलिंग 15-बार रिटर्न का साइन (एक कॉन्टेक्स्ट लेग के रूप में on_extra_bar के माध्यम से पढ़ा गया, कभी सिंक बैरियर नहीं)। दोनों को AGREE होना चाहिए। CASH अकाउंट जिस एकमात्र संरचनात्मक परिवर्तन को मजबूर करता है वह है {LONG/FLAT/SHORT} को {LONG/FLAT} में सिमेटना: जहां फ्यूचर्स पैरेंट जॉइंट-डाउन कॉन्फ्लुएंस पर SHORT जाता है, वहीं स्पॉट संस्करण 100% USDT होल्ड करता है। बाकी सब कुछ शब्दशः संरक्षित है: चल रहे एक्सट्रीम से 3.033x ATR पर ATR(14) ट्रेलिंग स्टॉप, डेली-रेजीम-ब्रेक एग्ज़िट, वोल-स्केल्ड कैपिटल-रिलेटिव साइज़िंग (risk_pct 1.011% / 3.033xATR स्टॉप डिस्टेंस), 49.7% मैक्स-नोशनल कैप, और स्रोत ऑप्टिमाइज़ेशन द्वारा चुना गया वही सटीक पैरामीटर वेक्टर (fast_lookback 18, slow_lookback 15, trail_atr_mult 3.033)। तीन ट्यूनेबल्स, कोई पूरक डेटा नहीं, कोई शॉर्ट नहीं, कोई लीवरेज नहीं। स्पॉट-विशिष्ट कोड परिवर्तन: BINANCE_SPOT CASH वेन्यू (position_size में कोई लीवरेज मल्टीप्लायर नहीं), size_precision 5 / price_precision 2, min_notional $10, बिक्री केवल होल्ड की गई बेस मात्रा के अनुसार साइज़ की गई। मौजूद पाया गया डेटा: BTCUSDT.BINANCE_SPOT 4-HOUR और 1-DAY बार 2017-08-17 से निरंतर चलते हैं (~9 वर्ष, ~19,800 4H बार)।
परिकल्पनाएँ
प्रमोटेड फ्यूचर्स पैरेंट BtcDualTimeframeMomentumConfluenceLS का स्पॉट वेन्यू पर सीधा पोर्ट, क्योंकि इच्छित लाइव वेन्यू केवल स्पॉट है। तंत्र शब्दशः संरक्षित: वही दो मोमेंटम लेग्स, वही AGREE-या-फ्लैट गेट, चल रहे एक्सट्रीम से वही ATR(14) 3.033x ट्रेलिंग स्टॉप, वही डेली-रेजीम-ब्रेक एग्ज़िट, 49.7% नोशनल कैप के साथ वही वोल-स्केल्ड risk_pct / स्टॉप-डिस्टेंस साइज़िंग, और स्रोत ऑप्टिमाइज़ेशन द्वारा चुना गया वही सटीक पैरामीटर वेक्टर (fast_lookback 18, slow_lookback 15, trail_atr_mult 3.033)। CASH अकाउंट ठीक एक संरचनात्मक परिवर्तन को मजबूर करता है, जैसा परिकल्पना निर्दिष्ट करती है: {LONG,FLAT,SHORT} सिमट कर {LONG,FLAT} बन जाता है — should_enter केवल जॉइंट-अप पर BUY लौटाता है और अन्यथा None, इसलिए जॉइंट-डाउन शॉर्ट के बजाय 100% USDT होता है। स्पॉट-विशिष्ट संपादन: लीवरेज 1.0 और position_size में कोई लीवरेज टर्म नहीं के साथ वेन्यू BINANCE_SPOT, size_precision 5 / price_precision 2 (BTCUSDT स्पॉट), min_notional बढ़ाकर $10 किया गया, और सभी एग्ज़िट बेस टेम्पलेट के रिड्यूस-ओनली close_position के माध्यम से रूट किए गए हैं ताकि एक SELL हमेशा केवल होल्ड की गई बेस मात्रा घटा सके (एक नग्न स्पॉट शॉर्ट संरचना के अनुसार असंभव है, और बेस का _would_open_spot_short गार्ड कभी ट्रिगर नहीं होता)। calculate_signal हर बार निरंतर 18-बार 4H रिटर्न लौटाता है (यह बार-दर-बार बदलता है); डिस्क्रीट कॉन्फ्लुएंस गेट should_enter में रहता है, जैसा आवश्यक है। प्रति-बार लागत O(1) है: ATR एक स्थिर 15-बार विंडो का उपयोग करता है और फास्ट रिटर्न एक सिंगल इंडेक्स्ड लुकअप है, इसलिए कोई हिस्ट्री-स्केलिंग कार्य नहीं है। विश्लेषक के लिए एक ईमानदार चेतावनी: स्पॉट राउंड-ट्रिप लागत ~0.20% है जबकि फ्यूचर्स पैरेंट पर ~0.10% है, इसलिए प्रति-ट्रेड एज को दोगुने घर्षण को पार करना होगा — ट्रेंड-फॉलोइंग एग्ज़िट संरचना (ट्रेल + रेजीम ब्रेक, कोई फिक्स्ड टेक-प्रॉफिट नहीं) ही है जो औसत होल्ड को इसके प्रशंसनीय होने जितना लंबा बनाती है, लेकिन यही वह मेट्रिक है जिसे सबसे पहले देखना चाहिए।
कार्यान्वयन
LONG-ONLY 1x BTCUSDT स्पॉट (BINANCE_SPOT, CASH) ड्यूल-टाइमफ्रेम मोमेंटम कॉन्फ्लुएंस। FAST लेग = 4-HOUR बार (प्राइमरी) पर ट्रेलिंग 18-बार रिटर्न का साइन; SLOW लेग = 1-DAY बार पर ट्रेलिंग 15-बार रिटर्न का साइन, एक स्लोअर-टाइमफ्रेम कॉन्टेक्स्ट लेग के रूप में on_extra_bar के माध्यम से कंज्यूम किया गया (अलग टाइमफ्रेम, इसलिए बेस टेम्पलेट का क्रॉस-लेग अलाइनमेंट बैरियर कभी 4H सिग्नल को डेफर नहीं करता)। BTC होल्ड करने के लिए दोनों लेग्स को UP की ओर इशारा करना चाहिए; जॉइंट-डाउन (जहां फ्यूचर्स पैरेंट शॉर्ट करता है) और असहमति दोनों का मतलब है 100% USDT होल्ड करना। एग्ज़िट: पोज़िशन के चल रहे पीक से 3.033x ATR नीचे ATR(14) ट्रेलिंग स्टॉप, OR लॉन्ग के तहत डेली लेग का नीचे की ओर पलटना (हायर-टाइमफ्रेम रेजीम ब्रेक)। साइज़िंग वोल-स्केल्ड और कैपिटल-रिलेटिव है: equity * 1.011% / (3.033 * ATR), USDT बैलेंस के नोशनल में 49.7% पर कैप्ड, NO लीवरेज मल्टीप्लायर के साथ (CASH अकाउंट उधार नहीं ले सकता), size_precision 5 तक क्वांटाइज़्ड और $10 स्पॉट मिन नोशनल से नीचे रिजेक्टेड। तीन ट्यूनेबल्स, विशुद्ध OHLCV, कोई पूरक डेटा नहीं, कोई शॉर्ट नहीं।
सत्यापन परिणाम
या तो पैरेंट से बिल्कुल मिलान के लिए should_exit की ट्रेल तुलना में self._atr (वर्तमान) का उपयोग करें, या विवरण में स्पष्ट रूप से बताएं कि ट्रेल एंट्री-बार ATR से एंकर्ड है ताकि विश्लेषक वेन्यू परिवर्तन के लिए पैरेंट से विचलन का श्रेय न दे।
सत्यापन परिणाम
ट्रेलिंग-स्टॉप ATR एंट्री पर FROZEN है (self._entry_atr, should_enter में / पोज़िशन एडॉप्शन पर कैप्चर किया गया) और कभी रिफ्रेश नहीं होता, इसलिए ट्रेल दूरी ATR(14) के वर्तमान 3.033 x के बजाय 3.033 x ATR-एट-एंट्री है। प्रमोटेड फ्यूचर्स पैरेंट (BtcDualTimeframeMomentumConfluenceLS4H) हर बार CURRENT ATR के साथ अपने ट्रेल को रैचेट करता है। परिकल्पना का वाक्यांश ('चल रहे एक्सट्रीम से 3.033x ATR पर ATR(14) ट्रेलिंग स्टॉप') दोनों ही तरीकों से संतुष्ट होता है, और चूंकि _extreme मोनोटोन है इसलिए स्टॉप लेवल अभी भी केवल ऊपर की ओर ही रैचेट करता है, इसलिए यह एक सटीकता दोष नहीं है — लेकिन एंट्री के बाद वोल विस्तार पर प्रभावी स्टॉप पैरेंट की तुलना में सख्त है, जो इस रणनीति से एक वास्तविक व्यवहारगत अंतर है जिसे 'शब्दशः' पोर्ट किया गया बताया गया है।
सत्यापन परिणाम
ट्रेड स्टेट को should_enter के अंदर के बजाय फिल से (on_order_filled / ओपन पोज़िशन वाला पहला बार) सेट करें, या पोज़िशन लुकअप से पहले calculate_signal के शीर्ष पर इसे डिफेंसिवली रीसेट करें।
सत्यापन परिणाम
should_enter() ट्रेड स्टेट को म्यूटेट करता है (_in_long = True, _extreme, _entry_atr) BEFORE बेस टेम्पलेट ने ऑर्डर को साइज़ किया है और मिन-नोशनल गेट लागू किया है। यदि position_size() 0 लौटाता है या $10 मिन-नोशनल चेक एंट्री को ड्रॉप कर देता है, तो रणनीति एक आर्म्ड ट्रेल के साथ इन-लॉन्ग के रूप में फ्लैग की हुई रह जाती है जबकि वह फ्लैट है। व्यवहार में यह अगले बार पर स्वतः ठीक हो जाता है (calculate_signal देखता है कि पोज़िशन None है और फ्लैग्स रीसेट करता है, और फ्लैट रहते हुए should_exit कभी नहीं पहुंचा जाता), इसलिए कोई अवलोकनीय व्यवहारगत बग नहीं है — लेकिन यदि एग्ज़िट पाथ कभी बदला गया तो यह इनवेरिएंट नाज़ुक है।
सत्यापन परिणाम
सटीकता के लिए कोई फिक्स आवश्यक नहीं है। यदि ठीक उसी बार पर कंजम्पशन चाहिए, तो on_extra_bar में कैश करने के बजाय calculate_signal के अंदर self._extra_bars[...] से _slow_dir को लेज़ी तरीके से पुनर्गणित करें।
सत्यापन परिणाम
डेली लेग पर एक-बार लेटेंसी: DAILY बार और दिन का अंतिम 4H बार एक ही क्लोज़ टाइमस्टैम्प साझा करते हैं। यदि इंजन पहले प्राइमरी 4H बार डिलीवर करता है, तो _maybe_process_primary() चलता है और _last_processed_ts को स्टैंप करता है, और डेली बार का _slow_dir अपडेट (उसी ts पर आने वाला) केवल NEXT 4H बार से ही कंज्यूम होता है। यह रूढ़िवादी (कंज़र्वेटिव) है (यह किसी सिग्नल को केवल विलंबित कर सकता है, कभी भविष्य का डेटा लीक नहीं करता), लेकिन इसका मतलब है कि डेली-रेजीम-ब्रेक एग्ज़िट लगभग आधे मामलों में डेली क्लोज़ के 4 घंटे बाद तक फायर हो सकता है, और बैकटेस्ट/पेपर पैरिटी डिलीवरी ऑर्डर के स्थिर होने पर निर्भर करती है।
सत्यापन परिणाम
ईमानदार कार्यान्वयन, लेकिन तीन बातें जिन्हें विश्लेषक को पूरे इतिहास पर तौलना चाहिए: (1) स्पॉट राउंड-ट्रिप ~0.20% है जबकि फ्यूचर्स पैरेंट का ~0.10% है, इसलिए वही सकल एज लगभग आधा नेट होता है — सैंडबॉक्स पहले से ही कमीशन को सकल के 10.03% पर दिखाता है; (2) पैरामीटर वेक्टर (फास्ट 18 / स्लो 15 / ट्रेल 3.033) को एक DIFFERENT वेन्यू, टाइमफ्रेम मिश्रण और दिशा सेट (LONG/SHORT फ्यूचर्स) पर चलाए गए ऑप्टिमाइज़ेशन रन द्वारा चुना गया था, इसलिए यह आउट-ऑफ-सैंपल ट्रांसफर है, न कि एक ऑप्टिमाइज़्ड कॉन्फिग — सैंडबॉक्स शार्प 0.527 है जिसमें sharpe_ci_low -0.233 और बेंचमार्क के मुकाबले information_ratio -0.760 है, यानी एक लॉन्ग-ओनली BTC बुक जो स्मोक विंडो पर BTC होल्ड करने से कमतर प्रदर्शन करती है; (3) शॉर्ट लेग हटाने से पैरेंट की लगभग आधी ट्रेड आबादी हट जाती है (250 ट्रेड, सभी लॉन्ग, 43.6% एक्सपोज़र), इसलिए वास्तविक शार्प को पैरेंट के 1.99 के करीब होने के बजाय उससे काफी नीचे होने की उम्मीद करनी चाहिए। वास्तविक बैकटेस्ट पर सबसे पहले जांचने योग्य बात: 0.25% स्पॉट फ्लोर के मुकाबले avg_trade_return_pct (सैंडबॉक्स 0.82% दिखाता है, लेकिन उस विंडो में 2017 शामिल नहीं है और यह केवल 2401 दिनों की है) और क्या 'सामान्य' वोल टर्साइल (सैंडबॉक्स में -8.77%) पूरे इतिहास में नकारात्मक बना रहता है।
बैकटेस्ट समीक्षा
3146 दिनों (2017-08 → 2026-03) में 314 बंद ट्रेड, metrics_reliable=true, entry_diag 314/314 एंट्रीज़ सबमिट की गईं जिनमें से 0 छोड़ी गईं।
बैकटेस्ट समीक्षा
ट्रेड परिकल्पना को लागू करते हैं: सभी 314 LONG / 0 शॉर्ट (पैरेंट के LONG/FLAT/SHORT का सही CASH पतन), 0.497 कैप के मुकाबले मैक्स नोशनल/इक्विटी 0.50, औसत होल्ड 4d8h और 43.6% एक्सपोज़र फ्यूचर्स पैरेंट को पुनरुत्पादित करते हुए।
बैकटेस्ट समीक्षा
~0.20% BINANCE_SPOT राउंड ट्रिप के मुकाबले avg_trade_return_pct 1.20%; कमीशन सकल का केवल 8.97%, प्रभाव 4.33% — फी-मार्जिनल नहीं।
बैकटेस्ट समीक्षा
max_drawdown 10.3% (15% स्पॉट डिफॉल्ट के तहत), PF 1.41, पेऑफ 2.07 40.4% हिट रेट पर (सही ट्रेंड शेप), स्ट्रेस्ड वोल टर्साइल +28.0%।
बैकटेस्ट समीक्षा
अत्यधिक संकेंद्रण: 314 में से शीर्ष 10 ट्रेड = सारांशित प्रति-ट्रेड रिटर्न का 93.8%, शीर्ष 20 = 141% (ट्रेड 21–314 शुद्ध रूप से नकारात्मक)।
बैकटेस्ट समीक्षा
केवल 6/10 कैलेंडर वर्ष सकारात्मक रहे — ठीक हार्ड फ्लोर पर — और दोनों हाल के वर्ष नकारात्मक हैं (2025 −10.5%, 2026 −9.9%)।
बैकटेस्ट समीक्षा
शार्प 0.664, sharpe_ci_low 0.0042 और PSR 0.924 (<0.95) के साथ: ~225-ट्रायल सिलेक्शन बार से पहले ही सीमांत (marginal)।
बैकटेस्ट समीक्षा
QA की चिंता आंशिक रूप से पुष्ट हुई: 'सामान्य' वोल टर्साइल नकारात्मक बना रहता है (−7.70%, 16.1% DD), information_ratio −0.757, अल्फा केवल +2.4%/वर्ष — यह BTC होल्ड करने से कमतर प्रदर्शन करता है, और benchmark_meaningful=true है इसलिए वह कमी वास्तविक है।
बैकटेस्ट समीक्षा
पैरामीटर किसी अन्य वेन्यू/दिशा सेट से एक आउट-ऑफ-सैंपल ट्रांसफर हैं — ओवरफिट के बजाय अनट्यून्ड, लेकिन यहां अनटेस्टेड भी।
Stratmill एक रिसर्च और पेपर-ट्रेडिंग टूल है, वित्तीय सलाह या ब्रोकर नहीं। बैकटेस्ट और पेपर परिणाम काल्पनिक हैं। ट्रेडिंग में नुकसान का जोखिम होता है।