0xhardman

0xhardman

twitter
medium
jike
github

あなたは一体どのAPIを使って注文しましたか?Binance USDS-M先物注文画面とAPI注文パラメータの比較分析

どの API を使って注文しましたか?Binance USDS-M 先物注文画面と API 注文パラメータの比較分析#

リクエストパラメータの説明#

パラメータ名タイプ必須説明
symbolSTRINGYES取引ペア
sideENUMYES売買方向 SELL, BUY
positionSideENUMNOポジションの方向、単方向ポジションモードでは必須ではなく、デフォルトで BOTH のみ指定可能;双方向ポジションモードでは必須で、LONG または SHORT のみ選択可能
typeENUMYES注文タイプ LIMIT, MARKET, STOP, TAKE_PROFIT, STOP_MARKET, TAKE_PROFIT_MARKET, TRAILING_STOP_MARKET
reduceOnlySTRINGNOtrue, false; 非双開モードではデフォルト false; 双開モードではこのパラメータは受け付けない;closePosition を使用する場合はこのパラメータはサポートされない。
quantityDECIMALNO注文数量、closePosition を使用する場合はこのパラメータはサポートされない。
priceDECIMALNO指値価格
newClientOrderIdSTRINGNOユーザーが定義した注文番号、同じものがオープンオーダーに重複して現れることはできない。空白の場合、システムが自動的に値を設定する。正規表現ルール ^[.A-Z:/a-z0-9_-]{1,36}$ を満たす必要がある
stopPriceDECIMALNOトリガー価格、STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET のみこのパラメータが必要
closePositionSTRINGNOtrue, false;トリガー後に全てを決済、STOP_MARKET と TAKE_PROFIT_MARKET のみサポート;quantity とは併用できない;自動的に決済効果を持ち、reduceOnly とは併用できない
activationPriceDECIMALNOトレーリングストップのアクティベーション価格、TRAILING_STOP_MARKET のみこのパラメータが必要、デフォルトは注文時の現在の市場価格(異なる workingType をサポート)
callbackRateDECIMALNOトレーリングストップのコールバック比率、範囲は [0.1, 10]、1 は 1% を表す、TRAILING_STOP_MARKET のみこのパラメータが必要
timeInForceENUMNO有効方法 GTC/IOC/FOK/GTX/GTD、LIMIT 注文は必須
workingTypeENUMNOstopPrice トリガータイプ: MARK_PRICE(マーク価格)、CONTRACT_PRICE(契約最新価格)。デフォルトは CONTRACT_PRICE
priceProtectSTRINGNO条件注文トリガー保護:"TRUE","FALSE", デフォルトは "FALSE"。STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET のみこのパラメータが必要
newOrderRespTypeENUMNO"ACK", "RESULT", デフォルトは "ACK"
priceMatchENUMNOOPPONENT/ OPPONENT_5/ OPPONENT_10/ OPPONENT_20/QUEUE/ QUEUE_5/ QUEUE_10/ QUEUE_20;price とは同時に送信できない
selfTradePreventionModeENUMNOEXPIRE_TAKER/ EXPIRE_MAKER/ EXPIRE_BOTH; デフォルトは NONE
goodTillDateLONGNOTIF が GTD の時の注文の自動キャンセル時間、timeInforce が GTD の時は必須;渡されるタイムスタンプは秒単位の精度のみ保持され、ミリ秒部分は自動的に無視され、タイムスタンプは現在の時間 + 600s より大きく、253402300799000 より小さい必要がある
recvWindowLONGNO
timestampLONGYES

パラメータオプションの詳細#

type (注文タイプ)#

Binance注文タイプ
API パラメータBinance 中国語インターフェース説明
LIMIT指値注文指定価格で、指定価格またはそれより良い価格で成立
MARKET成行注文現在の市場価格で即時に成立
STOP指値ストップロス価格が stopPrice に達したとき、指定した price で指値注文
TAKE_PROFIT指値利益確定価格が stopPrice に達したとき、指定した price で指値注文
STOP_MARKET成行ストップロス価格が stopPrice に達したとき、市場価格で注文
TAKE_PROFIT_MARKET成行利益確定価格が stopPrice に達したとき、市場価格で注文
TRAILING_STOP_MARKETトレーリング注文価格の変動に応じて動的にストップロス価格を調整

他の Binance インターフェース機能の対応:

  • Maker のみ = timeInForce=GTX
  • 条件注文 = STOP/TAKE_PROFIT タイプの注文
  • 分時注文 = timeInForce=GTD + goodTillDate
  • 分割注文 = 複数の注文の組み合わせ、単一の API パラメータではない

Binance アプリの注文画面の「利益確定 / 損切り」パラメータ:

Binance注文タイプ
  • 利益確定価格 = stopPrice(TAKE_PROFIT タイプを選択した場合)
  • 損切り価格 = stopPrice(STOP タイプを選択した場合)
  • 利益確定損切り方式の選択
    • 指値 = TAKE_PROFITまたはSTOP + priceパラメータ
    • 成行 = TAKE_PROFIT_MARKETまたはSTOP_MARKET
  • トリガー条件 = workingType(マーク価格 / 最新価格)

重要な説明:Binance アプリで同時に利益確定と損切りを設定する = 複数の注文
アプリで利益確定と損切り機能を選択した場合:

  1. 主注文:ポジションオープン注文(LIMIT または MARKET)
  2. 利益確定注文:TAKE_PROFIT または TAKE_PROFIT_MARKET 注文
  3. 損切り注文:STOP または STOP_MARKET 注文

実際には3 回 API を呼び出し、3 つの独立した注文を作成しています。いずれかの利益確定または損切り注文がトリガーされると、他の注文は自動的にキャンセルされます(OCO メカニズム)。

実際のケース:成行注文 + 利益確定損切り
以下は成行注文画面で利益確定と損切りを設定した実際の API 呼び出し:

// 1. 主注文:成行買い
{
  "type": "MARKET",
  "side": "BUY", 
  "quantity": "0.014",
  "price": "0"                 // 成行注文には価格がない
}

// 2. 利益確定注文:成行利益確定(自動生成)
{
  "type": "TAKE_PROFIT_MARKET",
  "side": "SELL",
  "stopPrice": "3700",         // 重要:利益確定トリガー価格
  "reduceOnly": true,          // 重要:ポジションを減少させるのみ
  "price": "0"                 // 成行で実行
}

// 3. 損切り注文:成行損切り(自動生成)
{
  "type": "STOP_MARKET",
  "side": "SELL", 
  "stopPrice": "3300",         // 重要:損切りトリガー価格
  "reduceOnly": true,          // 重要:ポジションを減少させるのみ
  "price": "0"                 // 成行で実行
}

重要な特徴:

  • 利益確定損切り注文は自動的に reduceOnly=true(ポジションを減少させるのみ)に設定される
  • 3 つの注文は同じ数量(0.014)を持つ
  • 利益確定損切り注文は主注文が成立した後に自動的に作成される

reduceOnly (ポジションを減少させるのみ)#

Binance注文タイプ
  • true - 現在のポジションを減少させることしかできず、ポジションを増やしたり新たに開いたりすることはできない
  • false - ポジションを増やしたり新たに開いたりすることができる(デフォルト値)
  • 注意:双方向ポジションモードではこのパラメータは受け付けない;closePosition を使用する場合はこのパラメータはサポートされない

使用シーン:

  1. 部分決済:既にロングポジションを持っていて、部分的に決済したいが反対にショートポジションを開きたくない
  2. リスク管理:注文がリスクエクスポージャーを減少させることを保証し、増加させない
  3. 利益確定損切り:利益確定損切り注文を設定する際、決済したいが反対にポジションを開きたくない
  4. 資金管理:ポジションが強制決済価格に近づいているとき、減少操作のみを許可する

実際の例:
シーン 1 - プログラム取引:

  • 100BTC のロング契約を保有
  • プログラムが自動的に 150BTC を売り注文(信号やアルゴリズムに基づく可能性あり)
  • 安全策としてreduceOnly=trueを設定
  • 注文は 100BTC を決済するだけで、残りの 50BTC は拒否され、意図しないショートポジションを開くことを防ぐ

シーン 2 - 損切り注文:

  • 50BTC のショート契約を保有
  • 損切り注文を設定:100BTC を買い、reduceOnly=true
  • トリガー時に 50BTC のショートポジションのみを決済し、残りの 50BTC は拒否される
  • 損切り注文がロングポジションに変わるのを防ぐ

シーン 3 - 一括決済:

  • 同時に複数の契約ポジションを保有
  • 一括で決済注文を出す際、ある契約のポジションは他の注文で部分的に決済されている可能性がある
  • reduceOnly=trueは過剰な決済を防ぐ

核心的な役割:

  • 主に安全保護であり、意図しない過剰取引を防ぐ
  • 特にプログラム取引や自動化戦略に適している

通常の注文との違い:

  • 通常の注文:売却数量がポジションを超えると、超過部分は待機する
  • reduceOnly=true:ポジションを超える部分は直接拒否され、意図しない過剰売却を防ぐ

制限条件:

  • 単方向ポジションモード:使用可能
  • 双方向ポジションモード:このパラメータはサポートされない
  • closePosition=trueとは排他的であり、同時に使用できない

closePosition (決済フラグ)#

