Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate

Resulta: Inabandona

BtcTakerAggressionFlowReversalZScore1H

BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate

Hypothesis

Long-only na rotation strategy na maraming instrumento, sa dalawang pinakamalaking crypto major (BTCUSDT.BINANCE at ETHUSDT.BINANCE) sa Daily timeframe. Mekanismo: bawat araw, paghambingin ang BTC at ETH na 20-araw na return (paghahambing ng relative strength), at hawakan ang mas malakas na asset; magpalit lamang kapag bumaligtad ang relative strength nang lampas sa hysteresis margin (upang maiwasan ang whipsaw). Salain gamit ang trend filter na partikular sa asset (close > 50-araw na SMA sa hawak na asset) —……Magpakita ng higit paMagpakita ng mas kaunti

Long-only na rotation strategy na maraming instrumento, sa dalawang pinakamalaking crypto major (BTCUSDT.BINANCE at ETHUSDT.BINANCE) sa Daily timeframe. Mekanismo: bawat araw, paghambingin ang BTC at ETH na 20-araw na return (paghahambing ng relative strength), at hawakan ang mas malakas na asset; magpalit lamang kapag bumaligtad ang relative strength nang lampas sa hysteresis margin (upang maiwasan ang whipsaw). Salain gamit ang trend filter na partikular sa asset (close > 50-araw na SMA sa hawak na asset) — kung wala sa dalawang asset ang nasa sariling uptrend, cash ang hawakan. Direktang ipinapatupad nito ang rekomendasyon ng analyst na EXPLICIT mula sa feedback ng pag-abandona sa ADAAroonTrendStrength: 'MULTI-INSTRUMENT [signal] (paghahambing ng lakas ng trend sa iba't ibang asset)' — inilapat sa dalawang major na may pinakamaaasahang Daily bar. Naiiba ito sa bawat kasalukuyang entry sa pipeline: (a) NOT isang estratehiyang iisang instrumento (saklaw na maraming instrumento sa 8.8% kumpara sa target — tuwirang pumupuno sa kategoryang kulang sa quota); (b) NOT Donchian/breakout, volume-spike, basis, o oscillator strategy (lahat ng iyon ay para sa iisang asset o gumagamit ng mekanismong basis); (c) IS rotation na relative strength — isang klase ng mekanismo na may malawak na literatura kaugnay ng crypto (Liu-Tsyvinski 2018, Cohen-Frazzini 2008 na iniangkop sa crypto ni Greer 2021) pero ZERO presensiya sa kasalukuyan naming portfolio. Long-only dahil may dokumentadong positibong pangmatagalang drift ang dalawang crypto major, pinipigilan ng trend gate ang paghawak sa mga downtrend (aral mula sa pagkabigo ng Keltner), at pinabulaanan ng datos ang directional na short-only sa crypto major (-2.6 diperensiya ng Sharpe kumpara sa long). Daily bars lang ang ginagamit — iniiwasan ang panganib sa imprastraktura ng 4H audit_stale (pinatutunayan ng EthDailyGoldenCrossMomentumLong na gumagana ang ETH Daily, at pinatutunayan ng maraming BTC estratehiya na gumagana ang BTC Daily).

Mga pagwawasto lamang sa Layer-1 look-ahead error na iniulat, at byte-for-byte na pinananatili ang bawat naunang pumasa na bahagi ng file. Dati, pinipili ng taker lookup ang obserbasyong NEAREST sa timestamp ng bar batay sa ganap na layo; ibinabalik nito ang NEXT print tuwing mas malapit ito kaysa sa nauna — tunay na look-ahead, at sumasalungat sa sarili nitong edge, na ang buong pahayag tungkol sa tibay ay nakabatay sa makikita lamang ang taker aggression matapos maganap ang flow. Pinalitan ang `_nearest_metric`……Magpakita ng higit paMagpakita ng mas kaunti

