Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

SOL Pagpapatuloy ng breakout matapos ang macro announcement, long-short (SOLUSDT.BYBIT Perp, nakatali ang trade sa nakatakdang US event: Sundin ang breakout ng range na kaayon ng trend sa oras matapos ang FOMC/CPI/NFP/PCE, time+ATR stop, 3 parameter)

Resulta: Inabandona

SolMacroEventBreakoutContinuationLS

Buod ng Resulta

Sinubukan ng SolMacroEventBreakoutContinuationLS na samantalahin ang repricing na dulot ng impormasyon sa pamamagitan ng trend-aligned range breakout sa SOL perpetual, sa loob lamang ng isang oras matapos ang nakatakdang US macro release, gamit ang deterministic at hardcoded na event calendar na ini-route sa Bybit. Matapat na ipinatupad ng code ang hypothesis (72 nagsenyas = 72 isinumite, balanseng 42 long / 30 short, venue-managed ATR bracket kasama ang time stop), kaya patas ang pagsubok sa mapagpasyang sample na ~5 taon at 72 trade. Ngunit malinaw na negatibo ang resulta: total_return -24.59%, Sharpe -0.662, at profit_factor na 0.657 na mas mababa sa 1 bago pa isama ang mga fee, at kalat ang pagkalugi sa karamihan ng mga taon at kapwa kalmado at stressed na regime. Inabandona ito ng analyst sa backtest-review gate bilang negative_expectancy, dahil napasinungalingan ang premise sa SOL; walang pag-tune ng parameter ang makapagpapataas sa edge na gross-negative bago ang mga gastos, kaya hindi na umabot sa optimization, analysis at risk review.

Hypothesis

Isang LONG-SHORT, direksyunal na estratehiya sa iisang instrumento sa SOLUSDT.BYBIT (linear na USD-M perpetual) na ang mga entry ay eksklusibong nakatali ENTIRELY sa mga oras ng nakatakdang paglalabas ng macro data ng US. Ang kalendaryo ng mga kaganapan (FOMC mga desisyon sa interest rate, ~8/taon @ 14:00 ET, CPI ~12/taon @ 08:30 ET, Nonfarm Payrolls ~12/taon @ 08:30 ET, PCE ~12/taon @ 08:30 ET) ay KNOWN HISTORY — mga hardcoded na timestamp UTC, hindi kailangan ng news/sentiment feed, at ganap na maaaring……Magpakita ng higit paMagpakita ng mas kaunti

Isang LONG-SHORT, direksyunal na estratehiya sa iisang instrumento sa SOLUSDT.BYBIT (linear na USD-M perpetual) na ang mga entry ay eksklusibong nakatali ENTIRELY sa mga oras ng nakatakdang paglalabas ng macro data ng US. Ang kalendaryo ng mga kaganapan (FOMC mga desisyon sa interest rate, ~8/taon @ 14:00 ET, CPI ~12/taon @ 08:30 ET, Nonfarm Payrolls ~12/taon @ 08:30 ET, PCE ~12/taon @ 08:30 ET) ay KNOWN HISTORY — mga hardcoded na timestamp UTC, hindi kailangan ng news/sentiment feed, at ganap na maaaring i-backtest gamit ang multi-year na kasaysayan ng Bybit ng SOL. ~44 kaganapan/taon x ~5-6 magagamit na taon ~= 220-260 event window. Hindi ito NOT mekanismo ng tuloy-tuloy na momentum/regime gate (L92), ni NOT trade sa seasonality ng session/opening range batay sa oras ng 24/7 (L79/L89 ay tungkol sa mga fade sa intraday VWAP/US-cash-open na kumikilos nang libo-libong beses) — kumikilos lamang ito sa takdang, bihira at exogenous na iskedyul ng macro, at sumasabay sa repricing na dulot ng impormasyon. Iniruta sa BYBIT upang mapunan ang venue na may pinakamakaunting paggamit sa corpus (1 sa 3011 eksperimento), at ipinahayag LONG-SHORT upang mapunan ang direksyong kulang sa target; SOL ang pinili sa halip na BTC/ETH (44%/labis nang mina) dahil pinalalakas ng mas mataas na macro-beta nito ang galaw pagkatapos ng kaganapan, kaya mas malaki ang nakukuhang bahagi sa bawat trade kumpara sa mga fee. FEE ARITHMETIC: sa mga araw ng paglalabas ng FOMC/CPI/NFP, karaniwang 3-7% ang realized intraday range ng SOL; nakukuha ng breakout continuation na kaayon ng trend ang ~1.0-1.5% ng galaw na iyon. ~0.11% ang Bybit linear taker RT. Kahit sa makatotohanang 45% win rate na may avg_win ~1.6% / avg_loss ~0.9% (ATR stop), ~= 0.45*1.6 - 0.55*0.9 = +0.225%/trade ang gross expectancy, at ~+0.11% ang net matapos ang fee na 0.11% RT — nakakamit ang >2x na mababang-fee na pamantayan ng 0.10% sa pamamagitan ng pagpili ng mga trade, hindi sa maliit na edge na kinakain ng friction. Panala laban sa whipsaw ang pag-ayon sa trend (breakout lang ang kunin sa direksyon ng 3-araw na trend) sa isang trigger na bihira na nga at exogenous pa; hindi ito regime gate na lumilikha ng edge mula sa signal na mas mababa sa fee.