Binance注文タイプ
  • true - トリガー後に全てのポジションを決済
  • false - 決済しない(デフォルト値)
  • 只今サポート:STOP_MARKET と TAKE_PROFIT_MARKET
  • quantity とは併用できない;自動的に決済効果を持ち、reduceOnly とは併用できない

取引所インターフェース設定に対応:
Binance アプリで利益確定損切りを設定する際:

  • 数量選択 → "全て" または "100%" を選択
  • 実行方式 → "成行で成立" を選択("指値で成立" ではなく)
  • トリガー条件 → "マーク価格" または "最新価格" を選択(これはworkingTypeパラメータ)
  • この時 API は自動的に closePosition=trueを設定する

実際のシーン:

  • ポジション:100BTC のロング
  • アプリで損切りを設定し、数量選択を "全て"、タイプを "成行" に設定
  • 対応する API:type=STOP_MARKET, closePosition=true
  • トリガー時:自動的に全ての 100BTC を決済し、具体的な数量を指定する必要がない

手動で数量を入力する場合との違い:

  • 手動で数量を入力:quantity=100
  • 全てを決済する選択:closePosition=true(より便利で、具体的な数量を計算する必要がない)

priceMatch (価格マッチモード)#

Binance注文タイプ

取引所アプリで BBO(Best Bid and Offer、最良買い売り価格)というパラメータが見えるかもしれませんが、実際にはこのパラメータを設定しています

  • OPPONENT - 対手価格(最良買い / 売り価格)
  • OPPONENT_5 - 対手価格を 5 ティック上昇
  • OPPONENT_10 - 対手価格を 10 ティック上昇
  • OPPONENT_20 - 対手価格を 20 ティック上昇
  • QUEUE - 待機価格(買い / 売り価格)
  • QUEUE_5 - 待機価格を 5 ティック上昇
  • QUEUE_10 - 待機価格を 10 ティック上昇
  • QUEUE_20 - 待機価格を 20 ティック上昇
  • 注意:price パラメータとは同時に使用できない

ティック(最小価格単位)とは何ですか?

  • 各契約には最小価格変動単位があります
  • 例えば:BTCUSDT 先物のティック = 0.1 USDT
  • 5 ティック上昇 = 価格 + (5 × 0.1) = 価格 + 0.5 USDT

実際の例:
現在の BTCUSDT 価格を仮定します:

  • 買い価格:50000.0
  • 売り価格:50000.1
  • ティックサイズ:0.1

したがって:

  • OPPONENT = 50000.1(売り価格)
  • OPPONENT_5 = 50000.1 + (5×0.1) = 50000.6
  • QUEUE = 50000.0(買い価格)
  • QUEUE_5 = 50000.0 + (5×0.1) = 50000.5

selfTradePreventionMode (自己取引防止モード)#

  • NONE - 自己取引を防止しない(デフォルト値)
  • EXPIRE_TAKER - テイカーとしての時、新しい注文をキャンセル
  • EXPIRE_MAKER - メイカーとしての時、古い注文をキャンセル
  • EXPIRE_BOTH - 新旧の注文を両方キャンセル

メイカーとテイカーの区別:

  • メイカー(オーダーブックに注文を出す者):オーダーブックに先に出されている注文で、流動性を提供する
  • テイカー(注文を受ける者):既存のオーダーブックと即時にマッチして成立する注文で、流動性を消費する
  • 区別基準:注文の実行タイミングに基づき、売買方向ではない
    • 先に出された注文 = メイカー
    • 後に出された注文 = テイカー
    • 買い注文 / 売り注文はどちらもメイカーまたはテイカーになり得る

具体的な例:
あなたが取引口座を持っていて、同時に BTC/USDT 取引ペアで以下の状況があると仮定します:

  • 50,000 USDT の価格で売り注文を出しました(先に出された注文 = メイカー注文)
  • その後、50,000 USDT の価格で買い注文を出したい(後に成立する = テイカー注文)

異なるモードの挙動:

  1. NONE(デフォルト)

    • あなたの買い注文は自分の売り注文と直接成立する
    • 結果:自己取引が発生し、手数料を支払ったがポジションは変わらない
  2. EXPIRE_TAKER

    • システムは自己取引が発生することを検出
    • 新しい買い注文(テイカー)はキャンセルされる
    • 元の売り注文(メイカー)はそのまま保持される
  3. EXPIRE_MAKER

    • システムは自己取引が発生することを検出
    • 元の売り注文(メイカー)はキャンセルされる
    • 新しい買い注文(テイカー)は他の注文を探して成立する
  4. EXPIRE_BOTH

    • システムは自己取引が発生することを検出
    • 新旧の注文が両方キャンセルされる
    • 何も成立しない