Mga pagwawasto lamang sa Layer-1 look-ahead error na iniulat, at byte-for-byte na pinananatili ang bawat naunang pumasa na bahagi ng file. Dati, pinipili ng taker lookup ang obserbasyong NEAREST sa timestamp ng bar batay sa ganap na layo; ibinabalik nito ang NEXT print tuwing mas malapit ito kaysa sa nauna — tunay na look-ahead, at sumasalungat sa sarili nitong edge, na ang buong pahayag tungkol sa tibay ay nakabatay sa makikita lamang ang taker aggression matapos maganap ang flow. Pinalitan ang `_nearest_metric` ng `_prior_metric`, isang mahigpit na point-in-time read: ibinabalik ng `bisect.bisect_right(ts_list, bar_ts) - 1` ang pinakabagong print na naganap na bago ang bar na ito; hindi maaabot sa istruktura ang print sa hinaharap, at itinuturing na walang data ang print na mas luma sa `taker_tolerance_s` (walang pagdadala pasulong ng lumang data, kaya mananatiling flat ang book kapag may puwang sa feed). Wala nang natitirang `abs()` sa anumang kalkulasyon ng timestamp. Hindi ginalaw: ang mga helper na nasa antas ng module na `_to_ns`/`_ts_ns_of` na nag-ayos sa proxy re-binding TypeError ng Layer-2, ang supplementary parser na dual camelCase/snake_case na nag-ayos sa pagkabigo ng Layer-3 dahil walang trade, ang rolling z-score, mga threshold ng entry/exit, at ang sizing batay sa kapital. Itinaas ko ang `taker_tolerance_s` mula 7200 tungo sa 28800 sa config, dahil mas mahaba talaga ang pinakamasamang puwang sa backward-only read kaysa sa dating two-sided search at kung hindi ito gagawin ay mawawala ang mga bar na nagamit ng nakaraang run.

verification_loop: Nabigo ang beripikasyon (Layer 4 — QA review) [class=hypothesis_mismatch]: - WHOLE-STRATEGY SWAP: lubos na naiiba ang estratehiyang ipinapatupad ng isinumiteng code sa hypothesis sa lahat ng aspekto. Hypothesis = 'BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate': gumagamit ng maraming instrumento (BTCUSDT + ETHUSDT), DAILY bars, LONG-ONLY, rotation ng relative strength sa iba't ibang asset (paghambingin ang mga return sa loob ng 20 araw, piliin ang mas malakas at magpalit……Magpakita ng higit paMagpakita ng mas kaunti

verification_loop: Nabigo ang beripikasyon (Layer 4 — QA review) [class=hypothesis_mismatch]: - WHOLE-STRATEGY SWAP: lubos na naiiba ang estratehiyang ipinapatupad ng isinumiteng code sa hypothesis sa lahat ng aspekto. Hypothesis = 'BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate': gumagamit ng maraming instrumento (BTCUSDT + ETHUSDT), DAILY bars, LONG-ONLY, rotation ng relative strength sa iba't ibang asset (paghambingin ang mga return sa loob ng 20 araw, piliin ang mas malakas at magpalit gamit ang hysteresis), na may 50-araw na SMA bilang kondisyon, purong OHLCV. Isinumiteng code = class BtcTakerAggressionFlowReversalZScore1H: SINGLE instrumento (BTCUSDT.BINANCE lang, walang extra_instruments), 1-HOUR bars, LONG-SHORT, isang taker_ratio z-score MEAN-REVERSION fade ng matitinding taker aggression, batay sa taker_ratio SUPPLEMENTARY stream. Hindi nagtutugma ang mga instrumento, timeframe, direksiyon, pangunahing edge (lubos na wala ang mekanismo ng rotation/relative strength), at pinagmulan ng datos. Magkakatugma ang code/config/pangalan/paglalarawan sa estratehiya ng taker-flow, kaya maling artifact ang nakakabit sa hypothesis na ito.

Implementasyon

Long-short na mean reversion sa BTCUSDT.BINANCE USD-M perp 1H bars, na tanging taker_ratio supplementary stream ang pinagmumulan. Bawat bar, binabasa ang pinakabagong obserbasyon ng taker buy/sell sa o bago ang timestamp ng bar, kino-convert ito sa log buy/sell imbalance at kinukuwenta ang z-score ng pinakinis na 4-oras na basa kumpara sa sumusunod na humigit-kumulang 30-araw na distribusyon nito. Kapag ang z ay entry_z o mas mataas, ubos na ang agresibong pagbili kaya kinokontra ito ng estratehiya sa pamamagitan ng SHORT; kapag ang z ay entry_z o mas mababa, ubos na ang panic selling kaya pumuposisyon ito nang LONG. Lumalabas kapag bumalik sa loob ng +/- exit_z ang imbalance, naabot ang 3% stop, ang 4% take-profit, o ang 24-bar time stop. Ang laki ng posisyon ay 15% ng equity, na nililimitahan ng 1.5% na equity risk sa layo ng stop. Kung walang magagamit na taker data, mananatiling flat ang book — walang edge na nakabatay lang sa presyo.

