استراتژیها
BTC فید کریپتو احساسات-اخبار افراطی ضدروند — لانگ-شورت، تکابزار: محو اوجهای احساسات جمعی سرخوشانه/فروپاشی به سمت میانگین، با استاپ سخت، نگهداری چندروزه (BINANCE BTCUSDT USD-M، بارهای 4H + پشتیبان news_sentiment، بازه نگاه کوتاه، 2-پارامتری)
نتیجه: رهاشده
BtcNewsSentimentExtremeFadeLS
یک سیگنال واقعاً متعامد (احساسات-اخبار LLM) خارج از گورستان خالص-OHLCV؛ ساختار تمیز لانگ-شورت تکابزار با یک گیت بدون-fallback-خاموش
فرضیه
ذاتاً غیرقابل سنجش و از قبل منفی — ارزش 2 ساعت بهینهسازی را ندارد. فید news_sentiment تنها از 2026-08-13 شروع میشود، بنابراین با وجود پنجره 6-ساله (58,512-باری)، استراتژی تنها حدود 3 هفته معامله میکند (2026-08-18 → 2026-09-02) و فقط 15 معامله انجام میدهد — بسیار پایینتر از کف حدود 100-معاملهای، و پنجرههای walk-forward/holdout مرحله-3 نمیتوانند روی یک رژیم تک 3-هفتهای پر شوند (هر پنجره تنش تاریخی و ترسیل نوسان تحتتنش خالی است). در بازه انباشتهشده، علامت از قبل اشتباه است: total_return -3.1%، شارپ -0.47 (CI [-0.91, 0.26])، profit_factor 0.29، win_rate 27%، بازده انتظاری -$207/معامله، avg_trade_return_pct -0.285% (منفی)، با کمیسیون 51.4% از ناخالص. بهینهسازی 15 معامله در طول 3 هفته صرفاً به فیت شدن روی نویز خالص منجر میشود. این یک نقص کد نیست (فید بهدرستی پارس میشود و استراتژی بهدرستی پیش از 2026-08-13 flat میماند) — این مکانیزم صرفاً تا زمانی که تاریخچه احساسات به بازه معنادار چندرژیمی برسد، قابل آزمایش نیست. الگوی شکست: فید تکمیلی با بازه نگاه کوتاه غیرقابلسنجش + مزیت منفی روی نمونه انباشتهشده (L27/L10).
پیادهسازی
استراتژی ضدروند لانگ-شورت روی BTCUSDT USD-M پرپ (BINANCE، بارهای 1 ساعته) که محرک آن فید احساسات-اخبار امتیازدهیشده با LLM است، نه قیمت. در هر بار، یک z-score سطح پیوسته محاسبه میکند: میانگین آخرین 24 سطل احساسات پنجدقیقهای (2 ساعت پوشش) منهای میانگین رژیم 576-سطلی دنبالهدار (2-روزه)، تقسیم بر خطای استاندارد آن میانگین هموارشده. وقتی |z| به صدک entry_pctile تاریخچه اخیر |z| خودش برسد (با کف min_entry_z)، افراط را محو میکند: SELL روی پوشش سرخوشانه، BUY روی پوشش فروپاشی. خروجها عبارتند از (الف) یک استاپ سخت ATR که بهصورت درونباری در برابر بالا/پایین بار آزمایش میشود، (ب) بازگشت به میانگین خودِ محرک (|z| زیر exit_frac برابر آستانهای که ورود را فعال کرد، افول میکند)، یا (ج) یک محدودیت زمانی 36-باری. اندازهگذاری ریسک-محور است: qty = equity * 1% / (stop_atr_mult * ATR)، با سقف 50% از ارزش اسمی equity؛ فقط یک پوزیشن در هر زمان. اگر فید احساسات موجود نباشد، warm نباشد، یا کهنهتر از 1800 ثانیه باشد، سیگنال 0.0 است و استراتژی flat میماند -- هرگز جایگزین قیمتی را جایگزین نمیکند. دقیقاً 2 پارامتر قابل تنظیم (entry_pctile، stop_atr_mult)، هر دو با _param_bounds اعلامشده.
نتایج تأیید
CLEAN RESTART 2026-09-04 — تاریخچه حکم و سوابق یادگیری این اجرا حذف شد و از مرحله تأیید مجدداً شروع شد. رهاسازی قبلی آن ناشی از پایپلاین بود، نه از بازار: هارنس Layer-2 توابع کمکی @staticmethod را بهاشتباه bind کرده بود (رفع شد)، QA احکام عملکرد نهایی را روی یک تست دودی بهینهنشده صادر کرده بود (حذف شد — QA اکنون فقط صحت را قضاوت میکند)، و timeoutهای sandbox ناشی از گرسنگی اسلات بکتست بودند (رفع شد). فرضیه و کد استراتژی بدون تغییر باقی ماندهاند. کد را بر اساس شایستگیاش تأیید کنید؛ عملکرد بعداً توسط بکتست کامل و بهینهساز تعیین میشود.
تحلیلگر باید سازگاری سنجشپذیری 1H را بپذیرد یا پس از انباشتهشدن تاریخچه، دوباره با 4H اجرا کند؛ این انحراف را در سوابق اجرا یادداشت کند.
انحراف بازه زمانی: فرضیه میگوید '4H بارها' اما config.bar_type برابر 1-HOUR است (ضریب--4). توسعهدهنده این را بهعنوان یک سازگاری عمدی سنجشپذیری مستند کرده است (4H روی فید ~8-روزه <21 معامله میدهد که غیرقابلسنجش است؛ 1H حدود 480 بار میدهد) با مکانیزم، ابزار، صرافی، جهت و علامت ضدروند بدون تغییر. علامتگذاری شده اما مسدود نشده، چراکه این یک انحراف افشاشده و مکانیزم-حفظشونده است که توسط احتیاط خودِ فرضیه درباره بازه نگاه کوتاه / 'تحلیلگر کفایت را قضاوت میکند' دعوت شده است.
قبل از اینکه خروج بازگشتی بتواند فعال شود، یک حداقل نگهداری اضافه کنید، و/یا آستانه ورود را در لحظه ورود ثابت (freeze) کنید تا یک آستانه بازکالیبرهشده نتواند بلافاصله خروج را ارضا کند.
خروج بازگشتی (abs(signal) <= 0.4*thr_at_entry) همراه با آستانه ورود صدک تطبیقی که بهصورت هر-بار بازکالیبره میشود، باعث خروجهای تقریباً آنی میشود (میانگین نگهداری ~1 بار، 465 معامله)، که هدف 'نگهداری چندروزه' را نقض میکند و کمیسیون را به 90.4% از ناخالص میرساند. این یک باگ صحت نیست — خروجها طبق کد فعال میشوند — اما تنظیم پارامترها منجر به یک استراتژی کارمزدخوار میشود.
بررسی بکتست
- شارپ
- -0٫47
- بازده کل
- -3٫11%
- حداکثر افت سرمایه
- 3٫48%
- کل معاملات
- 15
- نرخ برد
- 26٫7%
- ضریب سود
- 0٫29
یک سیگنال واقعاً متعامد (احساسات-اخبار LLM) خارج از گورستان خالص-OHLCV؛ ساختار تمیز لانگ-شورت تکابزار با یک گیت بدون-fallback-خاموش
تنها 2 پارامتر قابل تنظیم و یک آستانه صدک تطبیقی که بهدرستی از حالت شکست صفر-معامله اجتناب میکند
ذاتاً غیرقابل سنجش: فید news_sentiment تنها از 2026-08-13 شروع میشود، بنابراین با وجود پنجره 6-ساله، استراتژی تنها حدود 3 هفته معامله میکند (2026-08-18 → 2026-09-02) و فقط 15 معامله تولید میکند
از قبل منفی روی بازه انباشتهشده: total_return -3.1%، شارپ -0.47 (CI [-0.91, 0.26])، profit_factor 0.29، win_rate 0.27، بازده انتظاری -$207/معامله، avg_trade_return_pct -0.285%
شکننده در برابر کارمزد در این تناوب: کمیسیون 51.4% از ناخالص؛ effective_daily_obs 12
هر پنجره تنش تاریخی و ترسیل نوسان تحتتنش خالی است (بدون داده) — پنجرههای walk-forward و holdout نمیتوانند روی نمونه 3-هفتهای پر شوند
تاریخچه تکرار
Stratmill ابزاری برای پژوهش و معامله آزمایشی است، نه مشاوره مالی یا کارگزار. نتایج بکتست و معامله آزمایشی فرضی هستند. معاملهگری با ریسک زیان همراه است.