実際の適用シーン:

  • 定量取引ボットはこのような状況によく遭遇する
  • グリッド取引戦略で特に一般的
  • EXPIRE_TAKERを使用することで、既存のオーダー戦略を保護できる

timeInForce (注文の有効時間)#

Binance注文タイプ
  • GTC - Good Till Cancel、キャンセルされるまで有効
  • IOC - Immediate or Cancel、即時に実行し、未成立部分をキャンセル
  • FOK - Fill or Kill、全て成立するか全てキャンセル
  • GTX - Good Till Crossing、受動的注文、メイカーのみ(Binance アプリでは「注文タイプ」が「メイカーのみ」と表示される)
  • GTD - Good Till Date、指定した時間にキャンセル(goodTillDate と併用が必要)(Binance アプリでは「注文タイプ」が「分時注文」と表示される)

適用される注文タイプ:

  • LIMIT - 必須、全ての timeInForce オプションをサポート
  • STOP - オプション、デフォルトは GTC、全ての timeInForce オプションをサポート
  • TAKE_PROFIT - オプション、デフォルトは GTC、全ての timeInForce オプションをサポート

timeInForce をサポートしない:

  • MARKET - サポートしない、成行注文は即時に実行
  • STOP_MARKET - サポートしない、トリガー後に即時に成行注文を実行
  • TAKE_PROFIT_MARKET - サポートしない、トリガー後に即時に成行注文を実行
  • TRAILING_STOP_MARKET - サポートしない、トレーリングストップがトリガーされた後に即時に実行

workingType (条件価格タイプ)#

Binance注文タイプ
  • CONTRACT_PRICE - 契約最新価格(デフォルト値)
  • MARK_PRICE - マーク価格

"条件価格タイプ" の意味:

  • ここでの "条件" はトリガー条件を指し、通常の売買価格ではない
  • 条件注文にのみ適用される:STOP、STOP_MARKET、TAKE_PROFIT、TAKE_PROFIT_MARKET
  • stopPriceトリガー条件が達成されたかどうかを判断するために使用される価格を決定する

2 つの価格の違い:

CONTRACT_PRICE(契約最新価格):

  • 実際に成立した最新価格で、実際の売買注文に基づく
  • 大口注文によって急激に引き上げられたり、押し下げられたりする影響を受ける可能性がある
  • 変動が大きく、操作されやすい

MARK_PRICE(マーク価格):

  • 取引所が計算した「公正価格」
  • 通常は現物価格 + 資金調達率などの要因に基づいて計算される
  • より安定しており、操作されにくく、未実現損益や強制決済価格の計算に使用される

実際の例:
損切り注文を設定:stopPrice = 49,000

  • CONTRACT_PRICE モード:契約最新成立価格が 49,000 を下回ったときにトリガー(瞬時にトリガーされる可能性がある)
  • MARK_PRICE モード:マーク価格が 49,000 を下回ったときにトリガー(より安定しており、操作されにくい)

使用の推奨:

  • CONTRACT_PRICE:短期取引に適しており、価格に敏感
  • MARK_PRICE:瞬時にトリガーされるのを避けるために、より安定して信頼性が高い

priceProtect (価格保護)#

Binance注文タイプ
  • TRUE - 価格保護を有効にし、価格が過度に乖離するのを防ぐ(5% を超える)
  • FALSE - 価格保護を無効にする(デフォルト値)
  • 只今適用される:STOP, STOP_MARKET, TAKE_PROFIT, TAKE_PROFIT_MARKET

priceProtect (価格保護) の理解:

核心的な役割:

  • 極端な市場状況で条件注文が市場価格から過度に乖離した価格で成立するのを防ぐ
  • 注文がトリガーされた後、現在の市場価格が合理的かどうかを確認する

作業メカニズム:

  1. トリガー判断workingTypeに基づいてstopPriceに達したかどうかを判断
  2. 注文トリガー:条件が満たされ、注文を出す準備
  3. 価格保護priceProtect=TRUEが有効な場合、現在の市場価格を確認
  4. 実行判断:価格が合理的であれば実行、不合理であれば拒否

具体的なシーン:
損切り注文を設定したと仮定します:stopPrice = 49,000type = STOP_MARKET

価格保護を無効にした場合(FALSE):

  • 価格が 49,000 を下回ったとき、即座に成行注文を出す
  • 48,000、47,000、またはそれ以下の価格で成立する可能性がある(市場流動性が悪い場合)

価格保護を有効にした場合(TRUE):

  • 価格が 49,000 を下回ったとき、システムが現在の市場価格を確認
  • 現在の価格が 48,500(乖離が小さい)であれば、正常に成立
  • 現在の価格が 45,000(乖離が大きい)であれば、注文は拒否される