Mga Resulta ng Beripikasyon

Nabigo ang beripikasyon (Layer 4 — QA review) [class=hypothesis_mismatch]: - WHOLE-STRATEGY SWAP: lubos na naiiba ang estratehiyang ipinapatupad ng isinumiteng code sa hypothesis sa lahat ng aspekto. Hypothesis = 'BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate': gumagamit ng maraming instrumento (BTCUSDT + ETHUSDT), DAILY bars, LONG-ONLY, rotation ng relative strength sa iba't ibang asset (paghambingin ang mga return sa loob ng 20 araw, piliin ang mas malakas at magpalit gamit ang hysteresis),……Magpakita ng higit paMagpakita ng mas kaunti

Nabigo ang beripikasyon (Layer 4 — QA review) [class=hypothesis_mismatch]: - WHOLE-STRATEGY SWAP: lubos na naiiba ang estratehiyang ipinapatupad ng isinumiteng code sa hypothesis sa lahat ng aspekto. Hypothesis = 'BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate': gumagamit ng maraming instrumento (BTCUSDT + ETHUSDT), DAILY bars, LONG-ONLY, rotation ng relative strength sa iba't ibang asset (paghambingin ang mga return sa loob ng 20 araw, piliin ang mas malakas at magpalit gamit ang hysteresis), na may 50-araw na SMA bilang kondisyon, purong OHLCV. Isinumiteng code = class BtcTakerAggressionFlowReversalZScore1H: SINGLE instrumento (BTCUSDT.BINANCE lang, walang extra_instruments), 1-HOUR bars, LONG-SHORT, isang taker_ratio z-score MEAN-REVERSION fade ng matitinding taker aggression, batay sa taker_ratio SUPPLEMENTARY stream. Hindi nagtutugma ang mga instrumento, timeframe, direksiyon, pangunahing edge (lubos na wala ang mekanismo ng rotation/relative strength), at pinagmulan ng datos. Magkakatugma ang code/config/pangalan/paglalarawan sa estratehiya ng taker-flow, kaya maling artifact ang nakakabit sa hypothesis na ito.

Kasaysayan ng Iterasyon

Nabigo ang beripikasyon (Layer 2 — mga sintetikong sitwasyon): Mga parameter na ginamit: ['z_min', 'exit_z', 'tp_pct', 'entry_z', 'risk_pct', 'stop_pct', 'smooth_bars', 'window_bars', 'min_notional', 'notional_pct', 'max_hold_bars', 'taker_tolerance_s'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - steady_downtrend:……Magpakita ng higit paMagpakita ng mas kaunti

Nabigo ang beripikasyon (Layer 2 — mga sintetikong sitwasyon): Mga parameter na ginamit: ['z_min', 'exit_z', 'tp_pct', 'entry_z', 'risk_pct', 'stop_pct', 'smooth_bars', 'window_bars', 'min_notional', 'notional_pct', 'max_hold_bars', 'taker_tolerance_s'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - zero_volume: TypeError: FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - price_gap: TypeError: FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000)

Nabigo ang beripikasyon (Layer 2 — mga sintetikong sitwasyon): Mga parameter na ginamit: ['z_min', 'exit_z', 'tp_pct', 'entry_z', 'risk_pct', 'stop_pct', 'smooth_bars', 'window_bars', 'min_notional', 'notional_pct', 'max_hold_bars', 'taker_tolerance_s'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: BtcTakerAggressionFlowReversalZScore1H._ts_ns_of() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) -……Magpakita ng higit paMagpakita ng mas kaunti

Nabigo ang beripikasyon (Layer 2 — mga sintetikong sitwasyon): Mga parameter na ginamit: ['z_min', 'exit_z', 'tp_pct', 'entry_z', 'risk_pct', 'stop_pct', 'smooth_bars', 'window_bars', 'min_notional', 'notional_pct', 'max_hold_bars', 'taker_tolerance_s'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: BtcTakerAggressionFlowReversalZScore1H._ts_ns_of() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - steady_downtrend: TypeError: BtcTakerAggressionFlowReversalZScore1H._ts_ns_of() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - flat_ranging: TypeError: BtcTakerAggressionFlowReversalZScore1H._ts_ns_of() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - volatility_spike: TypeError: BtcTakerAggressionFlowReversalZScore1H._ts_ns_of() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - zero_volume: TypeError: BtcTakerAggressionFlowReversalZScore1H._ts_ns_of() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000) - price_gap: TypeError: BtcTakerAggressionFlowReversalZScore1H._ts_ns_of() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689840000)

