Repository navigation
Przełącznik torCrypto: czyste wyłączanie toru crypto bez fałszywych alarmów (post-mortem crypto off) - #41
Merged
Conversation
…larmow Tor crypto zamkniety 18.10 (B-0 = STOP). Zamiast zdejmowac Deploymenty recznie - jeden przelacznik `torCrypto.enabled` w chartcie: - Deploymenty market/history/features/engine/dozorca maja `torCrypto: true` i znikaja razem z torem (`trader.workerWlaczony`, wspolny dla workers.yaml, networkpolicy.yaml i czujek), - skaner wiadomosci ZOSTAJE (equity bierze z niego ceche news_sent), traci tylko kanaly krypto (`--silniki` doklejane z `silnikiZTorow`), - trener, post-mortem, odswiezanie instrumentow, proba kill-switcha i czujki toru crypto w trader-zywotnosc - tylko przy wlaczonym torze, - dozor `--co zywotnosc` i `--co workery` dostaja z chartu liste wlaczonych procesow (`--workery-z-chartu`): wiersz pulsu procesu wylaczonego w chartcie (zostaje z `running`) nie daje `engine.down` ani "MARTWY dozorca"; bez flagi zachowanie bez zmian, - silnik toru zamknietego dopisuje do linii podsumowania cyklu "DOMYKANIE: pozycje/plany/zlecenia" albo "TOR DOMKNIĘTY" - warunek przelaczenia `torCrypto.enabled: false`. W tym commicie tor crypto NADAL chodzi (`torCrypto.enabled: true`), bo silnik moze miec otwarte pozycje na Bybit demo. Od razu wylaczony jest tylko post-mortem dla crypto (`postmortemCron.silniki: ["equity"]`). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017S4D5yYFQmJsfcLx14gnjE
…ii cyklu, pusta lista silnikow skanera - dozor: puls procesu spoza `--workery-z-chartu`, mlodszy niz jeden cykl procesu (silnik/dozorca: 5 min), to zepsute mapowanie nazw, nie wylaczenie - ostrzezenie `engine.down` (warning, raz na dobe) zamiast ciszy; test zgodnosci nazwy pulsu KAZDEGO workera danych z kluczem `workers` (regula potwierdzana w zrodle modulu), - loop: `stan_domykania` w savepoincie i z przechwyconym bledem - log mowi "DOMYKANIE: nie wiem (blad: ...)", a blad nie liczy sie do POD_RZAD_MAX ani nie psuje transakcji cyklu, - workers.yaml: pusta lista `silnikiZTorow` po filtrze to `fail` renderu, bo `--silniki ""` news_worker czyta jako wszystkie kanaly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017S4D5yYFQmJsfcLx14gnjE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Po co
Tor crypto zamknięty 18.10 (B-0 = STOP, #40 blokuje nowe wejścia demo). Potok dalej chodzi i kosztuje. Ten PR wprowadza jeden przełącznik
torCrypto.enabledw chartcie, który zdejmuje cały potok crypto bez fałszywych alarmów martwego procesu. W tym PR przełącznik zostaje natrue: silnik może mieć otwarte pozycje albo niewypełnione zlecenia na Bybit demo.Co jest wyłączone od razu (bezpieczne, equity tego nie potrzebuje)
postmortemCron.silniki: ["equity"]. To wywołania LLM na zamkniętych pozycjach toru, który nie ma już dokąd przekazać wniosków. Pozycji nie dotyka, bo tylko czyta zamknięte transakcje.Co NIE jest wyłączone, wbrew wstępnej rekomendacji
workers.newszostaje. Equity korzysta z newsów:features-equityliczynews_sentznews.article_analysisdla instrumentów equity, a sygnał i reżimnews_shock(signals.py) są wspólne dla obu silników. Trener equity uczy się na historii tej cechy. Wyłączenie skanera zostawiłoby silnik equity z luką w cesze, której model nie widział w treningu. PotorCrypto.enabled: falseskaner przestaje pobierać tylko kanały krypto (--silniki equity, ok. 80 z ~190 artykułów na dobę). Kanały equity i makro (Fed, EBC) zostają.news_sentobniża pokrycie wag silnika crypto (news_shockma wagę 0,10–0,14 poza reżimem newsowym) i przyMIN_POKRYCIE = 0,9może odkładać decyzje, także wyjścia z otwartych pozycji.Zależności toru equity od crypto i newsów (zbadane)
news(skaner)news_senti reżimnews_shock. Zostajemarket/history/featurescryptomarket-equity,history-equity,features-equity;features.pyfiltruje po--engine, ranking przekrojowy maengineobowiązkowodozorcacryptodozorca-equityma własny puls iRiskKernelfiltruje po engine/modekapital-equitykursCron)w_przodequity--engine equityinstrumentyCron,postmortemCronTest
test_RENDER_tor_equity_identyczny_w_obu_stanachpilnuje, że przełącznik nie zmienia żadnego Deploymentu equity.Mechanizm czystego wyłączenia
Dlaczego przełącznik w chartcie, a nie status
haltedw bazie: status musiałby ktoś ustawić. Proces ustawiający go sam przy SIGTERM robiłby to też przy każdym rolloucie i ewikcji. Pod, który potem nie wstanie, wisiałby z napisem „zatrzymany świadomie”, czyli głośna awaria zamieniona na cichą. Zamiar wyłączenia to konfiguracja wdrożenia, więc czujka bierze go z tego samego miejsca co Deployment. Migracja nie jest potrzebna.trader.workerWlaczony(_helpers.tpl) to jedna odpowiedź na pytanie „czy worker ma Deployment” (enabled+torCrypto). Korzystają z niejworkers.yaml,networkpolicy.yamlizywotnosc-cron.yaml.dozor.py --workery-z-chartu <lista>dla--co zywotnosci--co workery: wiersz pulsu procesu spoza listy (risk.engine_heartbeat,risk.dozorca_heartbeat,risk.worker_heartbeat) jest wypisywany jako „pomijam … wyłączony w chartcie” i nie dajeengine.down.brakujacy_dozorcynie oczekuje dozorcy toru wyłączonego. Bez flagi zachowanie jest dotychczasowe.torCrypto.enabled: falseztrader-zywotnoscznikają też wywołania toru crypto: świeżość, odłożone, decyzje, instrumenty, poślizg, uzgodnienie, cennikspot_euorazproba-killswitchaz--zadania.w_przodcrypto chodzi tylko przy włączonym torze. Bezhistory/featuresliczyłby się na zamrożonym panelu.probaCron: tylko przy włączonym torze, bo próba ćwiczy wyłącznie silnik crypto.Warunek przełączenia i jak go sprawdzić
Silnik toru zamkniętego dopisuje teraz do linii podsumowania cyklu stan z bazy (
loop.stan_domykania): otwarte pozycje, planypendingi zlecenianew/partial/unknown.… DOMYKANIE: otwarte pozycje N, plany oczekujące P, zlecenia w locie Z — silnika NIE wyłączać: jeszcze nie.… TOR DOMKNIĘTY: 0 otwartych pozycji, 0 planów, 0 zleceń w locie: można przełączać.Linia pojawia się dopiero po wdrożeniu obrazu z tego PR. Dziś log silnika nie wypisuje otwartych pozycji, jest w nim tylko
wyjścia Nw podsumowaniu.Jedna zmiana values, która wyłącza resztę potoku (osobny commit na
main, po linii „TOR DOMKNIĘTY” w kilku kolejnych cyklach):Zdejmuje to
trader-market,trader-history,trader-features,trader-engine,trader-dozorcaitrader-proba-killswitcha, kanały krypto wtrader-newsoraz tor crypto w trenerze, instrumentach i czujkach.Testy
tests/test_chart_tor_crypto.py(17 testów): render helmem w obu stanach, equity identyczne, czujki z listą procesów i bez niej,brakujacy_dozorcy, parser flagi,opis_domykania,stan_domykaniana prawdziwej bazie.wylaczony_w_chartciena sztywnoFalse→ 3 testy padają.torCrypto→ 3 testy renderu padają.test_postmortem: wymagana lista silników = silniki bez zamkniętego toru.db/migrate.py,ruff check .czysto,python -B -m pytest tests/ -o faulthandler_timeout=300daje 3904 passed, 0 skipped.Wątpliwości / do decyzji
running, coraz starszy). To kosmetyka, alarmów nie ma.proba_killswitcha.pyćwiczy crypto. Wariant equity to osobna decyzja.--co ryzyko. To celowe: stan wymaga człowieka.newszmieniona zsh -c "exec python …"na argv (żeby dokleić--silniki). Proces ten sam, dlatego Deploymenttrader-newszrestartuje się przy synchronizacji.🤖 Generated with Claude Code
https://claude.ai/code/session_017S4D5yYFQmJsfcLx14gnjE