Files
trade-doc/spot-mvp.html
2026-01-06 12:33:47 +01:00

212 lines
6.7 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="pl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Bot SPOT na Solanie: skan 10/50 par (MVP)</title>
<style>
:root {
color-scheme: light dark;
--bg: #0b1020;
--panel: rgba(255, 255, 255, 0.06);
--text: rgba(255, 255, 255, 0.92);
--muted: rgba(255, 255, 255, 0.68);
--accent: #7c3aed;
--border: rgba(255, 255, 255, 0.12);
--shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
@media (prefers-color-scheme: light) {
:root {
--bg: #f6f7fb;
--panel: rgba(0, 0, 0, 0.04);
--text: rgba(0, 0, 0, 0.88);
--muted: rgba(0, 0, 0, 0.62);
--accent: #6d28d9;
--border: rgba(0, 0, 0, 0.10);
--shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
}
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial,
"Apple Color Emoji", "Segoe UI Emoji";
line-height: 1.55;
background: radial-gradient(1200px 600px at 20% -10%, rgba(124, 58, 237, 0.28), transparent),
radial-gradient(900px 500px at 95% 10%, rgba(59, 130, 246, 0.18), transparent),
var(--bg);
color: var(--text);
}
.container {
max-width: 980px;
margin: 48px auto;
padding: 0 18px;
}
header {
padding: 22px 22px 18px;
border: 1px solid var(--border);
background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03));
border-radius: 16px;
box-shadow: var(--shadow);
}
h1 {
font-size: 26px;
margin: 0 0 6px;
letter-spacing: -0.01em;
}
.subtitle {
margin: 0;
color: var(--muted);
}
main {
margin-top: 18px;
display: grid;
gap: 14px;
}
section {
border: 1px solid var(--border);
background: var(--panel);
border-radius: 16px;
padding: 18px 18px 16px;
}
h2 {
margin: 0 0 10px;
font-size: 18px;
letter-spacing: -0.01em;
}
ul,
ol {
margin: 8px 0 0 18px;
padding: 0;
}
li {
margin: 6px 0;
}
code,
pre {
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
"Courier New", monospace;
font-size: 0.95em;
}
code {
padding: 0.05em 0.35em;
border-radius: 8px;
border: 1px solid var(--border);
background: rgba(0, 0, 0, 0.18);
}
pre {
margin: 10px 0 0;
padding: 12px 12px;
border-radius: 12px;
border: 1px solid var(--border);
background: rgba(0, 0, 0, 0.18);
overflow: auto;
}
.pill {
display: inline-block;
padding: 0.12em 0.55em;
border-radius: 999px;
border: 1px solid var(--border);
background: rgba(124, 58, 237, 0.12);
color: var(--text);
font-weight: 650;
font-size: 12px;
vertical-align: middle;
}
</style>
</head>
<body>
<div class="container">
<header>
<h1>Bot SPOT na Solanie (MVP)</h1>
<p class="subtitle">
Analiza dziesiątek par → ranking → wybór TOP 10 sygnałów wejścia. Start na SPOT zwykle
jest bezpieczniejszy i prostszy niż PERPS.
</p>
</header>
<main>
<section>
<h2>Dlaczego SPOT jest lepszy na start <span class="pill">praktycznie</span></h2>
<ul>
<li><strong>Brak likwidacji</strong> (największy “killer” na perpsach).</li>
<li>Prostsze koszty: <strong>swap fee + slippage + fee Solany</strong>.</li>
<li>Łatwiej zrobić stabilny ranking (płynność / volatility / volume) i testować strategię.</li>
</ul>
</section>
<section>
<h2>Jak to zrobić praktycznie na Solanie (stack)</h2>
<ul>
<li><strong>Jupiter</strong> jako egzekucja swapów (routing po DEX-ach, najlepsza cena).</li>
<li><strong>Helius</strong> jako RPC do wysyłki transakcji + monitoring (potwierdzenia, logi).</li>
<li>
Dane do sygnałów:
<ul>
<li>najprościej: OHLCV + volume z zewnętrznych market data (szybko),</li>
<li>albo: on-chain (trudniej, ale najbardziej “raw”).</li>
</ul>
</li>
</ul>
</section>
<section>
<h2>Zasady bezpieczeństwa na SPOT (żeby bot nie palił kapitału)</h2>
<ol>
<li><strong>Filtr płynności</strong>: nie wchodź w pary z małą płynnością (slippage zabije edge).</li>
<li><strong>Limit slippage</strong>: ustaw twardy max (np. 0.31% zależnie od tokenów).</li>
<li><strong>Cooldown po transakcji</strong>: unikniesz “mielenia” (overtrading).</li>
<li><strong>Blacklist</strong>: wyklucz tokeny z anomaliami (freeze, podatki transferowe, honeypoty itd.).</li>
<li><strong>Rozmiar pozycji ∝ płynność</strong>: im mniejsza płynność, tym mniejszy notional.</li>
</ol>
</section>
<section>
<h2>Prosty wzór rankingu “TOP 10” na SPOT (na start)</h2>
<pre><code>Score_i = μ_i - (fee_i + slip_i + net_i) - λ · risk_i</code></pre>
<ul>
<li><code>μ_i</code> = przewidywany zwrot z Twojego sygnału (np. momentum / mean reversion)</li>
<li><code>fee_i</code> = koszt swapów (wejście + wyjście)</li>
<li><code>slip_i</code> = oczekiwany slippage / price impact (wejście + wyjście)</li>
<li><code>net_i</code> = koszt sieci / priority (mały, ale rośnie przy częstych tradeach)</li>
<li><code>risk_i</code> = kara za ryzyko (np. ATR/volatility)</li>
<li><code>λ</code> = jak mocno karzesz ryzyko</li>
</ul>
</section>
<section>
<h2>Kiedy przechodzić na PERPS (Drift)</h2>
<p class="subtitle">
Dopiero gdy na SPOT masz stabilny pipeline danych, umiesz liczyć realny koszt wejścia/wyjścia i
masz sensowny EV/winrate — wtedy warto dodać shorty + dźwignię na perpsach.
</p>
<ul>
<li>stabilny pipeline danych</li>
<li>realne koszty wejścia/wyjścia (slippage + fees)</li>
<li>sensowny winrate/EV</li>
<li>chęć dodania shortów + dźwigni</li>
</ul>
</section>
</main>
</div>
</body>
</html>