مواد پر جائیں

اصل متن دیکھیں

BtcSpotDualTimeframeMomentumConfluenceLong

مفروضے

BTC سپاٹ ڈوئل-ٹائم فریم مومینٹم کنفلوئنس، LONG-ONLY 1x (BTCUSDT.BINANCE_SPOT، 4H پرائمری + 1D کنفرم، صرف اُس وقت لانگ جب BOTH ٹائم فریمز UP کی طرف اشارہ کریں، ورنہ FLAT سے نقد، ATR-ٹریلنگ + ڈیلی-ریجیم-بریک ایگزٹ، سورس-آپٹیمائزڈ پیرامیٹرز برقرار)

مفروضے

فیکٹری کی بہترین کارکردگی دکھانے والی پروموٹ شدہ حکمتِ عملی (BtcDualTimeframeMomentumConfluenceLS، شارپ 1.99، 458 ٹریڈز، 29 دن کے پیپر ٹریڈنگ پر +$4,774) کا BTCUSDT.BINANCE_SPOT پر ایک LONG-ONLY، 1x، CASH-اکاؤنٹ پورٹ، جو خاص طور پر 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 تھامے رکھتا ہے۔ باقی سب کچھ بالکل جوں کا توں محفوظ ہے: رننگ ایکسٹریم سے ATR(14) ٹریلنگ اسٹاپ بمقام 3.033x ATR، ڈیلی-ریجیم-بریک ایگزٹ، وول-اسکیلڈ کیپیٹل-ریلیٹو سائزنگ (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 ٹریلنگ اسٹاپ، وہی ڈیلی-ریجیم-بریک ایگزٹ، وہی وول-اسکیلڈ risk_pct / اسٹاپ-ڈسٹنس سائزنگ بمعہ 49.7% ناشنل کیپ، اور بالکل وہی پیرامیٹر ویکٹر جو سورس آپٹیمائزیشن نے منتخب کیا تھا (fast_lookback 18، slow_lookback 15، trail_atr_mult 3.033)۔ CASH اکاؤنٹ بالکل ایک ساختی تبدیلی پر مجبور کرتا ہے، جیسا کہ مفروضہ بیان کرتا ہے: {LONG,FLAT,SHORT} سکڑ کر {LONG,FLAT} بن جاتا ہے — should_enter صرف جوائنٹ-اپ پر BUY لوٹاتا ہے اور باقی ہر صورت میں None، لہٰذا جوائنٹ-ڈاؤن شارٹ کے بجائے 100% USDT ہے۔ سپاٹ-مخصوص ترامیم: وینیو BINANCE_SPOT بمعہ لیوریج 1.0 اور position_size میں کوئی لیوریج ٹرم نہیں، size_precision 5 / price_precision 2 (BTCUSDT سپاٹ)، min_notional بڑھا کر $10 کر دیا گیا، اور تمام ایگزٹس بیس ٹیمپلیٹ کے reduce-only 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 کبھی نہیں پہنچتا)، لہٰذا کوئی قابلِ مشاہدہ رویاتی خرابی نہیں ہے — لیکن اگر ایگزٹ پاتھ کبھی تبدیل کیا جائے تو یہ invariant نازک ہے۔

تصدیق کے نتائج

درستگی کے لیے کسی فکس کی ضرورت نہیں۔ اگر بالکل اسی-بار کنزمپشن مطلوب ہو، تو _slow_dir کو on_extra_bar میں کیش کرنے کے بجائے calculate_signal کے اندر self._extra_bars[...] سے سست انداز میں دوبارہ حساب کریں۔

تصدیق کے نتائج

ڈیلی لیگ پر ایک-بار کی تاخیر: 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.50 بمقابلہ 0.497 کیپ کے، اوسط ہولڈ 4دن8گھنٹے اور 43.6% ایکسپوژر فیوچرز پیرنٹ کو دہراتے ہوئے۔

بیک ٹیسٹ جائزہ

avg_trade_return_pct 1.20% بمقابلہ تقریباً 0.20% BINANCE_SPOT راؤنڈ ٹرپ؛ کمیشن مجموعی کا صرف 8.97%، اثر 4.33% — فیس-مارجنل نہیں۔

بیک ٹیسٹ جائزہ

max_drawdown 10.3% (15% سپاٹ ڈیفالٹ کے تحت)، PF 1.41، 40.4% ہٹ ریٹ پر پے آف 2.07 (درست ٹرینڈ شکل)، اسٹریسڈ وولٹیلیٹی ٹرشائل +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-ٹرائل سلیکشن بار سے پہلے ہی معمولی سطح پر۔

بیک ٹیسٹ جائزہ

QA کا خدشہ جزوی طور پر درست ثابت ہوا: 'عام' وولٹیلیٹی ٹرشائل منفی ہی رہتا ہے (−7.70%، 16.1% DD)، information_ratio −0.757، الفا صرف +2.4%/سال ہے — یہ BTC کو تھامے رکھنے سے بھی کمتر کارکردگی دکھاتا ہے، اور benchmark_meaningful=true ہے لہٰذا یہ کمی حقیقی ہے۔

بیک ٹیسٹ جائزہ

پیرامیٹرز ایک اور وینیو/ڈائریکشن سیٹ سے آؤٹ-آف-سیمپل ٹرانسفر ہیں — اوور فٹ ہونے کے بجائے اَن-ٹیونڈ، لیکن یہاں اَن-ٹیسٹڈ بھی ہیں۔
حکمت عملی کی رپورٹ

Stratmill ایک تحقیقی اور پیپر ٹریڈنگ ٹول ہے، مالیاتی مشورہ یا بروکر نہیں۔ بیک ٹیسٹ اور پیپر نتائج فرضی ہیں۔ ٹریڈنگ میں نقصان کا خطرہ شامل ہے۔