Itinatama ng Iteration 2 ang nag-iisang iniulat na pagkabigo (leverage_set_but_unused) sa pinakamaliit na posibleng pagbabago: binabasa na ngayon ng position_size() ang self.config.leverage DIRECTLY (hindi kinilala bilang leverage reference ang dating anyong getattr(self.config, 'leverage', ...)) at ginagamit ito bilang limitasyon sa gross notional: max_notional = equity * max_notional_frac * self.config.leverage. Talagang may epekto ang leverage — ang risk_pct na 1.5%, laban sa karaniwang ~1-1.5% post-release ATR stop, ay nangangailangan ng notional na 1.0-1.5x na equity, na posible lamang sa 2x margin; kaya NOT na kapareho ng 1x ang backtest. Walang ibang binago: hindi ginalaw ang iskedyul ng macro calendar, nakapirming pre-release range, tuloy-tuloy na ATR-distance signal, trend-alignment filter, bracket exit at time stop na nakapasa na sa Layer 1 static analysis.

Negatibo ang expectancy sa mapagpasiyang sample na 72 trade / 1788 araw (~5 taon): profit_factor 0.657 (<1 — gross-NEGATIVE bago ang mga gastos, 15.4% lamang ng gross ang komisyon, kaya luging signal ito at hindi marupok dahil sa bayarin), total_return -24.59%, expectancy -$342.8/trade, Sharpe -0.662 na may CI [-1.474, 0.216] na sumasaklaw sa sero. Hindi kayang pataasin ng optimization ang bentahe kung negatibo ito bago ibawas ang mga gastos. Tapat na ipinapatupad ng code ang hipotesis ng breakout na nakaayon sa……Magpakita ng higit paMagpakita ng mas kaunti

Negatibo ang expectancy sa mapagpasiyang sample na 72 trade / 1788 araw (~5 taon): profit_factor 0.657 (<1 — gross-NEGATIVE bago ang mga gastos, 15.4% lamang ng gross ang komisyon, kaya luging signal ito at hindi marupok dahil sa bayarin), total_return -24.59%, expectancy -$342.8/trade, Sharpe -0.662 na may CI [-1.474, 0.216] na sumasaklaw sa sero. Hindi kayang pataasin ng optimization ang bentahe kung negatibo ito bago ibawas ang mga gastos. Tapat na ipinapatupad ng code ang hipotesis ng breakout na nakaayon sa trend matapos ang macro event (ang 72 na nagsenyas = 72 na ipinasa, balanseng 42 long / 30 short, hardcoded na kalendaryong macro, at bracket + time stop na pinamamahalaan ng venue na ATR), kaya patas ang pagsubok; at pinagtitibay sa buong kasaysayan ang pangamba ng QA: hindi nakukuha ng breakout continuation pagkatapos ng FOMC/CPI/NFP/PCE ang nilalayong 1.0-1.5% galaw sa SOL (win rate na 0.375, short leg na 0.267). Nakadepende sa regime ang kabiguan — nalulugi ang portfolio sa mga tersil ng kalmadong (-34.0%) at mataas na stress na (-17.8%) volatility (WIDE=only_one_regime, tubo sa normal na tersil lamang) at sa 4 sa 6 taon sa kalendaryo (2022 -4.3%, 2023 -1.2%, 2025 -13.0%, 2026 -9.6%) — kabaligtaran ng matatag na bentahe mula sa mga kaganapan. Hindi maililigtas ng pag-aayos sa mga parameter na 3 ang signal na PF-0.657 at gross-negative sa karamihan ng mga regime at taon; hindi sulit ang 2 oras ng walk-forward. abandon_class=negative_expectancy (napasinungalingan ang saligan sa SOL).

