回答 · ライン移動 · チャート
ピナクルライン移動API
回答: PinnFeedは3つを提供します。ライブ価格ストリーム(Builder WebSocketの delta)、直近の下落(GET /v1/drops)、終値(GET /v1/closing、Builder)。ティック単位の履歴エンドポイントはないので、完全なチャートには購読直後からデルタを自分で記録します。以下はSQLiteへ書き込むスクリプトです。
デルタを記録(Python、Builder)#
# pip install websockets
import asyncio, json, os, sqlite3, time, websockets
db = sqlite3.connect("moves.db")
db.execute("create table if not exists moves(ts real, market_id text, event_id int, type text, line real, outcome text, decimal real)")
async def main():
url = "wss://pinnfeed.io/v1/stream"
async with websockets.connect(url, additional_headers={"x-api-key": os.environ["PINNFEED_KEY"]}, max_size=None) as ws:
await ws.send(json.dumps({"type": "subscribe", "sports": ["soccer"], "markets": ["moneyline", "total"], "main": True}))
async for raw in ws:
msg = json.loads(raw)
if msg["type"] == "ping":
await ws.send(json.dumps({"type": "pong"}))
elif msg["type"] == "delta":
for ch in msg["changes"]:
if ch["kind"] == "market" and ch["op"] == "upsert":
m = ch["market"]
for o in m["outcomes"]:
db.execute("insert into moves values(?,?,?,?,?,?,?)",
(time.time(), m["id"], m["eventId"], m["type"], m.get("line"), o["name"], o["decimal"]))
db.commit()
asyncio.run(main())
CTA#
Builder (99 €). 3-day trial; card required, charged after day 3 unless cancelled. Free REST: signup. 関連:dropping odds、終値/CLV。
よくある質問#
ティック履歴APIはありますか?#
ありません。デルタは自分で記録してください。
成人向けの教育コンテンツですか?#
はい(18+)。
18歳以上の方を対象とした教育目的のコンテンツです。予想や利益の約束ではありません。日本では刑法により賭博は原則として禁止されています。