mcpField
D
derivatives-trading-coin-futures

derivatives-trading-coin-futures

github.com/binanceその他1.1k1.2k 回インストール3 日前に更新
リポジトリ

derivatives-trading-coin-futures について

Binance Derivatives-trading-coin-futures は、Binance の COIN-M 先物を管理するトレーダー向けのスキルです。口座・ポジション情報、市場データ、注文操作、レバレッジと証拠金の設定、履歴照会に対応します。

主な機能

  1. 01口座・残高・ポジションの照会
  2. 02価格、ローソク足、市場統計の取得
  3. 03注文の新規作成・変更・キャンセル
  4. 04注文の一括発注・一括キャンセル
  5. 05レバレッジと証拠金設定の変更
  6. 06取引・収入履歴の照会

活用シーン

  1. 01COIN-M 先物の口座とポジションを確認
  2. 02契約価格、板、資金調達データを取得
  3. 03単一または一括の先物注文を管理
  4. 04過去の取引と収入を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/binance/binance-skills-hub --skill derivatives-trading-coin-futures

インストール後、Claude Code で/derivatives-trading-coin-futuresを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHANGELOG.md
LICENSE.md
references/
authentication.md

詳細

Binance Derivatives-trading-coin-futures スキル

認証済み API エンドポイントを使用して、Binance で Derivatives-trading-coin-futures のリクエストを行います。一部のエンドポイントでは API キーとシークレットキーが必要です。結果は JSON 形式で返します。

クイックリファレンス

