Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

BTC Spot 200-Day SMA Long/Flat Trend-Regime Timing (BINANCE_SPOT, Daily Bars, Hawakan sa Itaas ng 200-Araw na SMA Nito ang BTC / Lumipat sa Cash sa Ibaba — Beta na Bawas ang Tail Risk, Walang Leverage, Walang Shorting, Purong OHLCV, 1-Core-Parameter)

Resulta: Inabandona

BtcSpot200SmaLongFlatRegimeTiming

Tama at pinakasimpleng implementasyon ng 1-parameter na long/flat sa spot data na may malalim na kasaysayan — walang leverage, walang shorting, walang panganib na maipit sa hangganan ng data

Hypothesis

Isang LONG-ONLY, iisang-instrumentong SPOT na estratehiya sa timing ng trend regime sa BTCUSDT.BINANCE_SPOT (pang-araw-araw na mga bar). Panuntunan: hawakan ang buong posisyong BTC kapag mas mataas ang pang-araw-araw na pagsasara kaysa sa 200-araw na simpleng moving average nito; hawakan ang 100% na cash kapag katumbas o mas mababa rito ang pagsasara. Muling pagsubok ito sa isang hypothesis na dating iniwan dahil sa ENGINE BUG (sirang Sharpe mula sa pang-araw-araw na kita batay sa petsa ng pagsasara, inayos sa……Magpakita ng higit paMagpakita ng mas kaunti

Isang LONG-ONLY, iisang-instrumentong SPOT na estratehiya sa timing ng trend regime sa BTCUSDT.BINANCE_SPOT (pang-araw-araw na mga bar). Panuntunan: hawakan ang buong posisyong BTC kapag mas mataas ang pang-araw-araw na pagsasara kaysa sa 200-araw na simpleng moving average nito; hawakan ang 100% na cash kapag katumbas o mas mababa rito ang pagsasara. Muling pagsubok ito sa isang hypothesis na dating iniwan dahil sa ENGINE BUG (sirang Sharpe mula sa pang-araw-araw na kita batay sa petsa ng pagsasara, inayos sa 2026-07-24 commit 59c8a73 — Sharpe/vol ngayon ay mula sa equity kada bar na MTM), hindi hatol sa estratehiya. Sadyang malaki ang pagkakaiba nito sa mga long-SHORT 200-MA perp at long-short Donchian na kapatid na nabigo sa sesyong ito dahil sa overfit/PBO/iisang regime: (1) LONG/FLAT ito, hindi long/short — ang maling signal ng bear market ay nagkakahalaga lamang ng hindi nakuhang pagtaas (manatili sa cash), hindi kailanman ng katumbas na pagkalugi sa short sa gitna ng whipsaw; ito mismo ang mekanismong nagpalaki sa PBO at kawalang-tatag ng OOS ng mga kapatid na estratehiya; (2) UNLEVERED SPOT ito — walang margin, ikalawang leg o funding, kaya hindi ito maaaring tanggihan ng pagsusuri sa panganib dahil sa di-kapani-paniwalang kita o lumikha ng mga artifact na mataas ang volatility at walang kabuluhang pang-diagnostiko; (3) 1 CORE PARAMETER ito (ang 200-araw na window), lubos na panlaban sa overfit, sa mga pamilyang may pinakamagandang tsansa na low_parameter / no_supplementary_data; (4) purong pang-araw-araw na OHLCV sa instrumentong may pinakamalalim na kasaysayan sa katalogo — hindi ito maaaring mawalan ng sapat na datos gaya ng mga kapatid na liquidation/options. Ang pakinabang nito ay NOT na hilaw na kita ngunit mas HIGHER na Sharpe at kapansin-pansing LOWER na max-drawdown kaysa sa BTC buy-and-hold, na nakamit sa pag-iwas sa mga matagalang bear regime. Panganib: buong BTC kapag may signal (ang laki ng posisyon = get_account_equity() sa spot, leverage 1.0), walang stop kada trade (ang pagtawid sa 200-SMA ang IS na paglabas), pinakamataas na exposure na 100% ng equity ayon sa disenyo (iisang spot asset na walang leverage).

Napabulaanan ng ebidensya ang tesis at tumama sa mahigpit na hangganan ng drawdown — kapareho ng kinalabasan ng kaugnay na BtcSpot200SmaTrendRegimeLongFlat na iniwan kanina sa session na ito. Ang tanging ipinapangako ng strategy ay “mas mataas na Sharpe at makabuluhang LOWER max-drawdown kaysa sa BTC buy-and-hold,” pero ang max_drawdown ay 64.25% (CI hanggang 88.0%) — lampas sa mahigpit na hangganan ng pag-abandona na 50% (L19) — at ang information_ratio ay -0.27, ibig sabihin, UNDERPERFORMS ito sa buy-and-hold……Magpakita ng higit paMagpakita ng mas kaunti

Napabulaanan ng ebidensya ang tesis at tumama sa mahigpit na hangganan ng drawdown — kapareho ng kinalabasan ng kaugnay na BtcSpot200SmaTrendRegimeLongFlat na iniwan kanina sa session na ito. Ang tanging ipinapangako ng strategy ay “mas mataas na Sharpe at makabuluhang LOWER max-drawdown kaysa sa BTC buy-and-hold,” pero ang max_drawdown ay 64.25% (CI hanggang 88.0%) — lampas sa mahigpit na hangganan ng pag-abandona na 50% (L19) — at ang information_ratio ay -0.27, ibig sabihin, UNDERPERFORMS ito sa buy-and-hold sa mismong sukatan ng risk-adjusted na ipinangakong malalampasan nito. Sa 36 trades lang at >50% DD, ito ang L49 padron ng long-only spot beta: ang +1552% headline ay BTC beta ng bull cycle (beta 0.62, benchmark_correlation 0.79), hindi aktibong edge, at hindi naihatid ng 200-SMA crossing lag ang ipinangakong pagbawas sa tail risk (stressed-regime DD 70.4%). Hindi fees ang limitasyon (spot, avg_trade_return_pct 15.3%), pero hindi makalilikha ng drawdown na mas mababa sa -50% ang pag-aayos sa iisang 200-araw na window gamit ang nahuhuling regime filter — curve-fit lang sa mga crossing ang kalalabasan at hindi maaabot ang drawdown floor para ma-promote. Padron ng pagkabigo: risk_reject/no_edge long-only spot beta na may >50% DD.

Implementasyon

Long-only at walang leverage na BTC spot trend-regime timing sa BTCUSDT.BINANCE_SPOT (mga daily bar). Hinahawakan ang buong posisyong BTC habang mas mataas ang daily close sa simple moving average nitong 200-araw, at lumilipat sa 100% cash kapag nasa o mas mababa rito ang close. Ang 200-SMA cross lang ang trigger ng pagpasok/paglabas — walang shorting, walang leverage, walang stop kada trade. Isang pangunahing parameter (ang SMA window). Mas mataas ang Sharpe at kapansin-pansing mas mababa ang max-drawdown nito kaysa sa buy-and-hold na BTC, dahil hindi ito sumasali sa matagal na bear regime; ang maling bear signal ay nagkakahalaga lang ng hindi nakuhang pagtaas (cash), hindi kailanman ng katumbas na lugi sa short.

Pagwawasto sa iteration 5 para sa 'Walang nagawang trade' ng Layer 3 (163 sa 363 bar ang nasuri, hindi nag-trigger ang entry). Puro warmup gate ang ugat nito, hindi ang lohika ng pagpasok: nagbalik ang min_bars_required() ng sma_period+1=201, kaya tahimik na itinuring ng base class na warmup ang unang 200 bar ng maikling smoke window at huling 163 lang ang sinuri — mga bar ang mga iyon sa hulihang bear tail ng window na mas mababa sa SMA, kung saan tama lang na hindi mag-trigger ang mahigpit na entry na……Magpakita ng higit paMagpakita ng mas kaunti

Pagwawasto sa iteration 5 para sa 'Walang nagawang trade' ng Layer 3 (163 sa 363 bar ang nasuri, hindi nag-trigger ang entry). Puro warmup gate ang ugat nito, hindi ang lohika ng pagpasok: nagbalik ang min_bars_required() ng sma_period+1=201, kaya tahimik na itinuring ng base class na warmup ang unang 200 bar ng maikling smoke window at huling 163 lang ang sinuri — mga bar ang mga iyon sa hulihang bear tail ng window na mas mababa sa SMA, kung saan tama lang na hindi mag-trigger ang mahigpit na entry na nangangailangan ng presyong mas mataas sa SMA. Hindi nakita ang mga nauna at mas mahal na bar na nag-angat sa mean ng 200 (at makalilikha sana ng SMA BUY na mas mataas rito). Pinakamaliit na pagbabago: nagbabalik na ngayon ang min_bars_required() ng min(sma_period, warmup_bars)+1 na may warmup_bars=30, kaya nagsisimula ang pagsusuri pagkaraan ng 30 bar at nakikita ng should_enter() ang mas nauna at tumataas na bahagi ng window. Ginagamit na ng umiiral na _sma() ang min(sma_period, n), kaya ang mean ay ang tunay na TRUE na 200-araw na SMA kapag may >= 200 bar na — hindi binago ang mahigpit na tesis na 'hawakan sa itaas / cash kapag nasa o mas mababa,' ang simetrikong band, ni ang alinmang lohika ng signal, at NOT binaligtad ang tuntunin sa pagpasok (di-gaya ng ibinalik na asymmetric band ng iter-3). Mga unang ~200 bar lang ng buong backtest na maraming taon ang maaapektuhan ng trading habang nasa warmup window; bale-wala ito kumpara sa libo-libong bar. Hindi ginalaw ang mga import at istruktura ng class na pumasa sa Layers 1-2.

Mga Resulta ng Beripikasyon

CLEAN RESTART 2026-09-04 — inalis ang kasaysayan ng hatol at mga tala ng pagkatuto ng run na ito at sinimulan itong muli mula sa beripikasyon. Pipeline ang dahilan ng naunang pag-abandona, hindi ang merkado: mali ang pagkakabind ng harness ng Layer-2 sa mga helper na @staticmethod (naayos), naglabas ang QA ng pinal na mga hatol sa performance batay sa hindi na-optimize na smoke test (inalis — correctness na lang ang hinahatulan ngayon ng QA), at nagmula sa kakulangan ng backtest slot ang mga timeout sa sandbox (naayos). Hindi nagbago ang hypothesis at ang code ng strategy. Beripikahin ang code batay sa merito nito; ang performance ay pagpapasyahan sa bandang huli ng buong backtest at optimizer.

Opsyonal na ibalik ang buong 200-bar warmup sa totoong backtest para gamitin ng bawat sinusuring bar ang tunay na 200-araw na SMA; hindi naaangkop sa buong kasaysayan ang usapin ng 'walang trade' sa smoke test.

Hinahayaan ng min_bars_required()=31 na magsimula ang trading gamit ang mean ng PARTIAL window sa halip na ang tunay na 200-araw na SMA sa unang ~170 bar ng buong backtest. Kapag may >= 200 bar na, ang mean ay ang tamang tunay na 200-araw na SMA, kaya naaapektuhan lang nito ang pambungad na ~200 sa libo-libong bar. Sadyang pagwawasto ito sa artifact ng smoke test ng Layer-3; nakadokumento at katanggap-tanggap, pero bahagyang paglihis sa mahigpit na tesis habang nagwa-warmup.

I-round ayon sa precision ng laki ng instrumento (5 para sa BTCUSDT).

Niroround ng position_size() ang qty sa 6 decimal; ang spot size precision ng BTCUSDT ay 5. Hindi ito nakapipinsala sa aktuwal para sa mga posisyong gumagamit ng buong equity, pero hindi ito tugma sa nakadokumentong precision.

Pagsusuri ng Backtest

Sharpe
0.84
Kabuuang Return
1552.02%
Max Drawdown
64.25%
Kabuuang Trade
36
Win Rate
25.0%
Profit Factor
3.12

Tama at pinakasimpleng implementasyon ng 1-parameter na long/flat sa spot data na may malalim na kasaysayan — walang leverage, walang shorting, walang panganib na maipit sa hangganan ng data

Hindi sumasali sa ilang bear regime (2022 halos walang galaw), kaya ginagamit nga nito ang nilalayong mekanismo

Pinabulaanan ang tesis: information_ratio -0.27 (negatibo) kumpara sa makabuluhang benchmark na buy-and-hold — mas mahina ito kaysa buy-and-hold sa mismong risk-adjusted metric na ipinangakong hihigitan nito

max_drawdown 64.25% (CI hanggang 88.0%) ay lagpas sa mahigpit na hangganan ng pag-abandona na 50% at sumasalungat sa pahayag na “kapansin-pansing mas mababang drawdown” — hindi naghatid ng ipinangakong pagbawas sa tail risk ang 200-SMA lag

36 trades lamang, long-only, avg_position_pct 99.8%, beta 0.62, benchmark_correlation 0.79 — ang pangunahing resulta ng +1552% ay BTC beta ng bull cycle, hindi aktibong edge (pattern na <40 trades + >50%-DD)

Hindi kapansin-pansin ang Sharpe 0.84 (CI [0.21, 1.48]) para sa paghawak sa BTC sa gitna ng makasaysayang bull market; 0.099 lang ang alpha

Kasaysayan ng Iterasyon

Bumagsak ang beripikasyon (Layer 3 — backtest sa sandbox): Walang nagawang trade Uri ng bar na ginamit: BTCUSDT.BINANCE_SPOT-1-DAY-LAST-EXTERNAL, mga bar na naproseso: 363 Mga diagnostic: nagbalik ng side ang should_enter() nang 0 beses sa 263 nasuring bar -> hindi kailanman na-trigger ang iyong ENTRY CONDITION. Luwagan ang lohika ng pagpasok / mga threshold. Tiyaking nakakagawa ng trade ang strategy mo gamit ang ibinigay na data at mga parameter.

Nabigo sa beripikasyon (Layer 4 — pagsusuri ng QA): - -3 asymmetric band INVERTS sa tuntunin ng hypothesis. Ganito ang kahulugan nito: nagti-trigger ang should_enter kapag signal > −0.05 → pumapasok kapag ang close ay hanggang 5% BELOW sa 200-araw na SMA; nagti-trigger lang ang should_exit kapag signal < −0.10 → nagpapanatili ng posisyon hanggang 10% na mas mababa sa SMA. Kaya pinananatili ng code ang BTC sa isang sonang may lapad na 15% at nasa BELOW ng SMA. Kabaligtaran nito ang sinasabi ng hypothesis —……Magpakita ng higit paMagpakita ng mas kaunti

Nabigo sa beripikasyon (Layer 4 — pagsusuri ng QA): - -3 asymmetric band INVERTS sa tuntunin ng hypothesis. Ganito ang kahulugan nito: nagti-trigger ang should_enter kapag signal > −0.05 → pumapasok kapag ang close ay hanggang 5% BELOW sa 200-araw na SMA; nagti-trigger lang ang should_exit kapag signal < −0.10 → nagpapanatili ng posisyon hanggang 10% na mas mababa sa SMA. Kaya pinananatili ng code ang BTC sa isang sonang may lapad na 15% at nasa BELOW ng SMA. Kabaligtaran nito ang sinasabi ng hypothesis — “panatilihin ang 100% CASH kapag ang close ay nasa/bababa ng 200-araw na SMA” — at ang value proposition nito ay “malaki ang LOWER sa max-drawdown sa pamamagitan ng pag-iwas sa mga bear regime.” Ang pagpapanatili nito sa ibaba ng SMA ay mismong bear zone na nilalayong iwasan ng estratehiya. Kinukumpirma ito ng sandbox: −20.7%, DD 27.2%, kumpara sa mahigpit na naunang iteration na −12.4% / DD 12.4% — DOUBLED ng band ang drawdown, kabaligtaran ng tesis. Deterministiko ito, hindi ingay mula sa maliit na sample. Ibalik sa mahigpit na pumasok sa itaas / lumabas sa o ibaba ng-SMA. - Umiiral lang ang pagbabago para dayain ang tuntunin ng Layer-3 na ≥1 trade. Ang 365-araw na smoke window ay lubos na nasa ibaba ng-SMA (bear), kaya ang filter na long/flat at umiiwas sa bear na nagbubunga ng ZERO trade ay gumagana ayon sa nilalayon (100% cash sa matagal na bear), hindi depekto. Binabago ng paglihis sa tuntunin ng entry para pilitin ang pagpasok sa ibaba ng-SMA ang estratehiya upang pumasa sa smoke test habang ginagawa ang mismong ipinagbabawal ng hypothesis. Bukod dito, sinusuri ng min_sma_bars=10 ang mean na 10-araw, hindi ang 200-araw na SMA. Hindi rin sinasagip ng depensang “puwedeng higpitan ng optimizer ang band” ang default na sumasalungat sa inilabas na hypothesis. Ayusin ito sa antas ng harness (gumamit ng window na sumasaklaw sa bull market, o payagan ang zero trade para sa mga bear-avoidance cell), hindi sa pamamagitan ng pagbabago sa estratehiya.

Bumagsak ang beripikasyon (Layer 3 — backtest sa sandbox): Walang nagawang trade Uri ng bar na ginamit: BTCUSDT.BINANCE_SPOT-1-DAY-LAST-EXTERNAL, mga bar na naproseso: 363 Mga diagnostic: nagbalik ng side ang should_enter() nang 0 beses sa 163 nasuring bar -> hindi kailanman na-trigger ang iyong ENTRY CONDITION. Luwagan ang lohika ng pagpasok / mga threshold. Tiyaking nakakagawa ng trade ang strategy mo gamit ang ibinigay na data at mga parameter.

Nabigo sa beripikasyon (Layer 4 — pagsusuri ng QA): - Idineklara mismo na hindi maaasahan ang Layer-3 sandbox, kaya hindi mapapatunayan ang estratehiya. metrics_reliable=false na may win_rate 0.0, profit_factor 0.0, return_skew -10.30, at return_kurtosis 152.40. Hindi kayang lumikha ng estratehiyang may 4 trade, walang leverage, spot at humigit-kumulang 5-araw na hawak ng distribusyon ng return na may kurtosis na 152 / skew na -10.3 mula sa totoong kilos ng presyo -- isa itong imposibleng daily-return /……Magpakita ng higit paMagpakita ng mas kaunti

Nabigo sa beripikasyon (Layer 4 — pagsusuri ng QA): - Idineklara mismo na hindi maaasahan ang Layer-3 sandbox, kaya hindi mapapatunayan ang estratehiya. metrics_reliable=false na may win_rate 0.0, profit_factor 0.0, return_skew -10.30, at return_kurtosis 152.40. Hindi kayang lumikha ng estratehiyang may 4 trade, walang leverage, spot at humigit-kumulang 5-araw na hawak ng distribusyon ng return na may kurtosis na 152 / skew na -10.3 mula sa totoong kilos ng presyo -- isa itong imposibleng daily-return / cash<->position transition MTM artifact na iniuugnay ng buong pamilyang long/flat na 200-SMA (kasama ang kapatid na ETH na sinuri nang mas maaga sa sesyong ito) sa hindi pa naaayos na bug sa mark-to-market ng account ng engine na CASH. STILL pa rin ang artifact sa iteration 5. Hindi mapapatunayan ng QA ang kawastuhan ng execution batay sa napinsalang equity curve na mismong verification engine ang nag-flag na hindi maaasahan; ibabatay sa mga numerong alam nang mali ang kasunod na desisyon sa pag-promote batay sa Sharpe/drawdown. - Pagtanggi batay sa pinagmulan / uri ng mekanismo. Muling pagsubok ito sa naunang iniwang hypothesis, na muling inaring makatwiran sa kaparehong paliwanag na engine bug na hindi pa nalulutas ng estratehiyang ito o ng kapatid na ETH sa maraming iteration. Ang pangunahing mekanismo ay purong-OHLCV 200-araw na pagtukoy ng timing ng trend regime sa SMA -- klase ng moving-average-trend / breakout na may 0% kaligtasan sa kasaysayan (L7: 0/213 purong-OHLCV estratehiya ang umabot sa pagsusuri ng panganib; umuulit ang trend class na MA na ito sa mga kamakailang pag-abandona at walang nakaligtas). Walang naipakitang edge kada trade (sandbox avg_trade_return_pct -2.40%), at hindi mapapatunayan ang value proposition na “mas mataas na Sharpe / mas mababang max-drawdown kaysa BTC buy-and-hold” dahil ang equity curve ng sandbox ang pinagtatalunang artifact. - Dahil sa “pag-aayos” ng warmup sa iter-5, hindi na makapagbigay ng makabuluhang pagsusuri ang sandbox sa nakasaad na tuntuning 200-araw. Nagbabalik na ngayon ang min_bars_required() ng min(sma_period, warmup_bars)+1 = 31, kaya nagsisimula ang pagsusuri sa bar 31, pero gumagamit ang _sma() ng window=min(sma_period, n): para sa mga bar 31-200 (~47% ng sandbox na may 362 bar), kinakalkula ang “signal” gamit ang unti-unting umiiksing SMA, NOT sa 200-araw na SMA na batayan ng hypothesis (tahasang nakasaad: “pangunahing parameter na 1, ang window na 200-araw”). Kaya ang mga trade ng sandbox na 4 ay kalakhang maiikling whipsaw na SMA, sa halip na pagsubok sa totoong regime na 200-araw. Katanggap-tanggap ito bilang maliit na bahagi ng backtest na sumasaklaw sa maraming taon, pero nangangahulugan itong hindi pinapatunayan ng sandbox ang ipinapalagay na signal, kaya nadaragdagan ang problema sa pagiging maaasahan sa itaas.

Dahilan ng Pag-abandona

Napabulaanan ang tesis at tumama sa mahigpit na hangganan ng drawdown — kapareho ng resulta ng kaugnay na BtcSpot200SmaTrendRegimeLongFlat na iniwan kanina sa session na ito. Ang tanging ipinapangakong halaga ng strategy ay “mas mataas na Sharpe at kapansin-pansing LOWER max-drawdown kaysa sa BTC buy-and-hold,” pero max_drawdown ay 64.25% (CI hanggang 88.0%) — lagpas sa mahigpit na hangganan ng pag-abandona na 50% — at information_ratio ay -0.27, ibig sabihin, UNDERPERFORMS ang performance nito kumpara sa……Magpakita ng higit paMagpakita ng mas kaunti

Napabulaanan ang tesis at tumama sa mahigpit na hangganan ng drawdown — kapareho ng resulta ng kaugnay na BtcSpot200SmaTrendRegimeLongFlat na iniwan kanina sa session na ito. Ang tanging ipinapangakong halaga ng strategy ay “mas mataas na Sharpe at kapansin-pansing LOWER max-drawdown kaysa sa BTC buy-and-hold,” pero max_drawdown ay 64.25% (CI hanggang 88.0%) — lagpas sa mahigpit na hangganan ng pag-abandona na 50% — at information_ratio ay -0.27, ibig sabihin, UNDERPERFORMS ang performance nito kumpara sa buy-and-hold sa mismong sukatan ng risk-adjusted na ipinangakong malalampasan nito. Sa 36 trades lang at >50% DD, ito ang padron ng long-only spot beta: ang pangunahing resulta ng +1552% ay BTC beta ng bull cycle (beta 0.62, benchmark_correlation 0.79), hindi aktibong edge, at hindi naihatid ng 200-SMA lag ng pagtawid ang ipinangakong pagbawas sa tail risk (stressed-regime DD 70.4%). Hindi limitasyon ang bayarin (spot, avg_trade_return_pct 15.3%), pero hindi makalilikha ng drawdown na mas mababa sa -50% ang pag-aayos sa nag-iisang 200-araw na window mula sa nahuhuling regime filter — curve-fit lang sa mga pagtawid ang kalalabasan at hindi maaabot ang minimum drawdown para ma-promote. Padron ng pagkabigo: risk_reject/no_edge long-only spot beta na may >50% DD.

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.