Preskoči na vsebino
Vse strategije

Strategije

BTC Prenos momenta med sejami — dolgo-kratko, enoinstrumentna OHLCV: Smer premika seje ASIA napove premik seje US; trguj sejo US v tej smeri ONLY, ko je premik Azije velik, plosko čez noč (BINANCE BTCUSDT USD-M, 1H svečke, znotrajdnevno, 2-parametrsko)

Izid: Opuščeno

BtcAsiaToUsSessionCarryoverLS

Dobro izmerjeno: 594 poslov v celotni 2020-2026 1H zgodovini, uravnoteženo dolgo/kratko (293/301), čista izvedba (594 signaliziranih, 594 poslanih, brez izpadov)

Hipoteza

Strategija LONG-SHORT, SINGLE-INSTRUMENT, čisto-OHLCV INTRADAY na BTCUSDT.BINANCE USD-M perpetual, ki spada v resnično drugačno družino od vsega, kar je tu v čakanju ali propadlo — ni NOT trend/preboj (dual-TF momentum, SuperTrend, Donchian, ORB), ni NOT povratek k povprečju/fade (oba propadla) in ni NOT signal dopolnilnega vira (vsi neto izgubarji). Izkorišča znotrajdnevni SESSION LEAD-LAG: usmerjeni ton, določen med sejo z nizko udeležbo ASIA (00:00-08:00 UTC), se ponavadi PERSIST v sejo z višjo likvidnostjo US……Prikaži večPrikaži manj

Strategija LONG-SHORT, SINGLE-INSTRUMENT, čisto-OHLCV INTRADAY na BTCUSDT.BINANCE USD-M perpetual, ki spada v resnično drugačno družino od vsega, kar je tu v čakanju ali propadlo — ni NOT trend/preboj (dual-TF momentum, SuperTrend, Donchian, ORB), ni NOT povratek k povprečju/fade (oba propadla) in ni NOT signal dopolnilnega vira (vsi neto izgubarji). Izkorišča znotrajdnevni SESSION LEAD-LAG: usmerjeni ton, določen med sejo z nizko udeležbo ASIA (00:00-08:00 UTC), se ponavadi PERSIST v sejo z višjo likvidnostjo US (13:00-21:00 UTC), saj US/institucionalni tok nadaljuje premik namesto da bi ga obrnil. Vsak UTC dan se izmeri predznak in velikost donosa azijske seje; ko je premik Azije LARGE (pravi usmerjeni signal, ne šum), strategija vstopi v sejo US v smeri SAME in drži pozicijo le za to sejo, čez noč pa gre FLAT (brez izpostavljenosti financiranju, brez vrzeli čez noč, brez tveganja večdnevnega trenda). To se razlikuje od čakajočega preboja začetnega razpona BTC (ki trguje razpon BREAKOUT prvih ur) — tu ni preboja; gre za usmerjen CARRYOVER že vzpostavljenega premika seje v kasnejšo, ločeno sejo. Ohranja preživetvene invariante (en instrument, čisti OHLCV s polno zgodovino 2020-2026 1H, dolgo-kratko, brez dopolnilnega vira po lekciji o neto izgubarjih, brez druge noge po L69) in je zgrajena za statistične pragove: skoraj dnevna kadenca daje LARGE število poslov (>100/leto), ki presega prag merljivosti in zaostri oceno deflacijskega Sharpa, le 2 FREE parametrov (prag vstopa ob premiku Azije, ATR-kratnik stopa) pa zmanjšuje kazen deflacije best-of-225-trial. Prav tako zapolni premalo zastopan razred kratkega horizonta (8.6% proti 10%).

Iteracija 2 dobesedno popravi napako Layer-2: vseh šest sintetičnih scenarijev je vrglo 'TypeError: _day_of() takes 1 positional argument but 2 were given'. Ogrodje Layer-2 znova veže vsak klicljiv atribut na proxyju kot BOUND metodo, zato so pomožne funkcije @staticmethod _day_of/_hour_of kot prvi argument prejele instanco, kot drugega pa svečko. Popravek: obe sta zdaj navadni instančni metodi (self, bar) — mesta klicev so že uporabljala self._day_of(bar)/self._hour_of(bar), zato se drugje ni nič spremenilo,……Prikaži večPrikaži manj