保護の目標:

  • 市場が崩壊したときに極端な価格で成立するのを防ぐ
  • 流動性不足による大きなスリッページ損失を避ける
  • ユーザーに「再考する」機会を与える

適用シーン:

  • 特に大口注文に適している
  • 市場の変動が激しい時期
  • 流動性が低い取引ペア

注意事項:

  • 有効にすると損切り注文が実行できない可能性があるため、保護と実行効率のバランスを取る必要がある
  • workingTypeパラメータとは独立しており、任意に組み合わせて使用できる

positionSide (ポジションの方向)#

  • BOTH - 単方向ポジションモードのデフォルト値
  • LONG - 双方向ポジションモードでロング
  • SHORT - 双方向ポジションモードでショート

ポジションモードの説明:

単方向ポジションモード(デフォルト):

  • 同じ取引ペアでは一方向のネットポジションしか持てない
  • 買い操作:空ポジションがある場合は先に決済し、残りをロングポジションとして開く
  • 売り操作:ロングポジションがある場合は先に決済し、残りをショートポジションとして開く
  • シンプルで直感的、新人に適している
  • API パラメータ:positionSide=BOTH

双方向ポジションモード:

  • 同じ取引ペアでロングポジションとショートポジションを同時に持つことができる
  • 明確にロングかショートかを指定する必要がある
  • より複雑なヘッジ戦略を行うことができる
  • リスク管理がより複雑で、ロングとショートのポジションを別々に管理する必要がある
  • API パラメータ:positionSide=LONGまたはpositionSide=SHORT

Binance アプリでポジションモードを切り替える方法:

  1. 先物取引ページの右上隅にある 3 つの点をクリック
  2. 「ポジションモード」オプションを見つける
  3. 「単方向ポジション」から「双方向ポジション」に切り替える
  4. 注意:切り替える前に全てのポジションを決済する必要がある
Binance注文タイプ Binance注文タイプ

インターフェース表示の違い:

  • 単方向ポジション:のみ「買い / 売り」ボタンを表示
  • 双方向ポジション:表示「ロング / ショート」の選択、または「ロング / ショートを開く / ロングを決済 / ショートを決済」ボタン

注意事項:

  • 双方向ポジションモードではreduceOnlyパラメータはサポートされない
  • 双方向ポジションモードではpositionSideパラメータを指定する必要がある
  • 単方向ポジションモードではpositionSideパラメータはオプションで、デフォルトはBOTH

newOrderRespType (応答タイプ)#

  • ACK - 確認情報、基本的な注文情報を返す(デフォルト値)
  • RESULT - 注文結果、詳細な注文情報と成立情報を返す

応答例:

ACK 応答(基本情報):

{
  "orderId": 28,
  "symbol": "BTCUSDT",
  "status": "NEW",
  "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
  "price": "0.1",
  "avgPrice": "0.00000",
  "origQty": "10",
  "executedQty": "0",
  "cumQty": "0",
  "timeInForce": "GTC",
  "type": "LIMIT",
  "reduceOnly": false,
  "closePosition": false,
  "side": "SELL",
  "positionSide": "SHORT",
  "stopPrice": "0",
  "workingType": "CONTRACT_PRICE",
  "priceProtect": false,
  "origType": "LIMIT",
  "time": 1499827319559,
  "updateTime": 1499827319559
}

RESULT 応答(詳細情報):

{
  "orderId": 28,
  "symbol": "BTCUSDT",
  "status": "FILLED",
  "clientOrderId": "6gCrw2kRUAF9CvJDGP16IP",
  "price": "0.1",
  "avgPrice": "0.10000",
  "origQty": "10",
  "executedQty": "10",
  "cumQty": "10",
  "timeInForce": "GTC",
  "type": "LIMIT",
  "reduceOnly": false,
  "closePosition": false,
  "side": "SELL",
  "positionSide": "SHORT",
  "stopPrice": "0",
  "workingType": "CONTRACT_PRICE",
  "priceProtect": false,
  "origType": "LIMIT",
  "time": 1499827319559,
  "updateTime": 1499827319559,
  "fills": [
    {
      "price": "0.10000000",
      "qty": "5.00000000",
      "commission": "0.00000500",
      "commissionAsset": "USDT",
      "tradeId": 56
    },
    {
      "price": "0.10000000", 
      "qty": "5.00000000",
      "commission": "0.00000500",
      "commissionAsset": "USDT",
      "tradeId": 57
    }
  ]
}

主な違い:

  • ACK:注文の基本状態のみを返し、成立の詳細は含まれない
  • RESULT:詳細な成立情報(fills配列)と手数料の詳細を含む
  • 性能:ACK 応答はより速く、RESULT 応答は詳細だがやや遅い

