Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

LINK Spot Trend-Participation — Long/Flat, Walang Leverage: Hawakan ang Spot Asset Habang DAILY ang Mabagal na Trend Regime na UP, Lumipat sa CASH Kapag Naputol ang Trend — Tuloy-tuloy na Pagsali sa Regime (NOT Paminsan-minsang Pagbili sa Malalim na Drawdown), Sinasalo ang Alt Up-Trend Habang Iniiwasan ang Bear Drawdown (LINKUSDT.BINANCE_SPOT, Daily, 3 Parameter)

Resulta: Inabandona

LinkSpotTrendParticipation

Madaling nalalampasan ng avg_trade_return_pct 6.12% ang minimum na spot fee (hindi ito kabiguang dulot ng fee)

Hypothesis

Isang LONG-ONLY, walang leverage, at iisang instrumento na SPOT estratehiya sa pagsabay sa trend ito: hawak nito ang LINK habang UP ang mabagal na pang-araw-araw na trend regime nito, at lilipat sa CASH kapag naputol ang trend. Sadyang inilaan ito sa BINANCE_SPOT — ang venue na may pinakakaunting representasyon sa mga venue na may mataas na survival rate (11.1% kumpara sa quota na ≥15%), at ang angkop na venue para sa mga estratehiyang long-only na walang leverage ayon sa tuntunin ng factory routing — at ito ang……Magpakita ng higit paMagpakita ng mas kaunti

Isang LONG-ONLY, walang leverage, at iisang instrumento na SPOT estratehiya sa pagsabay sa trend ito: hawak nito ang LINK habang UP ang mabagal na pang-araw-araw na trend regime nito, at lilipat sa CASH kapag naputol ang trend. Sadyang inilaan ito sa BINANCE_SPOT — ang venue na may pinakakaunting representasyon sa mga venue na may mataas na survival rate (11.1% kumpara sa quota na ≥15%), at ang angkop na venue para sa mga estratehiyang long-only na walang leverage ayon sa tuntunin ng factory routing — at ito ang SPOT, long/flat na katapat ng mga directional futures strategy na nasa pipeline na namin (na pawang long-SHORT at gumagamit ng leverage). Mahalaga, NOT ito ang basket na nag-iipon sa malalalim na drawdown sa dead na Binance Spot: nag-trigger lang ang estratehiyang iyon sa RARE malalalim na drawdown at nakabuo ng ZERO trade matapos ang 2023 (walang laman ang walk-forward/holdout). Ang estratehiyang ito ay CONTINUOUS pagsabay sa mga regime — long ito sa bawat uptrend at flat sa bawat downtrend sa lahat ng taon, kaya nakikipag-trade ito sa bawat siklo ng regime at hindi ito maaaring maging dead sa susunod na window. Layunin nitong pang-ekonomiya ang mapahusay ang risk-adjusted na resulta kumpara sa buy-and-hold: saluhin ang malalaking uptrend ng mga alt (na mas malaki kaysa sa 0.20% na gastos sa spot round trip) habang iniiwasan ang malalalim na bear drawdown na sumisira sa Sharpe ng buy-and-hold. Likido ang LINK na large-cap at mayroon itong matatag na multi-year na kasaysayan ng pang-araw-araw na SPOT, kaya may datos ang mga walk-forward window at ang 15-araw na holdout. Mga parameter ng 3: haba ng entry trend-SMA, haba ng exit-SMA, at trailing multiple na ATR.

ITERATION 2 -- iisang tumpak na pag-aayos para sa pagkabigo sa Layer-2. Bumagsak ang lahat ng anim na sintetikong scenario sa 'TypeError: _roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa': muling itinali ng verification proxy ang mga function ng klase ng strategy, na nag-alis sa @staticmethod wrapper, kaya natanggap ng shared rolling-sum helper ang `self` bilang unang argument nito sa unang bar pa lang. Kaginhawaan lang ang helper na iyon, kaya tuluyan ko itong inalis sa halip na gawing instance……Magpakita ng higit paMagpakita ng mas kaunti

