Praleisti ir pereiti prie turinio
Visos strategijos

Strategijos

Diversifikuotas dienos impulsinės žvakės tęsenos portfelis pagrindiniuose instrumentuose (ilgosios ir trumposios pozicijos, Binance USD-M, 1H, atskiri įvykių inicijuojami įėjimai, vienos pozicijos ir bendrosios vertės ribos, ATR tikslai, viršijantys mokesčius)

Rezultatas: Atsisakyta

DiversifiedImpulseBarContinuationPortfolioLS1H

Iš tikrųjų išspręstos retų sandorių ir vieno įvykio koncentracijos problemos: 13,644 sandorių tarp 10 instrumentų tankiai užpildo kiekvieną langą; įėjimai yra atskiri ir saugūs varikliui, taikomos vienos pozicijos ir…

Hipotezė

LONG-SHORT, MULTI-INSTRUMENT dienos CONTINUATION strategija taiko gamyklos EXPLICITLY-SANCTIONED ir apibendrina impulso žvakės tęsinio signalą kaip DIVERSIFIED PORTFOLIO portfelį iš maždaug 10 ilgą istoriją turinčių Binance USD-M pagrindinių instrumentų (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC), naudojant 1–HOUR žvakes. Kiekvienas aktyvas stebimas atskirai; kai bet kurio aktyvo kaina staiga stipriai ir didele apimtimi pajuda viena kryptimi (impulso žvakė), strategija atidaro atskirą poziciją judėjimo……Rodyti daugiauRodyti mažiau

LONG-SHORT, MULTI-INSTRUMENT dienos CONTINUATION strategija taiko gamyklos EXPLICITLY-SANCTIONED ir apibendrina impulso žvakės tęsinio signalą kaip DIVERSIFIED PORTFOLIO portfelį iš maždaug 10 ilgą istoriją turinčių Binance USD-M pagrindinių instrumentų (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC), naudojant 1–HOUR žvakes. Kiekvienas aktyvas stebimas atskirai; kai bet kurio aktyvo kaina staiga stipriai ir didele apimtimi pajuda viena kryptimi (impulso žvakė), strategija atidaro atskirą poziciją judėjimo kryptimi, kad išnaudotų po jo vykstantį trumpalaikį tęsinį. Analitikų palaikoma naujovių kryptis: impulso tęsinio šeima ne kartą įvardijama kaip „apibendrinanti“; egzistuoja ir vieno aktyvo ETH-1H, SOL-1H bei BTC-1H-HL variantai. Šis metodas pritaikytas PORTFOLIO, kad būtų pašalintos dvi nesėkmės priežastys, dėl kurių žlugo beveik visi pastarieji atmesti bandymai: (1) LOW BREADTH / per didelė vieno įvykio koncentracija (3 pavadinimų HL portfelis patyrė 68% DD nuosmukį kaip svertinė beta; vieno pavadinimo pramušimai buvo sutelkti į 2021) — problema išspręsta, nes skirtingų, netobulai koreliuojančių pavadinimų impulso įvykiai vyksta skirtingu metu, todėl diversifikuojama TRADE STREAM, o ne kaupiama koreliuojanti kryptinė beta; ir (2) TRADE-SPARSITY (CoinM Donchian strategijos 26 sandorių nepakako slenkančiam testavimui atlikti; OOS langai liko tušti) — problema išspręsta, nes maždaug 10 pavadinimų ir dažni 1H impulsai sukuria šimtus sandorių per metus, tad kiekviename slenkančio testavimo ir atidėtų duomenų lange yra pakankamai sandorių. Tai nėra NOT uždraustas momentum krepšelio patobulinimas (kita signalų klasė: atskiri dienos impulso tęsinio įvykiai, o ne SMA / tendencijos būsena pagal grąžą per slenkantį laikotarpį), NOT vieno aktyvo TSM (neveikė), NOT lėtas pramušimas (netiko pasikeitus režimui), NOT grįžimas prie vidurkio (neveikė) ar NOT opcionai / neatidėliotina prekyba (negalima). Konstrukcija saugi varikliui: atskiri įvykiai su vienkartiniu įėjimu ir išėjimu, daugiausia viena pozicija vienam aktyvui, kiekvienos pozicijos nominaliosios vertės riba ir portfelio GROSS pozicijų limitas — be nuolatinio pozicijų dydžio keitimo pagal kintamumą ar grynosios pozicijos apvertimo (tokios konstrukcijos sukėlė nominaliosios vertės išpūtimo artefaktą). Tikslas platus, o stabdymo nuostolis siauras (TP >= SL), kad būtų išvengta nuostolio po staigaus kritimo ir atšokimo rizikos bei atlygio spąstų. Trys pagrindiniai parametrai.

