Automat handluje sam, mikroskopijnymi porcjami, na prawdziwej giełdzie Hyperliquid. Gra kilkoma rodzinami strategii naraz (piramidy trendowe, przekrojowy momentum, noże i zasadzki QFL, drabinki, odwrotne piramidy) — pełna lista z wynikami jest niżej, w sekcji „Strategie i ich wynik”. Stan konta i krzywa kapitału są poniżej — realne saldo z giełdy, czytane co minutę, a pod nim pozycje, stopy, wyniki strategii i pełny dziennik.
ładowanie danych…
| strategia | moneta | strona / stan | porcje | ilość | dźwignia | wartość pozycji $ | margin $ | średnia | mark | PnL otwarte | stop giełdowy | best | od kiedy |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ładowanie… | |||||||||||||
UZBROJONA (szara plakietka) = zasadzka: zlecenia wejścia — tzw. szczeble — leżą już w arkuszu giełdy (albo czekają wirtualnie w silniku), ale pozycji jeszcze NIE MA: ilość wynosi 0 i nic nie jest kupione. Otworzy się dopiero, gdy kurs zejdzie na któryś szczebel („knot” — chwilowe szarpnięcie ceny w dół). Dlatego w takim wierszu zamiast średniej, marku, PnL i stopu — które przy zerowej ilości nic nie znaczą — pokazujemy bazę (potwierdzony poziom odbicia, od którego odmierzamy szczeble) i licznik N/M szczebli (ile jeszcze czeka z ilu rozstawionych). Przykład: „5/5 szczebli, baza 76 234,0” znaczy: pięć zleceń kupna rozstawionych pod bazą 76 234 $, żadne jeszcze nie weszło. Przy pozycji już otwartej dopisek „+N szczebli w arkuszu” mówi, ile dokupujących zleceń wciąż czeka — czyli o ile pozycja może jeszcze urosnąć. Porcje = ile dokładek już weszło. Dźwignia = ile razy pozycja jest większa od zablokowanego depozytu (10× znaczy: za 1 $ własnych pieniędzy kontrolujemy 10 $ rynku). Wartość pozycji (fachowo: nominał) = ile realnie „pracuje" na rynku i od tej kwoty liczy się zysk lub strata. Margin = ile z konta jest pod to zablokowane, czyli wartość pozycji podzielona przez dźwignię. Przykład: porcja o wartości 24 $ przy dźwigni 10× blokuje z konta tylko 2,40 $ — ale jeśli cena spadnie o 10%, tracimy 2,40 $, czyli całe te 10% liczone od 24 $, a nie od 2,40 $. Stop giełdowy leży fizycznie na giełdzie, a procent obok mówi, jak daleko jest od bieżącej ceny (np. „−10,6%" = cena musi spaść o 10,6%, żeby stop strzelił). Best = najlepsza cena osiągnięta od otwarcia — od niej liczy się stop kroczący. PnL otwarte to wynik niezrealizowany: zniknie albo urośnie razem z rynkiem.
Strategie z plakietką PAPIER liczą się na prawdziwych danych rynkowych, ale nie składają zleceń na giełdzie — przechodzą na realne zlecenia dopiero po okresie próbnym. Plakietka LIVE znaczy, że ta strategia gra prawdziwymi pieniędzmi.
ładowanie…
Wyniki od startu bieżącej księgi silnika. Każda karta ma plakietkę: LIVE = realne zlecenia, ten wynik zmienia stan konta; PAPIER = symulacja na prawdziwych cenach, bez zleceń — ten wynik nie jest pieniędzmi na koncie. PnL otwarty = wynik pozycji, które wciąż żyją (zmienny). PnL zamknięty = wynik zaksięgowany, po prowizjach. Wygrane = ile z zamkniętych transakcji wyszło na plus.
Poślizg (ang. slippage) to różnica między ceną widzianą tuż przed wysłaniem zlecenia a ceną, po której giełda naprawdę je wypełniła — podajemy ją w bps (punktach bazowych, 1 bps = 0,01%), zawsze ze znakiem tak dobranym, że plus = gorzej dla nas; przykładowo 10 bps to 0,1%, czyli 1,2 centa straty na porcji za 12 dolarów. Ta tabela jest naszym testem sporu „czy monetami o niskiej płynności da się handlować”: zamiast je odfiltrowywać, gramy nimi i porównujemy tutaj wykonanie — jeśli wiersze niska mają wyraźnie większy poślizg albo więcej zleceń bez fillu (bez wypełnienia) niż wiersze ok, to niska płynność realnie nas kosztuje.
| płynność | rodzaj zlecenia | liczba zleceń | wypełnione | bez fillu | średni poślizg (bps) | maks. poślizg (bps) |
|---|---|---|---|---|---|---|
| ładowanie… | ||||||
| kiedy | strategia | moneta | strona | porcje | średnia | wyjście | PnL $ | prowizje | powód |
|---|---|---|---|---|---|---|---|---|---|
| ładowanie… | |||||||||
Powody wyjścia: TRAIL — zadziałał stop kroczący (zysk/strata zabrana przez naszą pętlę) · RECON-GONE — pozycji nie ma już na giełdzie, czyli wykonał się stop leżący na giełdzie · KILL — ręczny wyłącznik bezpieczeństwa spłaszczył pozycje · DAILY-LIMIT — przekroczony dzienny limit straty, silnik zamknął wszystko i się zatrzymał. PnL jest po prowizjach (kolumna „prowizje" pokazuje, ile ich było łącznie).
Pełna lista kontraktów wieczystych (perpetuals) dostępnych na giełdzie — gramy wszystkimi. Monet o słabej płynności już nie odfiltrowujemy: oznaczamy je i mierzymy, jak realnie wykonują się na nich zlecenia (sekcja „Jakość wykonania zleceń (realne)” wyżej). Płynność ok = obrót 24h ≥ 1 mln $, spread wpływu (o ile nasze zlecenie ruszy cenę) ≤ 0,3% oraz otwarte pozycje na rynku (open interest) ≥ 1 mln $; niska = któryś z tych warunków niespełniony, czyli spodziewamy się gorszej ceny wejścia i wyjścia. W uniwersum = silnik bierze monetę pod uwagę przy skanie. Domyślnie posortowane po obrocie z ostatniej doby; kliknij nagłówek kolumny, żeby posortować inaczej.
| ładowanie… |
Ostatnie wpisy, najnowsze u góry. ALARM = awaria lub zadziałanie bezpiecznika · TRADE = realne zlecenie (otwarcie, dokładka, zamknięcie) · SIGNAL = wykryty sygnał wejścia · WARN = ostrzeżenie (np. giełda nie zna symbolu) · INFO = normalna praca (skany, odnawianie stopów).
Co robi silnik: co minutę pyta giełdę o ceny, a raz na godzinę skanuje płynne monety i szuka wybicia 20-dniowego szczytu (cena wyższa niż wszystko z ostatnich 20 dni). Jak znajdzie — kupuje pierwszą małą porcję, a potem dokłada kolejną porcję co kilka procent wzrostu, do ustalonego limitu porcji. Wychodzi dopiero, gdy cena spadnie o kilkanaście procent od swojego szczytu (stop kroczący). To jest strategia „PL — piramida trendowa LONG". Jej lustro „PS — piramida trendowa SHORT" gra dokładnie odwrotnie i tylko wtedy, gdy rynek jest w trendzie spadkowym. Dokładne liczby (wielkość porcji, liczba porcji, krok dokładki, stop) są zawsze na górze w kafelku „Ustawienia silnika" — czytamy je wprost z konfiguracji silnika, więc nie mogą się rozjechać z rzeczywistością.
Przykład: kupujemy monetę po 100 $. Rośnie do 102 $ → dokładamy drugą porcję. Do 104 $ → trzecią. Do 106 $ → czwartą i koniec dokładania. Cena jedzie do 130 $ i zawraca — sprzedajemy przy 114,40 $ (12% pod szczytem 130 $). Zysk zostaje, ale zawsze oddajemy rynkowi ostatnie 12% ruchu; to cena za to, że nie ucinamy trendu za wcześnie.
Po co dźwignia: giełda pozwala kontrolować pozycję większą niż wpłacony depozyt. Przy dźwigni 10× porcja warta 24 $ blokuje z konta 2,40 $. Zysk i strata liczą się od pełnych 24 $, więc dźwignia powiększa obie strony tak samo — dlatego porcje są celowo mikroskopijne, a pod każdą pozycją leży twardy stop na giełdzie. Tryb cross znaczy, że wszystkie pozycje dzielą wspólny depozyt konta (a nie każda swój osobny) — jest bezpieczniejszy przed przypadkową likwidacją pojedynczej pozycji, ale wiąże je ze sobą.
Czerwony przycisk „ZAMKNIJ WSZYSTKIE POZYCJE": to awaryjny wyłącznik dostępny z tej strony. Po podaniu PIN-u operatora odkłada w chmurze Cloudflare komendę, którą silnik odczytuje przy najbliższym takcie (czyli w ciągu ok. minuty) — wtedy zamyka po cenie rynkowej wszystkie swoje pozycje i przechodzi w stan HALT, czyli przestaje otwierać nowe. Wznowienie handlu nie jest możliwe z tej strony — musi je zrobić człowiek przy serwerze. PIN nigdy nie jest zapisany w kodzie strony: leży jako sekret po stronie Cloudflare, a strona wysyła go tylko do sprawdzenia. Pięć błędnych prób blokuje dany adres IP na godzinę.
Bezpieczniki (w tej kolejności):
STOP na serwerze albo komendy z czerwonego przycisku powoduje, że silnik anuluje zlecenia, zamyka wszystkie swoje pozycje po cenie rynkowej i przestaje handlować, aż człowiek go odblokuje. Wtedy na górze tej strony zapala się czerwony pasek.DAILY-LIMIT), zapisuje plik STOP i wchodzi w halt. Jest też twarda podłoga kapitału, poniżej której robi to samo (sam poziom to ustawienie silnika, nie ma go na stronie).Tryb pracy: DRY-RUN znaczy „papier" — silnik liczy wszystko naprawdę, ale nie wysyła zleceń na giełdę; to bieg próbny. LIVE (czerwona plakietka) znaczy, że idą prawdziwe pieniądze. Aktualny tryb zawsze widać w plakietce na górze strony.
Stan konta na stronie: od 5 września 2026 pokazujemy realne saldo konta i krzywą kapitału — decyzja właściciela, bo bez tej liczby reszta nie ma sensu. Strona jest publiczna, więc każdy, kto zna adres, widzi wielkość konta; nie daje to żadnej możliwości ruszenia środków (klucz, którym handluje silnik, nie ma prawa wypłat, a wypłata wymaga podpisu właściciela portfela). Kapitał = saldo w USDC + niezrealizowany wynik otwartych pozycji, czytany z giełdy co minutę. Krzywa zaczyna się od pierwszego zapisu silnika w bieżącej księdze; przy starcie realnego turnieju księga jest zerowana, więc krzywa startuje od dnia startu.
Świeżość danych — trzy stany, nie dwa: silnik zapisuje swój stan do pliku co minutę, publiczna kopia tego pliku jedzie na GitHuba co ~5 minut, a ta strona pobiera obie kopie naraz (tę z GitHuba i tę leżącą na serwerze strony) i pokazuje tę, która ma nowszy zapis silnika; widok odświeża się sam co 60 sekund (stan komendy STOP — co 15 sekund). Plakietka „ostatni tick" liczy wiek od momentu, w którym silnik zapisał stan, i ma trzy stany: zielony do 8 minut — normalna praca; bursztynowy od 8 do 20 minut — kopia publiczna jest opóźniona, co niemal zawsze znaczy zadławienie GitHuba albo przesunięty cron publikacji, a nie awarię silnika; czerwony powyżej 20 minut — dopiero tu mówimy „możliwa awaria", i to nadal albo silnika, albo publikacji, bo z publicznej strony tych dwóch rzeczy nie da się rozróżnić.
Skąd te progi: 5 września GitHub przez kilkanaście minut oddawał błędy 502/504, przez co kopia publiczna zestarzała się do 6 minut — a silnik przez cały ten czas tykał co minutę. Stara wersja tej strony pisała wtedy czerwone „silnik nie tyka!", czyli myliła opóźnioną publikację z awarią silnika. Stąd dwa progi zamiast jednego: 8 minut to zapas na jedno przespane okno publikacji (5 min) plus margines, a 20 minut to już cztery przespane okna — wtedy alarm jest uzasadniony.
Prawdziwy czujnik życia silnika jest gdzie indziej: ta strona widzi tylko kopię publiczną, więc nie ona pilnuje silnika. Robi to osobny alarm heartbeat na serwerze: co 5 minut sprawdza lokalny plik stanu i jeśli ten nie odświeżył się od 10 minut, wysyła operatorowi alarm (drugi, łagodniejszy alarm informuje osobno, gdy to sama publikacja stoi dłużej niż 15 minut — wtedy wiadomo, że silnik żyje, a zacięła się wysyłka). Dlatego bursztynowa plakietka na tej stronie nie oznacza, że nikt nie patrzy — oznacza, że patrzy ktoś inny niż ta strona.
Mała szara linia pod plakietkami: mówi wprost, skąd wzięliśmy dane i jak stare są oba znaczniki czasu — opublikowano = kiedy powstała kopia publiczna (moment filtra prywatności), zapisano = kiedy silnik naprawdę zapisał stan. Przykład: „źródło: gist · opublikowano 6 min temu · zapisano 6 min temu" znaczy, że publikacja się spóźniła; „opublikowano 6 min temu · zapisano 45 s temu" znaczy, że kopia jest świeża, tylko strona nie pobrała jej jeszcze ponownie.
Wygenerowano przez Satoshi ⚡. Nic tu nie jest poradą inwestycyjną. Konto realne, kwoty mikroskopijne, saldo publikowane na życzenie właściciela.