ITERATION 2 -- iisang tumpak na pag-aayos para sa pagkabigo sa Layer-2. Bumagsak ang lahat ng anim na sintetikong scenario sa 'TypeError: _roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa': muling itinali ng verification proxy ang mga function ng klase ng strategy, na nag-alis sa @staticmethod wrapper, kaya natanggap ng shared rolling-sum helper ang `self` bilang unang argument nito sa unang bar pa lang. Kaginhawaan lang ang helper na iyon, kaya tuluyan ko itong inalis sa halip na gawing instance method -- hindi na mauulit ang kaparehong paraan ng pagkabigo kung walang helper. Inilagay na ngayon sa tatlong pinaggagamitan ang apat nitong linya (true-range deque sa _push_true_range, entry-SMA at exit-SMA deque sa calculate_signal), na siya ring anyong ginagamit ng natitirang codebase. NOTHING ELSE CHANGED: pareho ang imports, signal, lohika ng entry/exit/sizing, config at hangganan ng parameter, kaya nananatiling pasado ang static check ng Layer-1. Muli kong pinaandar ang buong replay ng inedit na klase sa totoong 2761-bar na LINKUSDT.BINANCE_SPOT daily history (0.10% sa bawat fill, execution sa susunod na open) at eksaktong kapareho ito ng strategy sa iteration 1: 109 trade, +4.73% karaniwan sa bawat round trip, profit factor na 2.20, kabuuang +786%, Sharpe na 0.44, pinakamataas na drawdown na 88.2%; sa nakaraang 545 araw, +0.09% bawat trade (-2.8% sa kabuuan) kumpara sa buy-and-hold na -55.6%; sa nakaraang 365 araw, 18 trade. Nagpatakbo rin ako ng 200 bar na ganap na flat (anyo ng mga scenario na flat_ranging at zero_volume) sa calculate_signal/should_enter/should_exit/position_size: walang exception, nagiging 0 ang ATR at nagbabalik ng 0.0 ang signal, kaya maayos ang daan para sa degenerate scenario. Hindi nagbabago ang mga caveat sa iteration-1 at nasa pasya pa rin ng analyst: saklaw ng Layer-3 sandbox ang nakaraang 365 araw kung kailan bumagsak ang LINK nang 55.7%, kaya magpapakita roon ng halos -19% ang long-only mandate (isang katlo ng lugi ng asset) kahit malakas ang positibong resulta ng buong backtest; at hindi maaabot ng Sharpe na 0.44 na may drawdown na >60% ang minimum para sa promosyon na 1.5-Sharpe / 10%-drawdown. Kaya dapat ihambing ang hypothesis na ito sa buy-and-hold (Sharpe na 0.21, drawdown na 90%) o iwan sa pagsusuri ng backtest.

Tuluyang iwan dahil sa drawdown: ang max_drawdown 94.09% (CI hanggang 100%) ay lampas na lampas sa limitasyong 50% (L19) at hinding-hindi maaabot ang minimum na drawdown para sa promosyon. Crypto beta ang headline na +1901% (beta 0.73, benchmark_correlation 0.80), hindi aktibong edge — negatibo ang information_ratio (-0.17), kaya hindi nito nahihigitan ang buy-and-hold batay sa risk-adjusted na sukatan, at mas mababa ang profit_factor 1.18 sa hangganan para sa makabuluhang 1.2. Artifact ang Sharpe dahil sa iilang araw na may matitinding pagtaas (kurtosis 184.9, skew 11.3) at position sizing na sumasabay sa equity curve (avg_position_pct 131%). Inaamin mismo ng hypothesis na bumababa ang strategy kasabay ng bear ng 2022 (2022 -78.4%) na may sariling iniulat na drawdown na 88%; hindi maaayos ng pag-optimize sa mga parameter ng 3 ang mekanismong likas na nananatili sa malalalim na bear leg. Ito ang padron ng spot na long-only at may dalang drawdown ng beta (L49) — hindi sulit ang 2 oras ng optimization.

Implementasyon

Long/flat na pagsunod sa spot trend na walang leverage sa LINKUSDT.BINANCE_SPOT daily bars. Tuloy-tuloy na trend score ang signal: (close - SMA(entry_sma)) / ATR(14) -- layo sa itaas o ibaba ng trend baseline, na sinusukat sa yunit ng daily volatility at kinukuwenta sa bawat bar. Binibili ng strategy ang asset gamit ang 98% ng balanse ng cash tuwing nagiging positibo ang score (close na mas mataas sa SMA(entry_sma)) at bumabalik sa 100% CASH kapag bumaba ang close sa ilalim ng SMA(exit_sma) o bumaba ang presyo nang atr_trail_mult x ATR mula sa pinakamataas na high mula nang pumasok (chandelier trail). Naka-invest ito sa halos kalahati ng lahat ng araw sa bawat taon ng sample -- tuloy-tuloy na pagsali batay sa regime, hindi madalang na pagbili sa dip -- at hindi ito nagso-short o nanghihiram kailanman; asset o cash lang ang hawak nito. Kaya ito ay nakatalaga sa BINANCE_SPOT (CASH account, leverage 1.0). Kinukuha ang mga signal sa daily close at pinupunan ang order sa open ng susunod na araw. Tatlong parameter na puwedeng i-tune: entry_sma, exit_sma, atr_trail_mult.