各タイプの注文パラメータの詳細#

1. 指値注文#

Binance アプリで「指値注文」を選択したときに対応する API パラメータ:

完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "BUY",                // 必須:売買方向
  "type": "LIMIT",              // 必須:注文タイプ - 重要なパラメータ
  "timeInForce": "GTC",         // 必須:有効時間 - 重要なパラメータ
  "quantity": "0.1",            // 必須:委託数量
  "price": "3450.00",           // 必須:委託価格 - 重要なパラメータ
  
  // オプションパラメータ
  "positionSide": "BOTH",       // ポジションの方向(単方向ポジションのデフォルトはBOTH)
  "reduceOnly": false,          // ポジションを減少させるのみか
  "newClientOrderId": "my_order_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
}

2. 成行注文#

Binance アプリで「成行注文」を選択したときに対応する API パラメータ:

完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "BUY",                // 必須:売買方向
  "type": "MARKET",             // 必須:注文タイプ - 重要なパラメータ
  "quantity": "0.1",            // 必須:委託数量
  
  // オプションパラメータ
  "positionSide": "BOTH",       // ポジションの方向(単方向ポジションのデフォルトはBOTH)
  "reduceOnly": false,          // ポジションを減少させるのみか
  "newClientOrderId": "my_order_002", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
  
  // 注意:成行注文には価格パラメータは不要 - 重要な特徴
}

3. 指値利益確定損切り#

Binance アプリで利益確定 / 損切りを選択し、実行方式を「指値」に選択したときに対応する API パラメータ:

損切り注文の完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "SELL",               // 必須:売買方向
  "type": "STOP",               // 必須:注文タイプ - 重要なパラメータ
  "quantity": "0.1",            // 必須:委託数量
  "price": "3400.00",           // 必須:トリガー後の実行価格 - 重要なパラメータ
  "stopPrice": "3420.00",       // 必須:トリガー価格 - 重要なパラメータ
  
  // オプションパラメータ
  "timeInForce": "GTC",         // 有効時間(デフォルトはGTC)
  "workingType": "MARK_PRICE",  // トリガー条件:マーク価格/契約最新価格 - 重要なパラメータ
  "priceProtect": false,        // 価格保護
  "positionSide": "BOTH",       // ポジションの方向
  "reduceOnly": false,          // ポジションを減少させるのみか
  "newClientOrderId": "my_stop_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
}

利益確定注文の完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "SELL",               // 必須:売買方向
  "type": "TAKE_PROFIT",        // 必須:注文タイプ - 重要なパラメータ
  "quantity": "0.1",            // 必須:委託数量
  "price": "3600.00",           // 必須:トリガー後の実行価格 - 重要なパラメータ
  "stopPrice": "3580.00",       // 必須:トリガー価格 - 重要なパラメータ
  
  // オプションパラメータ
  "timeInForce": "GTC",         // 有効時間(デフォルトはGTC)
  "workingType": "MARK_PRICE",  // トリガー条件:マーク価格/契約最新価格 - 重要なパラメータ
  "priceProtect": false,        // 価格保護
  "positionSide": "BOTH",       // ポジションの方向
  "reduceOnly": false,          // ポジションを減少させるのみか
  "newClientOrderId": "my_tp_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
}

4. 成行利益確定損切り#

Binance アプリで利益確定 / 損切りを選択し、実行方式を「成行」に選択したときに対応する API パラメータ:

損切り注文の完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "SELL",               // 必須:売買方向
  "type": "STOP_MARKET",        // 必須:注文タイプ - 重要なパラメータ
  "stopPrice": "3420.00",       // 必須:トリガー価格 - 重要なパラメータ
  
  // 数量パラメータ(二択)
  "quantity": "0.1",            // 指定数量
  // "closePosition": true,      // または全てを決済 - 重要なパラメータ
  
  // オプションパラメータ
  "workingType": "MARK_PRICE",  // トリガー条件:マーク価格/契約最新価格 - 重要なパラメータ
  "priceProtect": false,        // 価格保護
  "positionSide": "BOTH",       // ポジションの方向
  "newClientOrderId": "my_stop_market_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
  
  // 注意:成行損切りには価格パラメータは不要、トリガー後に成行で実行 - 重要な特徴
}