Nabigo ang beripikasyon (Layer 1 — static analysis): - Look-ahead: pinipili ang karagdagang obserbasyon batay sa ABSOLUTE layo mula sa timestamp ng bar; ibinabalik nito ang NEXT obserbasyon kapag mas malapit ito kaysa sa nauna. Gamitin ang self.supp_as_of(key) (pinakahuli sa o bago ang bar) o tahasang `ts <= bar.ts_init` filter — huwag kailanman gumamit ng abs(). (line None)

Nabigo ang beripikasyon (Layer 3 — sandbox backtest): Walang nagawang trade Ginamit na uri ng bar: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Naprosesong bars: 56856 Mga diagnostic: nagbalik ang should_enter() ng side nang 0 beses sa 56852 nasuring bars -> hindi kailanman na-trigger ang iyong ENTRY CONDITION. Luwagan ang lohika/pamantayan ng pagpasok. Tiyaking nakakagawa ng mga trade ang iyong estratehiya gamit ang ibinigay na data at mga parameter.

Nabigo ang beripikasyon (leverage_set_but_unused): itinakda ng config ang leverage=3.0 pero hindi kailanman ginagamit ng estratehiya ang leverage sa pagtakda ng laki ng posisyon. Gamitin ito sa pagtakda ng laki ng posisyon — notional = equity * fraction * leverage / price (basahin ang self.config.leverage) — o itakda ang leverage=1.0. Sa kasalukuyang anyo, walang epekto ang leverage at kapareho ng 1x ang backtest.

Dahilan ng Pag-abandona

verification_loop: Nabigo ang beripikasyon (Layer 4 — QA review) [class=hypothesis_mismatch]: - WHOLE-STRATEGY SWAP: lubos na naiiba ang estratehiyang ipinapatupad ng isinumiteng code sa hypothesis sa lahat ng aspekto. Hypothesis = 'BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate': gumagamit ng maraming instrumento (BTCUSDT + ETHUSDT), DAILY bars, LONG-ONLY, rotation ng relative strength sa iba't ibang asset (paghambingin ang mga return sa loob ng 20 araw, piliin ang mas malakas at magpalit……Magpakita ng higit paMagpakita ng mas kaunti

verification_loop: Nabigo ang beripikasyon (Layer 4 — QA review) [class=hypothesis_mismatch]: - WHOLE-STRATEGY SWAP: lubos na naiiba ang estratehiyang ipinapatupad ng isinumiteng code sa hypothesis sa lahat ng aspekto. Hypothesis = 'BTC-ETH Daily Relative-Strength Rotation Long-Only with Trend Gate': gumagamit ng maraming instrumento (BTCUSDT + ETHUSDT), DAILY bars, LONG-ONLY, rotation ng relative strength sa iba't ibang asset (paghambingin ang mga return sa loob ng 20 araw, piliin ang mas malakas at magpalit gamit ang hysteresis), na may 50-araw na SMA bilang kondisyon, purong OHLCV. Isinumiteng code = class BtcTakerAggressionFlowReversalZScore1H: SINGLE instrumento (BTCUSDT.BINANCE lang, walang extra_instruments), 1-HOUR bars, LONG-SHORT, isang taker_ratio z-score MEAN-REVERSION fade ng matitinding taker aggression, batay sa taker_ratio SUPPLEMENTARY stream. Hindi nagtutugma ang mga instrumento, timeframe, direksiyon, pangunahing edge (lubos na wala ang mekanismo ng rotation/relative strength), at pinagmulan ng datos. Magkakatugma ang code/config/pangalan/paglalarawan sa estratehiya ng taker-flow, kaya maling artifact ang nakakabit sa hypothesis na ito.

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.