Iteracija 4 išsprendžia Layer-3 300s pradinio testo skirtąjį laiką WITHOUT nepakeisdama jokios sandorių logikos. Ankstesnė versija iš naujo skaičiavo ATR, vidutinę apimtį ir impulsą iš žvakių sąrašų iškarpų (paskirdama numpy masyvus ir daug kartų iškviesdama .as_double() FFI) visiems 10 instrumentams kiekvienoje EVERY žvakėje — didelės sąnaudos kiekvienai žvakei, padaugintos iš šimtų tūkstančių 1H žvakių ilgoje istorijoje. Dabar kiekvienos žvakės karštojo kelio sąnaudos yra O(1): slankiojo lango TR ir apimties……Rodyti daugiauRodyti mažiau

Iteracija 4 išsprendžia Layer-3 300s pradinio testo skirtąjį laiką WITHOUT nepakeisdama jokios sandorių logikos. Ankstesnė versija iš naujo skaičiavo ATR, vidutinę apimtį ir impulsą iš žvakių sąrašų iškarpų (paskirdama numpy masyvus ir daug kartų iškviesdama .as_double() FFI) visiems 10 instrumentams kiekvienoje EVERY žvakėje — didelės sąnaudos kiekvienai žvakei, padaugintos iš šimtų tūkstančių 1H žvakių ilgoje istorijoje. Dabar kiekvienos žvakės karštojo kelio sąnaudos yra O(1): slankiojo lango TR ir apimties SUMS palaikomi atnaujinant duomenis ribotos talpos eilėse, vieną kartą kiekvienai naujai kiekvieno aktyvo žvakei funkcijoje _roll_update (dubliatai pašalinami pagal laiko žymą), o valdymo logika tiesiogiai nuskaito _atr_of/_avg_vol_of/_thrust_of iš kaupiamųjų sumų. Iš karštojo kelio pašalinta numpy (naudojama tik Python matematika). Pagrindinio aktyvo RETURNED signalas išlaiko tikslų ankstesnį skaičiavimą pagal žvakes (_thrust_direct), todėl jo tolydus kintantis signalas, jau praėjęs Layers 1-2, elgiasi identiškai iki baito; sąlygų netaikantis _touch atnaujinimas taip pat išlaiko aktyvų signalą Layer-2 tarpinėje aplinkoje, kur nėra order_factory/talpyklos. Slankusis ATR lygus tų pačių TR vidurkiui, o slankioji vidutinė apimtis — tų pačių apimčių vidurkiui, todėl įėjimai, išėjimai ir sandorių sudarymas nesikeičia — sumažėja tik vienos žvakės apdorojimo sąnaudos: nuo O(lango ilgis × instrumentai) iki O(instrumentai), o pastovioji dedamoji daug mažesnė.

Diversifikuotas dienos impulsinės žvakės tęsenos portfelis yra aiškiai nuostolingas po prekybos išlaidų; pranašumas mažesnis už prekybos kaštus — neverta skirti optimizavimui 2 valandų. Per 13,644 sandorių: total_return -95.05%, CAGR -45.6%, max_drawdown 96.24% (CI–100%, peržengta L19 griežto atsisakymo riba, ramaus režimo grupė -100%), profit_factor 0.87, tikėtinas rezultatas -$7.20/sandorį, avg_trade_return_pct 0.045% (nesiekia 0.15% Binance USD-M mokesčių ribos, L22; komisiniai sudaro 12.4% bendrosios vertės).……Rodyti daugiauRodyti mažiau