利益確定注文の完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "SELL",               // 必須:売買方向
  "type": "TAKE_PROFIT_MARKET", // 必須:注文タイプ - 重要なパラメータ
  "stopPrice": "3580.00",       // 必須:トリガー価格 - 重要なパラメータ
  
  // 数量パラメータ(二択)
  "quantity": "0.1",            // 指定数量
  // "closePosition": true,      // または全てを決済 - 重要なパラメータ
  
  // オプションパラメータ
  "workingType": "MARK_PRICE",  // トリガー条件:マーク価格/契約最新価格 - 重要なパラメータ
  "priceProtect": false,        // 価格保護
  "positionSide": "BOTH",       // ポジションの方向
  "newClientOrderId": "my_tp_market_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
  
  // 注意:成行利益確定には価格パラメータは不要、トリガー後に成行で実行 - 重要な特徴
}

5. トレーリング注文#

Binance アプリで「トレーリング注文」を選択したときに対応する API パラメータ:

完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "SELL",               // 必須:売買方向
  "type": "TRAILING_STOP_MARKET", // 必須:注文タイプ - 重要なパラメータ
  "quantity": "0.1",            // 必須:委託数量
  "activationPrice": "3500.00", // 必須:アクティベーション価格 - 重要なパラメータ
  "callbackRate": "1.0",        // 必須:コールバック比率(1.0=1%)- 重要なパラメータ
  
  // オプションパラメータ
  "workingType": "CONTRACT_PRICE", // 価格タイプ:マーク価格/契約最新価格
  "positionSide": "BOTH",       // ポジションの方向
  "newClientOrderId": "my_trailing_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
  
  // 注意:トレーリング注文には価格とstopPriceパラメータは不要 - 重要な特徴
  // アクティベーション条件:売り注文のactivationPriceは現在の価格より高くなければならない
}

6. メイカーのみ#

Binance アプリで「メイカーのみ」を選択したときに対応する API パラメータ:

完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "BUY",                // 必須:売買方向
  "type": "LIMIT",              // 必須:注文タイプ
  "timeInForce": "GTX",         // 必須:有効時間 - 重要なパラメータ(必ずGTXでなければならない)
  "quantity": "0.1",            // 必須:委託数量
  "price": "3450.00",           // 必須:委託価格
  
  // オプションパラメータ
  "positionSide": "BOTH",       // ポジションの方向(単方向ポジションのデフォルトはBOTH)
  "reduceOnly": false,          // ポジションを減少させるのみか
  "newClientOrderId": "my_gtx_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
  
  // 重要な特徴:注文が即座に成立する場合(テイカーになる場合)、システムは注文を拒否する
  // メイカーとしてのみ流動性を提供し、メイカー手数料を享受する
}

7. 条件注文#

条件注文は STOP、TAKE_PROFIT タイプの注文の一般的な呼称で、詳細パラメータは「指値利益確定損切り」と「成行利益確定損切り」セクションを参照してください。

条件注文の重要な特徴:

  • 含まれる:STOP、TAKE_PROFIT、STOP_MARKET、TAKE_PROFIT_MARKET
  • すべてstopPriceトリガー価格 - 重要なパラメータ
  • トリガー条件が達成されたときにのみ注文がアクティブになる

8. 分時注文(TWAP)#

Binance アプリで「分時注文」を選択したときに対応する API パラメータ:

完全なパラメータ例:

{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "BUY",                // 必須:売買方向
  "type": "LIMIT",              // 必須:注文タイプ
  "timeInForce": "GTD",         // 必須:有効時間 - 重要なパラメータ(必ずGTDでなければならない)
  "quantity": "0.1",            // 必須:委託数量
  "price": "3450.00",           // 必須:委託価格
  "goodTillDate": 1640995200000, // 必須:有効期限のタイムスタンプ - 重要なパラメータ
  
  // オプションパラメータ
  "positionSide": "BOTH",       // ポジションの方向(単方向ポジションのデフォルトはBOTH)
  "reduceOnly": false,          // ポジションを減少させるのみか
  "newClientOrderId": "my_twap_001", // カスタム注文ID
  "newOrderRespType": "ACK"     // 応答タイプ
  
  // 重要な特徴:システムは大口注文を複数の小さな成行注文に分割する
  // 指定された時間内に分割して実行し、時間加重平均価格を実現する
}

9. 分割注文#

分割注文は単一の API パラメータではなく、複数の注文の組み合わせです:

実現方法:

  • 大口注文を複数の小口注文に分割する
  • 各小口注文は独立して発注される
  • 異なる価格の指値注文の組み合わせである可能性がある
  • または、時間を分けて実行する注文のシーケンスである可能性がある

完全なパラメータ例(複数の独立した注文):

// 注文1 - 高い価格
{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "BUY",                // 必須:売買方向
  "type": "LIMIT",              // 必須:注文タイプ
  "timeInForce": "GTC",         // 必須:有効時間
  "quantity": "0.05",           // 必須:委託数量
  "price": "3450.00",           // 必須:委託価格 - 重要なパラメータ
  "newClientOrderId": "batch_001_1" // カスタム注文ID
}

