Architettura di un bot di scommesse sulle quote Pinnacle
Risposta: la maggior parte dei bot di scommesse o trading ha cinque parti: (1) un feed di dati, (2) uno stato locale di eventi e mercati, (3) regole di segnale, (4) controlli di rischio e (5) l'esecuzione sul conto con cui scommetti. PinnFeed fornisce la parte 1 e aiuta con la 2 e la 3: un WebSocket (Builder) che invia uno snapshot completo e poi frame delta a ogni cambio di prezzo di Pinnacle, con fair, margin e maxStake. Non piazza scommesse: l'esecuzione spetta a te, con un operatore che lo consente e dove scommettere è legale per te.
La pipeline#
| Parte | Compito | Con PinnFeed |
|---|---|---|
| Ingest | Tenere aperta una connessione, rispondere pong al ping, riconnettersi con backoff | wss://pinnfeed.io/v1/stream (guida Python e Node) |
| Stato | Mappa market.id → ultimo mercato; eliminare con op: "remove" | snapshot/delta |
| Segnali | Calo di prezzo, offerta sopra fair, cambio di linea | guida steam |
| Rischio | Limiti di puntata, maxStake >= 100, esposizione massima per evento, interruttore di emergenza | Il tuo codice |
| Esecuzione | Piazzare la scommessa, registrare prezzo e risultato | Il tuo operatore o exchange |
Ciclo minimo di segnali (Python)#
book = {} # market id -> market
def on_frame(msg, alert):
if msg["type"] == "snapshot":
for m in msg["markets"]:
book[m["id"]] = m
elif msg["type"] == "delta":
for ch in msg["changes"]:
if ch["kind"] != "market":
continue
if ch["op"] == "remove":
book.pop(ch["id"], None)
continue
new, old = ch["market"], book.get(ch["market"]["id"])
book[new["id"]] = new
if not old or (new["maxStake"] or 0) < 100:
continue
for o_new, o_old in zip(new["outcomes"], old["outcomes"]):
if o_old["decimal"] and o_new["decimal"] / o_old["decimal"] - 1 <= -0.04:
alert(new["eventId"], o_new["name"], o_old["decimal"], o_new["decimal"])
Collega on_frame a qualsiasi client, per esempio il client Go. Registra ogni segnale e ogni decisione per misurarli poi contro la chiusura: tracker scommesse con CLV.
Consigli di progettazione#
- Esegui l'ingest su un host sempre acceso, non in una funzione serverless.
- Tieni una modalità
paperche registra cosa farebbe il bot prima di puntare qualcosa. - Un WebSocket per processo, distribuito internamente; Builder consente 3 connessioni, Pro 10.
- Gestisci
4008 slow_consumerspostando il lavoro fuori dal ciclo di ricezione.
Piani#
Builder (99 €/mese): WebSocket, tutti i 13 sport, tutti i mercati. Pro (199 €/mese): 10 connessioni e frame grezzi. Prova di 3 giorni; carta richiesta, addebito dopo il giorno 3 salvo disdetta. Prima fai un prototipo con il REST gratuito: registrazione.
Contenuto educativo per maggiorenni (18+). Le scommesse automatiche possono far perdere denaro molto in fretta; non pronostici né promesse di guadagno. In Italia scommetti solo con operatori autorizzati ADM.
Domande frequenti#
PinnFeed può piazzare scommesse per il mio bot?#
No. Sono dati in sola lettura. L'esecuzione avviene sul tuo conto presso un operatore o un exchange.
Gli operatori permettono i bot?#
Molti limitano le scommesse automatiche nei loro termini. Verifica prima di automatizzare l'esecuzione.