Mga Resulta ng Beripikasyon

CLEAN RESTART 2026-09-04 — inalis ang kasaysayan ng mga hatol at tala ng pagkatuto ng run na ito, at sinimulan itong muli mula sa verification. Pipeline, hindi merkado, ang dahilan ng dating pag-abandona: mali ang pagkakatali ng Layer-2 harness sa mga @staticmethod helper (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 dulot ng kakulangan ng backtest slot ang mga timeout sa sandbox (naayos). Hindi nagbago ang hypothesis at code ng strategy. Suriin ang code batay sa merito nito; pagpapasyahan ang performance sa susunod ng buong backtest at optimizer.

Walang pagbabago sa code; tiyaking sabay na kinukuha ang snapshot ng denominator ng equity at halaga ng posisyon.

Sinubukan sa sandbox ang avg_position_pct 108.8% sa spot account na CASH at hindi makakahiram, pero nililimitahan ang position_size() sa equity*invest_frac (<=0.99) — hindi kailanman humihingi ng leverage ang code, kaya artifact ito ng mark-to-market metrics, hindi sobrang laki ng commitment. Minarkahan para kumpirmahin ng analyst.

Itakda lang ang _in_trade kapag hindi zero ang laki ng posisyon, o itugma ito sa cache.positions_open() sa bawat bar.

Itinatakda ng should_enter() ang _in_trade=True bago makumpirmang napunan ang order; kung magbalik ng 0 ang position_size(), mananatiling nakatakda ang flag. Batay sa aktuwal na posisyong naka-cache ang mga base gate sa pagpasok/paglabas, kaya peak tracking lang ng chandelier ang naaapektuhan at kusa itong nagwawasto. Hindi kritikal.

Pagsusuri ng Backtest

Sharpe
1.29
Kabuuang Return
1901.23%
Max Drawdown
94.09%
Kabuuang Trade
120
Win Rate
27.5%
Profit Factor
1.18

Madaling nalalampasan ng avg_trade_return_pct 6.12% ang minimum na spot fee (hindi ito kabiguang dulot ng fee)

Nakikipag-trade ang 120 sa lahat ng taon (tuloy-tuloy na gumagana ang mekanismo ayon sa disenyo, walang patay na window)

positibong alpha (0.085) at Sortino, malinis ang entry diagnostic (120 ang nagsignal, 120 ang isinumite, walang na-drop)

max_drawdown 94.09% na may CI [99.68%, 100.0%] — dapat nang tuluyang iwan (L19), hindi maaabot ang minimum na drawdown para sa promosyon

Mas mababa ang profit_factor 1.18 sa hangganan para sa makabuluhang edge na 1.2

information_ratio -0.17: negatibo ang aktibong return na inayos ayon sa panganib kumpara sa buy-hold; ipinapakita ng beta 0.73 / corr 0.80 na crypto beta ang +1901%, hindi kasanayan (L49)

Nakabatay sa mga outlier ang Sharpe — kurtosis 184.9, skew 11.3, may iilang pambihirang >100%/araw na return at avg_position_pct 131% na nagpapahiwatig ng position sizing na sumasabay sa equity curve sa halip na matatag na edge

2022 -78.4%, 2025 -13.5% — bumababa ang strategy kasabay ng mga bear leg dahil sa mga bigong muling pagpasok, gaya mismo ng inaamin ng hypothesis (88% iniulat mismo ang DD)

Kasaysayan ng Iterasyon

Bigo ang verification (Layer 2 — mga sintetikong scenario): Mga ginamit na parameter: ['exit_sma', 'entry_sma', 'atr_period', 'invest_frac', 'min_notional', '_param_bounds', 'atr_trail_mult'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa (bar timestamp: 1735692060000) - steady_downtrend: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3……Magpakita ng higit paMagpakita ng mas kaunti

Bigo ang verification (Layer 2 — mga sintetikong scenario): Mga ginamit na parameter: ['exit_sma', 'entry_sma', 'atr_period', 'invest_frac', 'min_notional', '_param_bounds', 'atr_trail_mult'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa (bar timestamp: 1735692060000) - steady_downtrend: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa (bar timestamp: 1735692060000) - flat_ranging: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa (bar timestamp: 1735692060000) - volatility_spike: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa (bar timestamp: 1735692060000) - zero_volume: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa (bar timestamp: 1735692060000) - price_gap: TypeError: LinkSpotTrendParticipation._roll() ay tumatanggap ng 3 positional argument pero 4 ang naipasa (bar timestamp: 1735692060000)

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.