Iteracija 2 dobesedno popravi napako Layer-2: vseh šest sintetičnih scenarijev je vrglo 'TypeError: _day_of() takes 1 positional argument but 2 were given'. Ogrodje Layer-2 znova veže vsak klicljiv atribut na proxyju kot BOUND metodo, zato so pomožne funkcije @staticmethod _day_of/_hour_of kot prvi argument prejele instanco, kot drugega pa svečko. Popravek: obe sta zdaj navadni instančni metodi (self, bar) — mesta klicev so že uporabljala self._day_of(bar)/self._hour_of(bar), zato se drugje ni nič spremenilo, obnašanje pod pogonom pa je enako. Drugič, obrambna sprememba na isti pomožni poti: časovni žig, ki ga poroča ogrodje (1735690980000), je v MILLISECONDS, medtem ko pogon zagotavlja nanosekunde; stara koda je brezpogojno delila s 1e9, kar bi pod ogrodjem vsako sintetično svečko strnilo v isto uro/dan in zamrznilo logiko seje (latentna druga napaka Layer-2, ko bi bila TypeError odpravljena). Nova _epoch_secs() normalizira glede na velikost (ns/us/ms/s) in je brez učinka za prave nanosekundne svečke, zato Layer-3 in pravi backtest nista prizadeta. Oblika signala, pravila vstopa/izstopa, ATR, določanje velikosti, uvozi in struktura razreda so sicer nespremenjeni glede na kodo, ki je že prestala Layer 1.

Premisa z negativnim pričakovanjem na dobro izmerjenem vzorcu celotne zgodovine. V 594 poslih v 2020-2026 prenos seje Azija->US izgublja denar: profit_factor 0.937 (<1), total_return -9.81%, pričakovana vrednost -$17.34/posel, Sharpe -0.15 z CI [-0.760, 0.458], ki obkroža ničlo, information_ratio -0.76. Edino pozitivno leto je 2020 (+15.3%); vsako leto od tedaj je negativno ali plosko (2021 -8.1, 2022 -5.8, 2025 -10.8), pri čemer se drseči Sharpe do 2026 giblje proti -8.3 — hipoteza 'velik premik Azije napove premik US' se preprosto ne potrdi. Prav tako je robna glede provizij: avg_trade_return_pct 0.110% je pod mejo provizij 0.15% Binance USD-M (L22). Z le 2 prostimi parametri in neto negativno usmerjeno prednostjo prilagajanje ne more obrniti predznaka prednosti, ki ne obstaja. To je podpis neto izgubarja fee_edge/no_edge — ni vredno 2 ur optimizacije.

Implementacija

BTCUSDT.BINANCE USD-M perpetual, 1H svečke, dolgo-kratko znotrajdnevno zamikanje sej (lead-lag). Vsak UTC dan se donos azijske seje (00:00-08:00 UTC od odprtja do zaprtja) postopoma akumulira in normalizira s standardnim odklonom zadnjih 30 azijskih donosov (rezervna disperzija na osnovi ATR, dokler se ta zgodovina ne napolni), kar daje neprekinjen, na merilo neobčutljiv z-rezultat, vrnjen za vsako svečko. Ob uri odprtja seje US (13:00 UTC) strategija vstopi v smeri SAME, enaki gibanju Azije, ko je |z| >= entry_z, največ en vstop na koledarski dan. Izstopi ob uri zaprtja seje US (20:00 UTC), tako da je knjiga FLAT čez noč (brez financiranja, brez tveganja vrzeli), ali prej ob stopu na podlagi ATR (stop_atr_mult x ATR, z minimumom pri min_stop_pct). Določanje velikosti tvega risk_frac kapitala na razdaljo do stopa, omejeno na max_notional_frac-kratnik bruto kapitala. Vse stanje (ATR, donos seje, vrsta disperzije) je O(1) na svečko; prehod dneva je sidran na lastni časovni žig svečke, ne na števec svečk.

Rezultati preverjanja