エンドポイント説明必須任意認証
/dapi/v1/account (GET)アカウント情報(USER_DATA)なしrecvWindowはい
/dapi/v1/balance (GET)先物アカウント残高(USER_DATA)なしrecvWindowはい
/dapi/v1/positionSide/dual (GET)現在のポジションモードを取得(USER_DATA)なしrecvWindowはい
/dapi/v1/positionSide/dual (POST)ポジションモードを変更(TRADE)dualSidePositionrecvWindowはい
/dapi/v1/order/asyn (GET)先物注文履歴のダウンロード ID を取得(USER_DATA)startTime, endTimerecvWindowはい
/dapi/v1/trade/asyn (GET)先物取引履歴のダウンロード ID を取得(USER_DATA)startTime, endTimerecvWindowはい
/dapi/v1/income/asyn (GET)先物取引履歴のダウンロード ID を取得(USER_DATA)startTime, endTimerecvWindowはい
/dapi/v1/order/asyn/id (GET)ID で先物注文履歴のダウンロードリンクを取得(USER_DATA)downloadIdrecvWindowはい
/dapi/v1/trade/asyn/id (GET)ID で先物取引履歴のダウンロードリンクを取得(USER_DATA)downloadIdrecvWindowはい
/dapi/v1/income/asyn/id (GET)ID で先物取引履歴のダウンロードリンクを取得(USER_DATA)downloadIdrecvWindowはい
/dapi/v1/income (GET)収益履歴を取得(USER_DATA)なしsymbol, incomeType, startTime, endTime, page, limit, recvWindowはい
/dapi/v1/leverageBracket (GET)ペアの想定元本階層(USER_DATA)なしpair, recvWindowはい
/dapi/v2/leverageBracket (GET)シンボルの想定元本階層(USER_DATA)なしsymbol, recvWindowはい
/dapi/v1/commissionRate (GET)ユーザーの手数料率(USER_DATA)symbolrecvWindowはい
/dapi/v1/ticker/24hr (GET)24 時間のティッカー価格変動統計なしsymbol, pairいいえ
/futures/data/basis (GET)ベーシスpair, contractType, periodlimit, startTime, endTimeいいえ
/dapi/v1/time (GET)サーバー時刻を確認なしなしいいえ
/dapi/v1/aggTrades (GET)圧縮/集約取引一覧symbolfromId, startTime, endTime, limitいいえ
/dapi/v1/continuousKlines (GET)継続契約の Kline/ローソク足データpair, contractType, intervalstartTime, endTime, limitいいえ
/dapi/v1/exchangeInfo (GET)取引所情報なしなしいいえ
/dapi/v1/fundingInfo (GET)資金調達率情報を取得なしなしいいえ
/dapi/v1/fundingRate (GET)無期限先物の資金調達率履歴を取得symbolstartTime, endTime, limitいいえ
/dapi/v1/constituents (GET)指数価格の構成銘柄を照会symbolなしいいえ
/dapi/v1/indexPriceKlines (GET)指数価格の Kline/ローソク足データpair, intervalstartTime, endTime, limitいいえ
/dapi/v1/premiumIndex (GET)指数価格とマーク価格なしsymbol, pairいいえ
/dapi/v1/klines (GET)Kline/ローソク足データsymbol, intervalstartTime, endTime, limitいいえ
/futures/data/globalLongShortAccountRatio (GET)ロング/ショート比率pair, periodlimit, startTime, endTimeいいえ
/dapi/v1/markPriceKlines (GET)マーク価格の Kline/ローソク足データsymbol, intervalstartTime, endTime, limitいいえ
/dapi/v1/historicalTrades (GET)過去の取引を検索(MARKET_DATA)symbollimit, fromIdいいえ
/futures/data/openInterestHist (GET)未決済建玉統計pair, contractType, periodlimit, startTime, endTimeいいえ
/dapi/v1/openInterest (GET)未決済建玉symbolなしいいえ
/dapi/v1/depth (GET)オーダーブックsymbollimitいいえ
/dapi/v1/premiumIndexKlines (GET)プレミアム指数の Kline データsymbol, intervalstartTime, endTime, limitいいえ
/dapi/v1/trades (GET)直近の取引一覧symbollimitいいえ
/dapi/v1/ticker/bookTicker (GET)シンボルのオーダーブックティッカーなしsymbol, pairいいえ
/dapi/v1/ticker/price (GET)シンボルの価格ティッカーなしsymbol, pairいいえ
/futures/data/takerBuySellVol (GET)テイカーの買い/売り数量pair, contractType, periodlimit, startTime, endTimeいいえ
/dapi/v1/ping (GET)接続をテストなしなしいいえ
/futures/data/topLongShortAccountRatio (GET)トップトレーダーのロング/ショート比率(アカウント)symbol, periodlimit, startTime, endTimeいいえ
/futures/data/topLongShortPositionRatio (GET)トップトレーダーのロング/ショート比率(ポジション)pair, periodlimit, startTime, endTimeいいえ
/dapi/v1/pmAccountInfo (GET)従来型ポートフォリオマージンのアカウント情報(USER_DATA)assetrecvWindowはい
/dapi/v1/userTrades (GET)アカウントの取引一覧(USER_DATA)なしsymbol, pair, orderId, startTime, endTime, fromId, limit, recvWindowはい
/dapi/v1/allOrders (GET)すべての注文(USER_DATA)なしsymbol, pair, orderId, startTime, endTime, limit, recvWindowはい
/dapi/v1/countdownCancelAll (POST)すべての未約定注文を自動キャンセル(TRADE)symbol, countdownTimerecvWindowはい
/dapi/v1/allOpenOrders (DELETE)すべての未約定注文をキャンセル(TRADE)symbolrecvWindowはい
/dapi/v1/batchOrders (DELETE)複数の注文をキャンセル(TRADE)symbolorderIdList, origClientOrderIdList, recvWindowはい
/dapi/v1/batchOrders (PUT)複数の注文を変更(TRADE)batchOrdersrecvWindowはい
/dapi/v1/batchOrders (POST)複数の注文を発注(TRADE)batchOrdersrecvWindowはい
/dapi/v1/order (DELETE)注文をキャンセル(TRADE)symbolorderId, origClientOrderId, recvWindowはい
/dapi/v1/order (PUT)注文を変更(TRADE)symbol, sideorderId, origClientOrderId, quantity, price, priceMatch, recvWindowはい
/dapi/v1/order (POST)新規注文(TRADE)symbol, side, typepositionSide, timeInForce, quantity, reduceOnly, price, newClientOrderId, stopPrice, closePosition, activationPrice, callbackRate, workingType, priceProtect, newOrderRespType, priceMatch, selfTradePreventionMode, recvWindowはい
/dapi/v1/order (GET)注文を照会(USER_DATA)symbolorderId, origClientOrderId, recvWindowはい
/dapi/v1/leverage (POST)初期レバレッジを変更(TRADE)symbol, leveragerecvWindowはい
/dapi/v1/marginType (POST)マージンタイプを変更(TRADE)symbol, marginTyperecvWindowはい
/dapi/v1/openOrders (GET)現在のすべての未約定注文(USER_DATA)なしsymbol, pair, recvWindowはい
/dapi/v1/orderAmendment (GET)注文変更履歴を取得(USER_DATA)symbolorderId, origClientOrderId, startTime, endTime, limit, recvWindowはい
/dapi/v1/positionMargin/history (GET)ポジションマージン変更履歴を取得(TRADE)symboltype, startTime, endTime, limit, recvWindowはい
/dapi/v1/positionMargin (POST)分離ポジションのマージンを変更(TRADE)symbol, amount, typepositionSide, recvWindowはい
/dapi/v1/adlQuantile (GET)ポジション ADL 分位推定(USER_DATA)なしsymbol, recvWindowはい
/dapi/v1/positionRisk (GET)ポジション情報(USER_DATA)なしmarginAsset, pair, recvWindowはい
/dapi/v1/openOrder (GET)現在の未約定注文を照会(USER_DATA)symbolorderId, origClientOrderId, recvWindowはい
/dapi/v1/forceOrders (GET)ユーザーの強制決済注文(USER_DATA)なしsymbol, autoCloseType, startTime, endTime, limit, recvWindowはい
/dapi/v1/listenKey (DELETE)ユーザーデータストリームを終了(USER_STREAM)なしなしいいえ
/dapi/v1/listenKey (PUT)ユーザーデータストリームを維持(USER_STREAM)なしなしいいえ
/dapi/v1/listenKey (POST)ユーザーデータストリームを開始(USER_STREAM)なしなしいいえ