Implementasyon

Long/short na SOLUSDT Bybit linear-perp strategy na nagte-trade ng ONLY sa loob ng isang oras matapos ang nakatakdang US macro release (FOMC 14:00 ET, CPI/NFP/PCE 08:30 ET), batay sa hardcoded na iskedyul ng event na mula lamang sa kalendaryo. Sa bawat release, ipinapirmi ang high/low range ng pre-release na 2h; pumapasok sa iisang trade bawat event kapag ang 15m close ay lumampas sa range nang higit sa entry_atr_mult ATR, sa direksiyong kapareho ng trailing 3-day return. Pinamamahalaan ang risk gamit ang venue-managed na OUO bracket (ATR-scaled stop + R-multiple take-profit) para makapag-trigger ang mga exit sa loob ng bar sa matitinding post-release candle, kasama ang bar-count time stop. Itinatakda ang laki ng posisyon para malagay sa panganib ang risk_pct ng equity sa ATR stop, na nililimitahan sa max_notional_frac x leverage x equity.

Mga Resulta ng Beripikasyon

Walang kailangang baguhin kung tinatawag ng base ang calculate_signal() sa self.min_bars_required(); kung hindi, palitan ang pangalan para maiwasan ang shadowing at itakda ang warmup sa nilalayong hook.

Ina-overwrite ng min_bars_required() ang method ng base template (na-flag ng static analyzer ang base_shadow). Mukhang sinadya ito — kailangan ng strategy ng mahabang warmup (trend_bars + atr_period + 5 = 389 bar) para mapasimulan ang mga buffer ng ATR/trend — at dahil sa Python polymorphism, ginagamit ng base loop ang override na IS. Hindi ito depekto, pero tiyaking tinatawag talaga ng base template ang instance method (hindi pribadong naka-cache na value) para masunod ang nilalayong 389-bar warmup.

Tiyaking binabasa ng base template ang stop_loss_pct/take_profit_pct mula sa self.parameters (hindi mula sa snapshot na kinuha sa __init__) kapag true ang use_bracket_orders, para umabot sa isinumiteng bracket ang per-event overwrite.

Binabago ng should_enter() ang self.parameters['stop_loss_pct'] / ['take_profit_pct'] sa bawat entry para maging ATR-adaptive ang mga leg ng venue bracket. Nakasalalay ito sa pagbasa ng base template sa mga key na iyon mula sa self.parameters sa oras ng pagsusumite, sa parehong call stack kaagad pagkatapos ng should_enter/position_size. Maayos ang mekanismo at may wastong non-zero default ang config (0.02 / 0.036), kaya hindi kailanman tatanggihan ang mga bracket entry; isa itong tahasang ipinapalagay na kasunduan sa base template.

Bihira ang exogenous trigger: nakabuo ang sandbox ng 9 trade sa loob ng 208 araw, na may ~36% event-to-trade pass rate. Kapag iniuugnay sa ~5-6y na kasaysayan ng Bybit ng SOL (~44 event/taon), ipinahihiwatig nito ang ~95-130 trade lamang — halos kulang para sa statistical power (L16/L26). Net-negative rin ang smoke test ng sandbox (PF 0.23, avg_trade_return_pct -0.36%, negatibo sa lahat ng tatlong vol tercile) sa isang draw na hindi in-optimize; maaaring masyadong pumipili ang trend-alignment filter at entry_atr_mult gate para makabuo ng mapagpasyang sample. Iminumungkahi na tiyakin ng analyst na lumampas sa ~100 ang bilang ng trade sa buong history at nananatili ang net edge bawat trade matapos ang 0.11% Bybit RT bago magsimula ng optimization.