Diversifikuotas dienos impulsinės žvakės tęsenos portfelis yra aiškiai nuostolingas po prekybos išlaidų; pranašumas mažesnis už prekybos kaštus — neverta skirti optimizavimui 2 valandų. Per 13,644 sandorių: total_return -95.05%, CAGR -45.6%, max_drawdown 96.24% (CI–100%, peržengta L19 griežto atsisakymo riba, ramaus režimo grupė -100%), profit_factor 0.87, tikėtinas rezultatas -$7.20/sandorį, avg_trade_return_pct 0.045% (nesiekia 0.15% Binance USD-M mokesčių ribos, L22; komisiniai sudaro 12.4% bendrosios vertės). Sharpe rodiklis yra -0.088 (CI [-1.02, 0.61] intervalas apima nulį), PSR 0.41, o nuostolis fiksuojamas 6 iš 7 metų (teigiami tik 2022). Portfelio konstrukcija DID pašalina du jai numatytus trūkumus — retus sandorius (šimtai sandorių per metus) ir vieno įvykio koncentraciją, su varikliui saugiais atskirais įėjimais ir be likvidavimo — tačiau diversifikavimas nesumažino kraštinių nuostolių (ekscesas 246, mėnesio svyravimai +365%/-78%/-50%, 37 nuostolingų sandorių iš eilės) ir, svarbiausia, nesukūrė teigiamo vieno sandorio grynojo pranašumo. Tai L30/L63 gryna OHLCV kryptinės tęsenos klasė (0 išlikusi); apibendrinus vieno instrumento impulso signalą 10 instrumentų, padaugėjo sandorių, tačiau vieno sandorio pranašumas tebėra mažesnis už mokesčius. Jokie impulso, nuostolio ribos ar pelno tikslo daugiklio pakeitimai nepakelia 0.045% vieno sandorio pranašumo virš mokesčių ribos ir nepataiso 96% nuosmukio. Nesėkmės pobūdis: fee_edge/no_edge kelių instrumentų OHLCV tęsa su >50% DD.

Įgyvendinimas

Ilgoji ir trumpoji prekyba dienos metu, tęsiant impulso žvakės judėjimą, vykdoma kaip diversifikuotas portfelis iš 10 ilgos istorijos „Binance“ USD-M pagrindinių instrumentų, naudojant 1H žvakes. Kiekvienas turtas stebimas atskirai; didelės apimties kryptinis impulsas (|kūnas|/ATR >= impulse_atr_mult AND apimtis >= vol_mult x vidurkio) atidaro vieną atskirą poziciją impulso kryptimi. Ji uždaroma pasiekus artimą ATR nuostolio ribą, tolimesnį ATR tikslą arba maksimalų laikymo laiką. Taikoma vienos pozicijos nominalios vertės ir bendrosios portfelio ekspozicijos riba; kiekvienam turtui leidžiama ne daugiau kaip viena pozicija.

Patikros rezultatai

CLEAN RESTART 2026-09-04 — šio vykdymo nuosprendžių istorija ir mokymosi įrašai pašalinti, o vykdymas pradėtas iš naujo nuo patikros. Anksčiau atsisakyta dėl duomenų apdorojimo grandinės, ne dėl rinkos: Layer-2 bandymų aplinka neteisingai susiejo @staticmethod pagalbines funkcijas (ištaisyta), QA priėmė galutinius veiksmingumo sprendimus pagal neoptimizuotą pradinį testą (pašalinta — QA dabar vertina tik teisingumą), o smėliadėžės skirtasis laikas baigėsi dėl atgalinio testavimo lizdų trūkumo (ištaisyta). Hipotezė ir strategijos kodas nepasikeitė. Įvertinkite kodą pagal jo nuopelnus; veiksmingumas bus sprendžiamas vėliau, atlikus visą atgalinį testavimą ir optimizavimą.

Istorinio testo peržiūra

Sharpe
-0,09
Bendra grąža
-95,05%
Didžiausias nuosmukis
96,24%
Iš viso sandorių
13644
Pelningų sandorių dalis
38,6%
Pelno faktorius
0,87

Iš tikrųjų išspręstos retų sandorių ir vieno įvykio koncentracijos problemos: 13,644 sandorių tarp 10 instrumentų tankiai užpildo kiekvieną langą; įėjimai yra atskiri ir saugūs varikliui, taikomos vienos pozicijos ir bendrosios vertės ribos (nėra nominaliosios vertės išpūtimo artefakto ar likvidavimo)

Nuostolinga po išlaidų: total_return -95.05%, CAGR -45.6%, max_drawdown 96.24% (CI–100%) — peržengta 50% griežto atsisakymo riba (L19)

Pranašumo nepakanka mokesčiams padengti: avg_trade_return_pct 0.045% (nesiekia 0.15% mokesčių ribos, L22), profit_factor 0.87, tikėtinas rezultatas -$7.20/sandorį, komisiniai sudaro 12.4% bendrosios vertės