パラメーター

共通パラメーター
  • recvWindow: (例:5000)
  • startTime: ミリ秒単位のタイムスタンプ(例:1623319461670)
  • endTime: ミリ秒単位のタイムスタンプ(例:1641782889000)
  • downloadId: ダウンロード ID API で取得します(例:1)
  • symbol:
  • incomeType: "TRANSFER","WELCOME_BONUS", "FUNDING_FEE", "REALIZED_PNL", "COMMISSION", "INSURANCE_CLEAR", and "DELIVERED_SETTELMENT"
  • startTime: (例:1623319461670)
  • endTime: (例:1641782889000)
  • page:
  • limit: デフォルトは 100、最大 1000(例:100)
  • pair:
  • symbol:
  • pair: BTCUSD
  • fromId: 集約トレードの取得を開始する ID(この ID を含みます)。(例:1)
  • asset:
  • orderId: (例:1)
  • orderId: (例:1)
  • countdownTime: カウントダウン時間。1 秒の場合は 1000。タイマーをキャンセルするには 0 を指定します
  • orderIdList: 最大長 10 例:[1234567,2345678]
  • origClientOrderIdList: 最大長 10 例:["my_id_1","my_id_2"]。二重引用符をエンコードしてください。カンマの後にスペースを入れないでください。
  • origClientOrderId: (例:1)
  • leverage: 目標初期レバレッジ:1~125 の整数
  • dualSidePosition: "true":ヘッジモード、"false":ワンウェイモード
  • type: 1:ポジション証拠金を追加、2:ポジション証拠金を減額
  • amount: (例:1.0)
  • batchOrders: 注文リスト。最大 5 件の注文
  • quantity: コントラクト数で表す数量。closePosition=true の場合は送信できません(例:1.0)
  • price: (例:1.0)
  • reduceOnly: "true" または "false"。デフォルトは "false"。ヘッジモードでは送信できません。また、closePosition=true(全決済)の場合も送信できません
  • newClientOrderId: 未約定注文の中で一意の ID。送信されない場合は自動生成されます。次のルールに従った文字列のみ指定できます:^[\.A-Z\:/a-z0-9_-]{1,36}$(例:1)
  • stopPrice: STOP/STOP_MARKET または TAKE_PROFIT/TAKE_PROFIT_MARKET 注文で使用します。(例:1.0)
  • closePosition: true、false;全決済。STOP_MARKET または TAKE_PROFIT_MARKET と併用します。
  • activationPrice: TRAILING_STOP_MARKET 注文で使用します。デフォルトは最新価格です(異なる workingType に対応)(例:1.0)
  • callbackRate: TRAILING_STOP_MARKET 注文で使用します。最小値は 0.1、最大値は 10 で、1 は 1% を表します(例:1.0)
  • priceProtect: "TRUE" または "FALSE"。デフォルトは "FALSE"。STOP/STOP_MARKET または TAKE_PROFIT/TAKE_PROFIT_MARKET 注文で使用します。
  • batchOrders: 注文リスト。最大 5 件の注文
  • marginAsset:
列挙型
  • contractType: PERPETUAL | CURRENT_QUARTER | NEXT_QUARTER | CURRENT_QUARTER_DELIVERING | NEXT_QUARTER_DELIVERING | PERPETUAL_DELIVERING
  • period: 5m | 15m | 30m | 1h | 2h | 4h | 6h | 12h | 1d
  • interval: 1m | 3m | 5m | 15m | 30m | 1h | 2h | 4h | 6h | 8h | 12h | 1d | 3d | 1w | 1M
  • marginType: ISOLATED | CROSSED
  • positionSide: BOTH | LONG | SHORT
  • type: LIMIT | MARKET | STOP | STOP_MARKET | TAKE_PROFIT | TAKE_PROFIT_MARKET | TRAILING_STOP_MARKET
  • side: BUY | SELL
  • priceMatch: NONE | OPPONENT | OPPONENT_5 | OPPONENT_10 | OPPONENT_20 | QUEUE | QUEUE_5 | QUEUE_10 | QUEUE_20
  • timeInForce: GTC | IOC | FOK | GTX
  • workingType: MARK_PRICE | CONTRACT_PRICE
  • newOrderRespType: ACK | RESULT
  • selfTradePreventionMode: NONE | EXPIRE_TAKER | EXPIRE_BOTH | EXPIRE_MAKER
  • autoCloseType: LIQUIDATION | ADL

認証

認証が必要なエンドポイントでは、Binance API の認証情報を指定する必要があります。 必要な認証情報:

  • apiKey:ヘッダー用の Binance API キー
  • secretKey:署名用の Binance API シークレット

ベース URL:

セキュリティ

認証情報の共有

ユーザーはさまざまな方法で Binance API の認証情報を提供できます。エージェントは最初の2つの方法で認証情報を自動的に取得しようとしますが、ユーザーは認証情報を設定したこと、または .env ファイルに保存したことをエージェントに明示的に伝えることもできます。その場合、エージェントはそのファイルを再読み込みします。エージェントは最初の2つの方法を使って、ユーザーの確認なしに HTTP リクエストを行うこともできます。

  1. 環境変数

次の特定の変数のみを検索します(環境変数全体を絶対に出力しないでください)。

許可されている環境変数

  • Mainnet:BINANCE_API_KEY および BINANCE_SECRET_KEY
  • Testnet:BINANCE_TESTNET_API_KEY および BINANCE_TESTNET_SECRET_KEY

生のキーがエージェントのコンテキストに入らないよう、1回の exec 呼び出しで読み取り、使用します:

KEY="$BINANCE_API_KEY"
SECRET="$BINANCE_SECRET_KEY"

response=$(curl -s -X GET "$URL" \
  -H "X-MBX-APIKEY: $KEY" \
  --data-urlencode "param1=value1")

echo "$response"

環境変数は、OpenClaw の起動前に設定する必要があります。プロセスの起動時に継承されるため、実行中のインスタンスに注入することはできません。再起動せずに認証情報を追加または更新する必要がある場合は、シークレットファイルを使用してください(オプション2を参照)。

  1. シークレットファイル(.env)

~/.openclaw/secrets.env 、~/.env、またはワークスペース内の .env ファイルを確認します。個々のキーは grep で読み取り、ファイル全体を source しないでください:

# Try all credential locations in order
API_KEY=$(grep '^BINANCE_API_KEY=' ~/.openclaw/secrets.env 2>/dev/null | cut -d= -f2-)
SECRET_KEY=$(grep '^BINANCE_SECRET_KEY=' ~/.openclaw/secrets.env 2>/dev/null | cut -d= -f2-)

# Fallback: search .env in known directories (KEY=VALUE then raw line format)
for dir in ~/.openclaw ~; do
  [ -n "$API_KEY" ] && break
  env_file="$dir/.env"
  [ -f "$env_file" ] || continue

  # Read first two lines
  line1=$(sed -n '1p' "$env_file")
  line2=$(sed -n '2p' "$env_file")

  # Check if lines contain '=' indicating KEY=VALUE format
  if [[ "$line1" == *=* && "$line2" == *=* ]]; then
    API_KEY=$(grep '^BINANCE_API_KEY=' "$env_file" 2>/dev/null | cut -d= -f2-)
    SECRET_KEY=$(grep '^BINANCE_SECRET_KEY=' "$env_file" 2>/dev/null | cut -d= -f2-)
  else
    # Treat lines as raw values
    API_KEY="$line1"
    SECRET_KEY="$line2"
  fi
done

このファイルは OpenClaw を再起動せずにいつでも更新でき、キーは呼び出しごとに最新の状態で読み取られます。ユーザーは、変数を設定した、または .env ファイルに保存したことを伝えることができます。その場合は、そのファイルを再読み込みします。

  1. インラインファイル

次の形式で内容を記述したファイルを送信します:

abc123...xyz
secret123...key
  • 特定の変数名を指定せずに printenv、env、export、または set を実行しないでください
  • env ファイルに対して、特定のキーにアンカーを設定せずに grep を実行しないでください('^VARNAME=')
  • シェル環境にシークレットファイルを source しないでください(source .env または . .env)
  • 現在のタスクに明示的に必要な認証情報のみを読み取ってください
  • 出力や返信で生の認証情報を表示または記録しないでください
  • 実際の認証情報が含まれている場合、TOOLS.md をバージョン管理にコミットしないでください。.gitignore に追加してください
API キーとシークレットを絶対に開示しない

API キーとシークレットのファイルの場所を絶対に開示しないでください。

API キーとシークレットを Mainnet および Testnet 以外のウェブサイトに絶対に送信しないでください。

シークレット全体を絶対に表示しない

ユーザーに認証情報を表示する場合:

  • API キー: 先頭5文字と末尾4文字を表示します:su1Qc...8akf
  • シークレットキー: 常にマスクし、末尾5文字のみを表示します:***...aws1

認証情報を尋ねられたときの応答例: アカウント:main API キー:su1Qc...8akf シークレット:***...aws1 環境:Mainnet

アカウントの一覧表示

アカウントを一覧表示する場合は、名前と環境のみを表示し、キーは絶対に表示しないでください: Binance アカウント:

  • main(Mainnet/Testnet)
  • testnet-dev(Testnet)
  • futures-keys(Mainnet)
Mainnet でのトランザクション

Mainnet でトランザクションを実行する場合は、続行する前に「CONFIRM」と入力するようユーザーに求め、必ず確認を取ってください。


Binance アカウント

main
  • API キー:your_mainnet_api_key
  • シークレット:your_mainnet_secret
  • Testnet:false
testnet-dev
  • API キー:your_testnet_api_key
  • シークレット:your_testnet_secret
  • Testnet:true
TOOLS.md の構成
## Binance Accounts

### main
- API Key: abc123...xyz
- Secret: secret123...key
- Testnet: false
- Description: Primary trading account

### testnet-dev
- API Key: test456...abc
- Secret: testsecret...xyz
- Testnet: true
- Description: Development/testing

### futures-keys
- API Key: futures789...def
- Secret: futuressecret...uvw
- Testnet: false
- Description: Futures trading account

エージェントの動作

  1. 認証情報を求められた場合:シークレットをマスクします(末尾5文字のみ表示)
  2. アカウントを一覧表示する場合:名前と環境を表示し、キーは絶対に表示しません
  3. アカウントの選択:曖昧な場合は質問し、デフォルトで main を使用します
  4. Mainnet でトランザクションを行う場合は、「CONFIRM」と入力して続行するようユーザーに求め、事前に確認を取ります
  5. 新しい認証情報:名前、環境、署名モードを尋ねます
  6. リクエストに署名が必要で、そのリクエストが注文ではなく、API キーが mainnet キーまたは testnet キーとして説明されていない場合は、ユーザーに尋ねずに異なるベース URL へリクエストを試み、動作するか確認します。動作した場合は、対応する環境とともにキーを保存します。

新しいアカウントの追加

ユーザーがインラインファイルまたはメッセージで新しい認証情報を提供した場合:

  • アカウント名を尋ねます
  • Mainnet か Testnet かを尋ねます
  • マスクした表示で確認しながら、TOOLS.md に保存します

リクエストへの署名

署名が必要な取引エンドポイントの場合:

  1. 最初にキーの種類を判別します。署名する前にシークレットキーの形式を確認してください。
  2. タイムスタンプ(Unix ミリ秒)を含むすべてのパラメーターでクエリ文字列を作成します。
  3. RFC 3986 に従って、パラメーターを UTF-8 でパーセントエンコードします。
  4. アカウント設定に応じて、secretKey を使用し、HMAC SHA256、RSA、または Ed25519 でクエリ文字列に署名します。
  5. クエリ文字列に署名を追加します。
  6. X-MBX-APIKEY ヘッダーを含めます。

それ以外の場合は、手順 4~6 を実行しないでください。

新しいクライアント注文 ID

newClientOrderId パラメーターを含むエンドポイントでは、値は常に agent- で始まる必要があります。パラメーターが指定されていない場合は、agent- の後に18文字のランダムな英数字を付けた値が自動生成されます。値が指定されている場合は、その先頭に agent- が付加されます。

例:agent-1a2b3c4d5e6f7g8h9i

User Agent ヘッダー

次の文字列を含む User-Agent ヘッダーを設定します:binance-derivatives-trading-coin-futures/1.1.0 (Skill)

実装の詳細については、references/authentication.md を参照してください。

コメント