// 注文2 - 低い価格
{
  "symbol": "ETHUSDT",           // 必須:取引ペア
  "side": "BUY",                // 必須:売買方向
  "type": "LIMIT",              // 必須:注文タイプ
  "timeInForce": "GTC",         // 必須:有効時間
  "quantity": "0.05",           // 必須:委託数量
  "price": "3440.00",           // 必須:委託価格 - 重要なパラメータ
  "newClientOrderId": "batch_001_2" // カスタム注文ID
}

// 重要な特徴:複数の異なる価格の注文を通じて階層的な買い/売り戦略を実現する

パラメータ依存関係のまとめ#

価格関連パラメータ#

  • LIMITタイプ:priceを必ず提供する必要がある
  • MARKETタイプ:価格パラメータは不要
  • STOP/TAKE_PROFITタイプ:pricestopPriceが必要
  • STOP_MARKET/TAKE_PROFIT_MARKETタイプ:stopPriceのみが必要
  • TRAILING_STOP_MARKETタイプ:activationPricecallbackRateが必要

数量関連パラメータ#

  • 大部分の注文タイプはquantityが必要
  • STOP_MARKET/TAKE_PROFIT_MARKETclosePosition=trueを代わりに使用できる
  • TRAILING_STOP_MARKETは明示的に数量を指定する必要がない

時間有効性パラメータ#

  • LIMIT注文:timeInForceを必ず指定する必要がある
  • STOP/TAKE_PROFIT注文:オプションのtimeInForce、デフォルトは GTC
  • 他の注文タイプ:通常このパラメータは必要ない

注意事項#

メイカーとテイカーの判断ルール#

多くの人が注文タイプがメイカー / テイカーの役割を決定すると誤解していますが、実際には:

重要な判断基準:

  • 注文が既存のオーダーブックと即時に成立するかどうかであり、注文タイプ自体ではない

成行注文:

  • 通常はテイカー:成行注文は即座に現在の最良価格で成立する
  • 極めて稀な例外:流動性が極端に不足している場合、成行注文が一部メイカーになる可能性がある

指値注文:

  • メイカーになる可能性がある:指値注文の価格が即座に成立しない場合、オーダーブックに残り、待機する
  • テイカーになる可能性もある:指値注文の価格が即座に既存の注文とマッチして成立する場合

具体的な例:

指値注文がテイカーになる場合:

  • 現在の売り価格:50,000 USDT
  • あなたが出した指値買い注文:50,000 USDT(即座に成立)
  • 結果:あなたの指値注文はテイカー

指値注文がメイカーになる場合:

  • 現在の売り価格:50,000 USDT
  • あなたが出した指値買い注文:49,950 USDT(即座に成立しない)
  • 結果:あなたの指値注文はオーダーブックに残り、メイカーになる

成行注文がテイカーになる場合(一般的):

  • あなたが成行買い注文を出す
  • 即座に現在の最良売り価格で成立する
  • 結果:あなたはテイカー

selfTradePreventionMode への影響:

  • システムは実際のメイカー / テイカーの役割に基づいて防止ルールを適用する
  • 注文タイプに基づくのではなく、最終的な成立役割に基づく

メイカーになることを保証する方法#

メイカーはより低い手数料を享受するため、多くのトレーダーは自分の注文がメイカーになることを保証したいと考えています:

1. timeInForce=GTX を使用する

  • GTX(Good Till Crossing):受動的注文、メイカーのみ
  • 注文が即座に成立する場合(テイカーになる場合)、システムは注文を拒否する
  • これは最も直接的で安全な方法です

2. 価格戦略

  • 買い注文:価格を現在の買い価格より低く設定
  • 売り注文:価格を現在の売り価格より高く設定
  • こうすることで、注文はオーダーブックに残り、成立を待つ

3. priceMatch の待機価格を使用する

  • QUEUE:待機価格(買い / 売り価格)
  • QUEUE_5/10/20:待機価格を基に少し最適化する
  • 100% 保証ではないが、大きな確率でメイカーになる

実際の例:
現在の BTCUSDT:買い価格 49,950、売り価格 50,000

メイカーになることを保証する注文:

// 買い注文をメイカーとして行う
{
  "side": "BUY",
  "price": "49,940",  // 買い価格より低い
  "timeInForce": "GTX"
}

// 売り注文をメイカーとして行う  
{
  "side": "SELL",
  "price": "50,010",  // 売り価格より高い
  "timeInForce": "GTX"
}

最も安全な組み合わせ:
timeInForce=GTX + 適切な価格戦略を使用することで、価格判断を誤っても、システムは注文を拒否し、意図しないテイカーになることを防ぐことができます。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。