OS Layer Crypto

OS Layer Crypto

Včerajší maratón: od timeoutu k živému crypto systému

Včera to mal byť „ešte jeden malý update“. Nakoniec z toho vznikol celkom slušný vývojársky maratón, po ktorom som už iba odkvecol.

Výsledok však stojí za to: môj OS Layer má samostatný crypto watcher, živé grafy, cenové alerty a Board, na ktorom vidím stav viacerých profilov v reálnom čase.

Najlepšie na tom je, že sme sa nesnažili pohyb trhu predstierať. Systém dnes ukazuje presne to, čo na burze naozaj existuje.

Nekonečný proces nepatrí do krátkeho Runtime execution

Prvá verzia market.watch bežala ako bežná funkcia cez Runtime. Technicky fungovala, ale watcher je nekonečný proces a Runtime execution má svoj časový limit.

Výsledok bol predvídateľný: po určitom čase prišiel timeout a proces skončil.

Riešením nebolo zväčšiť timeout. Watcher dostal vlastný životný cyklus.

Každý crypto profil má teraz samostatný, reštartovateľný proces:

coinmate-main   → crypto-watcher
coinmate-pihi   → crypto-watcher
coinmate-sofia  → crypto-watcher
binance-main    → crypto-watcher

Watcher každých päť sekúnd načíta verejný ticker, uloží quote a aktualizuje 1-minútové, 5-minútové, hodinové a denné sviečky.

Nepotrebuje privátne API kľúče a nikdy neposiela obchodný príkaz. Jeho jedinou úlohou je pozorovať trh a vytvoriť spoľahlivý dátový základ.

To je dôležitá hranica: zber dát, rozhodovanie a exekúcia nesmú byť jeden nerozdeliteľný proces.

Alert funguje, ale ešte nie je trading bot

K watcheru pribudli trvalé cenové alerty typu above a below.

Alert prežije reštart, eviduje poslednú cenu a pri prekročení hranice vytvorí auditovateľnú doménovú udalosť.

Stále však nič neobchoduje. Alert iba hovorí:

Nastala podmienka, ktorú si nastavil.

To je presne správanie, ktoré chcem pred budúcim crypto botom. Najprv kvalitné dáta a deterministické udalosti, až potom matematická stratégia, risk limity a prípadný order.submit.

Najrovnejší graf na svete

Binance graf vyzeral živo, ale všetky Coinmate profily kreslili dokonale rovnú čiaru.

Watcher pritom bežal, dáta boli čerstvé a alert fungoval.

Graf nebol pokazený. Kreslil last trade.

Na likvidnom Binance sa posledná zobchodovaná cena mení prakticky neustále. Na redšom Coinmate môže posledný obchod stáť dlhšie na jednej hodnote, hoci sa ponuky na nákup a predaj medzitým menia.

Rovná čiara teda hovorila pravdu — iba nie tú časť trhu, ktorú som chcel sledovať na živom grafe.

Pre grafové sviečky preto používam midpoint:

midpoint = (best bid + best ask) / 2

Midpoint ukazuje pohyb order booku bez toho, aby systém predstieral, že prebehol obchod.

Alerty naopak zostali striktne založené na last trade. Obe veličiny sú v rozhraní jasne označené a staré last sviečky sa nemiešajú s novými midpoint dátami.

Toto je detail, ktorý sa ľahko prehliadne. Presne takéto detaily však rozhodujú o tom, či observability systém iba pekne vyzerá, alebo sa mu dá veriť.

Board ako okno do živého systému

Crypto už má v Boarde vlastné profily, hodnotu portfólia, čerstvosť dát, udalosti a prepínateľné grafy pre 1H, 24H, 7D a 30D.

Nový graf sa zobrazí už po druhom sample a pri rozbiehaní histórie dočasne použije jemnejšie 1-minútové dáta.

Do hlavičky pribudol aj hostname:

OS Layer Board 1.12 · odin

Je to maličkosť, kým nemáš rovnaký Board otvorený na lokálnom stroji aj VPS. Potom je presná identita node jedna z prvých vecí, ktoré chceš vždy vidieť.

Board pritom zostáva read-only.

Nevolá burzu, nespúšťa watchery a nemení crypto databázu. Len pozoruje a skladá súvislosti.

Observability nástroj by nemal svojím refreshom vytvárať ďalšie udalosti v systéme, ktorý sleduje.

Čo z toho zostalo

Po jednom maratóne mám:

  • samostatný watcher pre každý profil;
  • automatický reštart a päťsekundový polling;
  • trvalé cenové alerty;
  • hash-chain udalosti pri triggeri;
  • živé midpoint grafy bez vymysleného pohybu;
  • oddelené významy midpoint a last trade;
  • read-only Crypto pohľad v Boarde;
  • hostname node priamo v hlavičke.

Posledný veľký diel skladačky bude crypto bot.

Ani ten však nemá byť AI, ktorá háda smer trhu. Chcem čistú matematiku:

watcher → sviečky → signál → risk limity → intent → exekúcia

Najprv replay a backtest, potom paper režim a až nakoniec malé reálne sumy.

Ak stratégia po započítaní spreadu a poplatkov nevychádza, správne rozhodnutie bota je neurobiť nič.

Kostra systému už stojí.

Teraz prichádza asi najkrajšia fáza vývoja: pozorovať vlastný systém v reálnej prevádzke, merať jeho správanie a robiť malé, presné úpravy.

Marek Mihók