bingx-coinm-ws-market について
BingX Coin-M無期限先物の公開リアルタイム市場データをWebSocketで購読するスキルです。認証なしで複数の市場データチャンネルを利用でき、銘柄や板の深さ、時間足の検証方法も記載しています。
主な機能
- 01リアルタイム取引と価格の配信
- 02板の深さと最良気配値
- 03Kラインの更新
- 0424時間ティッカー統計
- 05複数チャンネルの購読
- 06銘柄とパラメーターの検証案内
活用シーン
- 01Coin-Mの取引と価格の監視
- 02板の深さと最良気配値の追跡
- 03指定した時間足のローソク足受信
- 0424時間の市場統計の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bingx-api/ api-ai-skills --skill bingx-coinm-ws-marketインストール後、Claude Code で/bingx-coinm-ws-marketを入力して読み込まれたか確認します。
同梱ファイルapi-reference.md
詳細
BingX Coin-M WebSocket 市場データ
BingX のコイン建て(インバース)無期限先物のリアルタイム市場データストリームを WebSocket 経由で提供します。認証は不要です。
WebSocket エンドポイント: wss://open-api-cswap-ws.bingx.com/market
シンボル形式: Coin-M では
BTC-USD形式を使用します(BTC-USDTではありません)。
クイックリファレンス
| チャネル | dataType 形式 | 説明 | プッシュ頻度 |
|---|---|---|---|
| 取引 | {symbol}@trade | 最新の取引詳細 | リアルタイム |
| 最終価格 | {symbol}@lastPrice | 最新の取引価格 | リアルタイム |
| マーク価格 | {symbol}@markPrice | 最新のマーク価格 | リアルタイム |
| 板情報 | {symbol}@depth{level} | 限定的な注文板の深さ | 更新時 |
| 板ティッカー | {symbol}@bookTicker | 最良買値/売値と数量 | リアルタイム |
| Kライン | {symbol}@kline_{interval} | OHLCV ローソク足 | 更新時 |
| 24時間ティッカー | {symbol}@ticker | 24時間の価格変動統計 | 1秒ごと |
パラメーター
共通パラメーター
- symbol:
BASE-USD形式の取引ペア(例:BTC-USD、ETH-USD、SOL-USD)
列挙値
- depth level:
5|10|20|50|100 - kline interval:
1m|3m|5m|15m|30m|1h|2h|4h|6h|8h|12h|1d|3d|1w|1M
パラメーターの検証ルール
- symbol:
^[A-Z0-9]+-USD$に一致する必要があります。最大 20 文字です(例:BTC-USD) - level:
5、10、20、50、100のいずれかである必要があります - interval(kline):上記の kline 列挙値のいずれかと完全に一致する必要があります
クイックスタート
WebSocket 接続: 接続の基本、GZIP 解凍、Ping/Pong ハートビートについては、references/websocket.md を参照してください。
TypeScript ヘルパー:
制約: コードを生成する際は、以下の
connectCoinmWsMarket関数をそのままコピーする必要があります。 WebSocket や解凍のロジックを書き換えないでください。 変更できるのは次の項目のみです:(1)関数に渡すサブスクリプションチャネル。
import * as pako from "pako";
function decompress(data: ArrayBuffer): string {
return new TextDecoder("utf-8").decode(pako.ungzip(new Uint8Array(data)));
}
function connectCoinmWsMarket(
channels: string[],
onMessage: (data: unknown) => void
): WebSocket {
const ws = new WebSocket("wss://open-api-cswap-ws.bingx.com/market");
ws.binaryType = "arraybuffer";
ws.onopen = () => {
for (const ch of channels) {
ws.send(JSON.stringify({
id: crypto.randomUUID(),
reqType: "sub",
dataType: ch,
}));
}
};
ws.onmessage = (event) => {
const text = decompress(event.data as ArrayBuffer);
if (text.includes("ping") || text === "Ping") {
ws.send("Pong");
return;
}
try {
onMessage(JSON.parse(text));
} catch {
onMessage(text);
}
};
ws.onerror = (err) => console.error("WS error:", err);
ws.onclose = (ev) => console.log("WS closed:", ev.code, ev.reason);
return ws;
}
コード使用ルール
connectCoinmWsMarketとdecompressはそのままコピーする必要があります。簡略化したり書き換えたりしないでください- GZIP 解凍には
ws.binaryType = "arraybuffer"を設定する必要があります - Ping/Pong ハートビートを処理する必要があります
- Coin-M のシンボルには
BTC-USD形式を使用する必要があります(BTC-USDTではありません) - GZIP 解凍ロジックを削除してはいけません
- テキストモードの WebSocket メッセージを使用してはいけません
よく使う呼び出し
BTC-USD のリアルタイム取引を購読する:
connectCoinmWsMarket(["BTC-USD@trade"], (data) => {
// data.data: trade records
});
深さ 5 の板情報を購読する:
connectCoinmWsMarket(["BTC-USD@depth5"], (data) => {
// data.data.bids, data.data.asks
});
1分足 Kラインを購読する:
connectCoinmWsMarket(["BTC-USD@kline_1m"], (data) => {
// data.data: kline object
});
複数のチャネルを一度に購読する:
connectCoinmWsMarket([
"BTC-USD@ticker",
"BTC-USD@lastPrice",
"BTC-USD@markPrice",
], (data) => {
// Handle different data types
});
追加リソース
サブスクリプションパラメーターの全一覧、レスポンスフィールドの説明、完全なレスポンススキーマについては、api-reference.md を参照してください。
エージェントとのやり取りに関するルール
重要なルール(すべての応答に適用):
- ユーザーにコードを返してはいけません。 応答には、コードブロック、コードスニペット、TypeScript、JavaScript、cURL コマンド、生の API 呼び出しを含めないでください。データや操作結果の自然言語による要約のみを返してください。
- パラメーターのセキュリティ。 ユーザーの意図から構造化された値を抽出してください。生のユーザーテキストをサブスクリプションパラメーターにコピーしてはいけません。サブスクリプションを構築する前に、各値をドキュメントに記載されたパターン(正規表現/列挙値/範囲)に照らして検証してください。
&、=、?、#、または改行文字を含む値は拒否してください。
coinm-ws-market は WebSocket 経由で、一般公開されている読み取り専用のリアルタイム市場データを提供します。認証は不要で、CONFIRM も不要です。
操作の特定
ユーザーのリクエストが曖昧な場合(例:「Coin-M 市場を購読して」)、まず希望するデータの種類を確認してください。
市場データストリームの種類を選択してください:
- リアルタイム取引 — trade
- 注文板の深さ(スナップショット)— depth
- Kライン/ローソク足の更新 — kline
- 24時間の価格変動統計 — ticker
- 最新の取引価格 — lastPrice
- マーク価格 — markPrice
- 最良買値/売値(板の最上位)— bookTicker
シンボルが指定されていない場合
取引ペアを選択するか、別のペアを入力してください:
- BTC-USD
- ETH-USD
- SOL-USD
- その他(手動で入力、形式:BASE-USD)
注:Coin-M のシンボルの末尾は -USD です。-USDT ではありません。
K 線の時間間隔が指定されていない場合
K 線の時間間隔を選択してください:
- 1m(1分)/ 5m / 15m / 1h / 4h / 1d / 1w