Nėra reikšmingo pagal riziką pakoreguoto pranašumo: Sharpe -0.088 (CI [-1.02, 0.61] intervalas apima nulį), PSR 0.41; nuostoliai 6 iš 7 metų (teigiami tik 2022)

Diversifikavimas nesumažino kraštinių nuostolių: ekscesas 246, mėnesio svyravimai +365%/-78%/-50%, 37 nuostolingų sandorių iš eilės — rezultatą lemia išskirtiniai atvejai, o ne tolygus pranašumas

L30/L63 gryna OHLCV kryptinės tęsenos klasė (0 išlikusi); pritaikius visam portfeliui sandorių skaičius išaugo, bet vieno sandorio pranašumas – ne

Iteracijų istorija

Patikra nepavyko (Layer 2 — sintetiniai scenarijai): Naudoti parametrai: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Patikrinkite, ar __init__ nustato visus atributus iš self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj turi būti tipo arba poklasio egzempliorius (žvakės laiko žyma: 1735689600000) - steady_downtrend:……Rodyti daugiauRodyti mažiau

Patikra nepavyko (Layer 2 — sintetiniai scenarijai): Naudoti parametrai: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Patikrinkite, ar __init__ nustato visus atributus iš self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj turi būti tipo arba poklasio egzempliorius (žvakės laiko žyma: 1735689600000) - steady_downtrend: TypeError: super(type, obj): obj turi būti tipo arba poklasio egzempliorius (žvakės laiko žyma: 1735689600000) - flat_ranging: TypeError: super(type, obj): obj turi būti tipo arba poklasio egzempliorius (žvakės laiko žyma: 1735689600000) - volatility_spike: TypeError: super(type, obj): obj turi būti tipo arba poklasio egzempliorius (žvakės laiko žyma: 1735689600000) - zero_volume: TypeError: super(type, obj): obj turi būti tipo arba poklasio egzempliorius (žvakės laiko žyma: 1735689600000) - price_gap: TypeError: super(type, obj): obj turi būti tipo arba poklasio egzempliorius (žvakės laiko žyma: 1735689600000)

Patikra nepavyko (Layer 3 — smėliadėžės atgalinis testas): pradinis testas viršijo 300s vykdymo laiko limitą. Beveik visada tai reiškia, kad kiekvienos žvakės apdorojimo darbas didėja kartu su istorijos ilgiu — pavyzdžiui, kaskart iš naujo peržiūrima visa finansavimo ar papildomų duomenų seka arba kiekvienoje žvakėje funkcijoje calculate_signal()/on_bar() iš naujo sudaromas sąrašas ir iškviečiamos min()/sorted() funkcijos. Iš anksto surūšiuokite laiko žymų masyvus ONCE funkcijoje __init__ ir naudokite bisect arba talpykloje saugokite paieškos rezultatus pagal laiko žymą, kad kiekvienos žvakės apdorojimo sąnaudos būtų O(log n), o ne O(n).

Patikra nepavyko (Layer 2 — sintetiniai scenarijai): Naudoti parametrai: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Patikrinkite, ar __init__ nustato visus atributus iš self.parameters.get(). - steady_uptrend: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tikisi 1 pozicinio argumento, bet gavo 2 (žvakės laiko žyma:……Rodyti daugiauRodyti mažiau

Patikra nepavyko (Layer 2 — sintetiniai scenarijai): Naudoti parametrai: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Patikrinkite, ar __init__ nustato visus atributus iš self.parameters.get(). - steady_uptrend: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tikisi 1 pozicinio argumento, bet gavo 2 (žvakės laiko žyma: 1735689600000) - steady_downtrend: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tikisi 1 pozicinio argumento, bet gavo 2 (žvakės laiko žyma: 1735689600000) - flat_ranging: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tikisi 1 pozicinio argumento, bet gavo 2 (žvakės laiko žyma: 1735689600000) - volatility_spike: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tikisi 1 pozicinio argumento, bet gavo 2 (žvakės laiko žyma: 1735689600000) - zero_volume: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tikisi 1 pozicinio argumento, bet gavo 2 (žvakės laiko žyma: 1735689600000) - price_gap: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tikisi 1 pozicinio argumento, bet gavo 2 (žvakės laiko žyma: 1735689600000)

„Stratmill“ yra tyrimų ir popierinės prekybos įrankis, o ne finansų konsultantas ar brokeris. Testavimo ir popierinės prekybos rezultatai yra hipotetiniai. Prekyba susijusi su nuostolio rizika.