Detectar steam moves de Pinnacle vía API
Respuesta: streamee el libro en Builder, guarde un high rodante por outcome, y alerte cuando el decimal se acorte ≥5% en ~2 minutos con maxStake suficiente (p. ej. ≥100). O haga poll de GET /v1/drops?sport=soccer&live=true&minutes=10&min_pct=5. Detector completo: guía steam.
Definición práctica#
- Caída de precio ≥ 5% desde el high de ventana (
MIN_DROP). - Ventana ≈ 2 minutos (
WINDOW_S). - Prefiera mercados con max stake significativo para no spamear líneas finas.
- Alerta una vez por outcome y ventana.
Señal estadística de monitores sharp — ni tip ni garantía de +EV.
Esquema WebSocket (Builder)#
Reutilice el cliente compartido de la guía Python (on_market):
# Example outline — full steam.py is in the steam guide
from collections import defaultdict, deque
import time
WINDOW_S, MIN_DROP, MIN_STAKE = 120, 0.05, 100
hist = defaultdict(deque) # key -> deque[(ts, decimal)]
def on_market(old, new, event):
if not event or (new.get("maxStake") or 0) < MIN_STAKE:
return
now = time.time()
for o in new["outcomes"]:
if o["name"] not in {"home", "away", "draw", "over", "under"}:
continue
k = (new["id"], o["name"])
q = hist[k]
q.append((now, o["decimal"]))
while q and now - q[0][0] > WINDOW_S:
q.popleft()
peak = max(p for _, p in q)
drop = (peak - o["decimal"]) / peak
if drop >= MIN_DROP:
print(f"STEAM {event['home']} v {event['away']} {new['type']} {o['name']}: "
f"{peak:.3f} -> {o['decimal']:.3f} ({drop:.1%}) max {new.get('maxStake')}")
q.clear() # one alert per window
CTA#
Builder (€99/mes). Prueba de 3 días; tarjeta requerida. REST gratis: signup. Relacionado: dropping odds, steam Telegram.
Preguntas frecuentes#
¿Basta Free?#
Para /v1/drops sí (retraso 30 s). El detector WS en tiempo real pide Builder.
¿Contenido educativo para adultos?#
Sí (18+).
Contenido educativo para mayores de 18 años. Sin pronósticos ni ganancias garantizadas. En España, apuesta solo con operadores con licencia de la DGOJ.