CLEAN RESTART 2026-09-04 — zgodovina razsodb in učni zapisi tega zagona so bili odstranjeni in je bil ponovno zagnan od preverjanja. Njegova prejšnja opustitev je izvirala iz cevovoda (pipeline), ne iz trga: ogrodje Layer-2 je napačno vezalo pomožne funkcije @staticmethod (popravljeno), QA je izdal končne razsodbe o uspešnosti na neoptimiziranem dimnem testu (odstranjeno — QA zdaj presoja le pravilnost), časovne omejitve peskovnika pa so izhajale iz stradanja rezin backtesta (popravljeno). Hipoteza in koda strategije sta nespremenjeni. Preveri kodo na podlagi njenih lastnosti; o uspešnosti se odloči kasneje s celotnim backtestom in optimizatorjem.

Dodaj _param_bounds = {entry_z: [...], stop_atr_mult: [...]}, ki ustreza omejitvam (clamps) v kodi; vse konstante ure seje/ATR/tveganja pusti izven tega.

Konfiguracija deklarira NO _param_bounds, čeprav hipoteza temelji na 'le 2 FREE parametrih', da bi zmanjšala kazen deflacije best-of-225-trial. Brez tega optimizator nima eksplicitne površine, ki bi ga vezala na {entry_z, stop_atr_mult}, kar spodkopava disciplino 2 parametrov. Ni napaka pravilnosti.

Nastavi us_exit_hour=21 za celotno okno ali dokumentiraj 20:00 kot nameravano.

Hipoteza imenuje sejo US 13:00-21:00 UTC, vendar je us_exit_hour 20, kar prisili plosko pozicijo eno uro prej. Manjša podrobnost, ki ne spremeni mehanizma ali invariante 'plosko čez noč'.

Pregled backtesta

Sharpe
-0,15
Skupni donos
-9,81%
Največji padec
23,40%
Skupno poslov
594
Delež dobičkov
44,8%
Faktor dobička
0,94

Dobro izmerjeno: 594 poslov v celotni 2020-2026 1H zgodovini, uravnoteženo dolgo/kratko (293/301), čista izvedba (594 signaliziranih, 594 poslanih, brez izpadov)

Resnično ločena družina znotrajdnevnega zamikanja sej (lead-lag); plosko čez noč, nizka korelacija z referenčnim indeksom (0.025), brez odvisnosti od dopolnilnega vira

Neto izgubar: profit_factor 0.937 (<1), total_return -9.81%, pričakovana vrednost -$17.34/posel, Sharpe -0.15 (CI obkroža ničlo), information_ratio -0.76

avg_trade_return_pct 0.110% je pod mejo provizij 0.15% Binance USD-M — robno glede provizij tudi če spregledamo negativno pričakovano vrednost

Le 2020 (+15.3%) je smiselno pozitiven; vsako naslednje leto je negativno ali plosko (2025 -10.8%), drseči Sharpe pa se do 2026 giblje proti -8.3 — premisa prenosa seje (session-carryover) nima trajne prednosti

return_kurtosis 78.6 — neenakomeren trak (npr. dan -6.07% na 2023-08-29) namesto gladke prednosti

Zgodovina iteracij

Preverjanje ni uspelo (Layer 2 — sintetični scenariji): Uporabljeni parametri: ['entry_z', 'min_bars', 'risk_frac', 'atr_period', 'min_notional', 'min_stop_pct', 'min_vol_days', 'us_exit_hour', 'asia_end_hour', 'stop_atr_mult', 'us_entry_hour', 'asia_start_hour', 'max_notional_frac', 'vol_lookback_days'] Preveri, da __init__ nastavi vse atribute iz self.parameters.get(). - steady_uptrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000)……Prikaži večPrikaži manj

Preverjanje ni uspelo (Layer 2 — sintetični scenariji): Uporabljeni parametri: ['entry_z', 'min_bars', 'risk_frac', 'atr_period', 'min_notional', 'min_stop_pct', 'min_vol_days', 'us_exit_hour', 'asia_end_hour', 'stop_atr_mult', 'us_entry_hour', 'asia_start_hour', 'max_notional_frac', 'vol_lookback_days'] Preveri, da __init__ nastavi vse atribute iz self.parameters.get(). - steady_uptrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - steady_downtrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - flat_ranging: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - volatility_spike: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - zero_volume: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - price_gap: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000)

Stratmill je orodje za raziskave in simulirano trgovanje, ne finančno svetovanje ali borzni posrednik. Rezultati backtestov in simuliranega trgovanja so hipotetični. Trgovanje vključuje tveganje izgube.