Pagsusuri ng Backtest

Sharpe
-0.66
Kabuuang Return
-24.59%
Max Drawdown
28.82%
Kabuuang Trade
72
Win Rate
37.5%
Profit Factor
0.66

Matapat at deterministicong naipatupad ang mekanismo: kapag nagsenyas ang 72, isinusumite ang 72, balanseng 42 long / 30 short, hardcoded ang macro calendar nang walang look-ahead, at venue-managed ang ATR bracket kasama ang time stop.

Mapagpasyang sample para sa ganitong dalas ng trading: ang 72 trades sa loob ng 1788 araw (~5 taon) ay sapat para maalis ang pangamba ni QA tungkol sa ~100-trade na bilang. Malapit ito sa bilang na iyon, pero malinaw na negatibo ang resulta.

Gross-negative na signal: profit_factor 0.657 (<1 BEFORE na gastos — 15.4% lamang ng gross ang komisyon), kaya walang pag-tune ng parameter ang makapagpapataas sa edge na negatibo na bago ang mga fee.

Negatibo ang expectancy sa lahat ng sukatan: total_return -24.6%, expectancy -$342.8/trade, Sharpe -0.662 na may CI [-1.474, 0.216] na sumasaklaw sa zero, Sortino -0.20, recovery_factor -0.865.

Kabiguan sa iba’t ibang regime, hindi biglaang pagbagsak: nalulugi sa kalmado (-34.0%) at stressed (-17.8%) na tercile (only_one_regime=true, sa normal na tercile +14.6% lamang ang tubo), at negatibo sa 4 sa 6 taon sa kalendaryo (2022 -4.3%, 2023 -1.2%, 2025 -13.0%, 2026 -9.6%).

Napatunayan sa buong history ang alalahanin ni QA tungkol sa edge, at mas malala pa: hindi nakukuha ng post-macro trend-aligned breakout ang nilalayong galaw — win rate 0.375 (short leg 0.267); walang nalikhang edge ang whipsaw filter.

Kasaysayan ng Iterasyon

Bigo ang verification (leverage_set_but_unused): itinatakda ng config ang leverage=2.0, pero hindi ito ginagamit ng strategy sa pagtakda ng laki ng posisyon. Isama ito sa pagkalkula — notional = equity * fraction * leverage / price (basahin ang self.config.leverage) — o itakda ang leverage=1.0. Sa kasalukuyan, walang epekto ang leverage at kapareho ng 1x ang backtest.

Buod ng Resulta

Hindi sapat ang kapani-paniwalang thesis tungkol sa pagkalkula ng fee; nabigong makuha ng post-macro trend-aligned breakout sa SOL ang nilalayong galaw at nalugi ito sa 4 sa 6 taon at kapwa kalmado at stressed na vol regime, na nagpapakitang napasinungalingan ang premise at hindi lamang marupok dahil sa fee.

Inabandona ito ng analyst sa yugto ng pagsusuri sa backtest bago ang optimization: gross-negative ang signal bago ang mga gastos (profit_factor 0.657, 15.4% lamang ng gross ang komisyon), kaya hindi ito maililigtas ng pag-tune ng parameter at hindi sulit patakbuhin ang walk-forward optimization.

Isang long-short na SOLUSDT.BYBIT perpetual strategy na nagbukas lamang sa loob ng isang oras matapos ang mga nakatakdang US macro release (FOMC/CPI/NFP/PCE), gamit ang hardcoded na event calendar. Sinundan nito ang mga breakout na nakaayon sa trend mula sa pre-release range, na may ATR stop at bar-count time stop.

Sa mahigit 72 trade sa loob ng 1788 araw (~5 taon), nalugi ito na may total_return -24.59%, Sharpe -0.662 (CI [-1.474, 0.216]), profit_factor 0.657, expectancy -$342.84/trade, win rate 0.375 (short leg 0.267), at max drawdown na 28.82%.

Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.