常見問題
Bybit的服務器在哪裡?
AWS 新加坡, 可用區域 ID apse1-az3.
reduceOnly
和closeOnTrigger
- 區別是什麼?
- 要平倉,請提交訂單並將
reduceOnly
指定為 true。closeOnTrigger
在這裡並不嚴格適用,但如果需要,您也可以將其設置為 true。 reduceOnly
是平倉時真正重要的一個,我們會在未來改進接口。- 將
closeOnTrigger
指定為 true 時要小心,因為當reduceOnly
為 false 時可能會導致衝突。
為什麼我會拿到10003 API key is invalid錯誤?
最可能是因為使用的key和域名不匹配:
a. 當請求到api.bybit.com或者stream.bybit.com時, 請確保api key創建自主網
# pybit示例
session = HTTP(
testnet=False,
api_key="XXXXX",
api_secret="XXXXX",
)
b. 當請求到api-demo.bybit.com或者stream-demo.bybit.com時, 請確保api key創建自主網的"模擬交易"服務
# pybit示例
session = HTTP(
testnet=False,
demo=True,
api_key="XXXXX",
api_secret="XXXXX",
)
c. 當請求到api-testnet.bybit.com或者stream-testnet.bybit.com時, 請確保api key創建自測試網
# pybit示例
session = HTTP(
testnet=True,
demo=False,
api_key="XXXXX",
api_secret="XXXXX",
)
d. 不要使用測試網的"模擬交易"服務, 沒有任何意義
為什麼網站上沒有顯示我的所有訂單?
- 擁有下大量階梯訂單的機器人的用戶將受到前端界面的限制,該界面僅在屏幕上顯示最多 50 個訂單。
- 不用擔心,您的訂單還在系統中,可以通過API查詢,但是前端顯示不會超過50個。
根據可用錢包餘額計算訂單大小
price * availableBalance * leverage * perc * (1 - (0.0006 * 2))
- 不幸的是,這不是一個完全準確的公式。實際計算很複雜,可能會在以後發佈在文檔中。
我可以用 API 兌換資產嗎?
閃兌接口, 但目前沒有小額資產兌換MNT的接口
我可以用 API 質押借貸嗎?
我如何獲得測試網(testnet)的資金?
使用母帳戶登錄後, 進入到該頁面, 右邊有個"申請測試幣"按鈕
為什麼我的平倉盈虧價格不准確?
- Closed PNL接口返回的
entryPrice
和exitPrice
不是訂單的實際執行價格。 - 它基於訂單的總成本 (頭寸是否僅由以一個價格執行的一個訂單開倉/平倉 - 如果多個訂單開倉/平倉則更加複雜。)
- 例如,此接口報告的 entryPrice 和 exitPrice 受訂單支付/收到的費用的影響。
如何確保我使用的是最新數據?
- REST API 或(甚至不太可能)websocket 有可能(儘管不太可能)返回/推送舊數據。
- 為了獲得最大程度的數據彈性,我們建議客戶:
- 首先,依賴於websocket,它不僅能保證你以最快的速度得到最新的數據,還能保證你得到完整的數據
- 其次,查詢 REST API 以填充數據中的任何差異 - 或者 websocket 斷開連接時之間的差異。
- 最佳做法是將所有這些數據本地保存在您自己的數據庫或緩存中。
- 這釋放了您對其他請求的速率限制,並且還確保了在數據延遲的情況下針對交易所的冗餘級別。
交易額和成交量有什麼區別?
Turnover
:與數量的貨幣相反的貨幣Volume
:與數量的貨幣使用相同的貨幣
為什麼下市價單響應中返回的價格是錯誤的?
市場訂單(在後端)只是以更差的價格提交的限價訂單。這是為了減少閃電崩盤或類似事件發生的可能性,在這種情況下,交易者可能會提交以比他們預期的價格低得多 的價格執行的市價單。這裡返回的價格是內部限價單價格。返回此“不准確”的價格是因為下單接口是異步的,這意味著在實際執行訂單之前將響應返回給您。
如果你想要真正的執行價格 (execPrice
),你應該訂閱 execution websocket。
為什麼餘額是夠的, 但是提幣或者劃轉時報餘額不足?
場景重現: 母帳戶提幣時遇到131001, Withdrawal amount is greater than your available balance (XXXX USDT), 或者從子帳戶劃轉到母帳戶時遇到131228, your balance is not enough,
但是調用查詢賬戶所有幣種余額看到響應transferBalance
是足夠的。
/v5/asset/transfer/query-account-coins-balance?accountType=FUND
{
"retCode": 0,
"retMsg": "success",
"result": {
"memberId": "247200692",
"accountType": "FUND",
"balance": [
{
"coin": "BTC",
"transferBalance": "0.06",
"walletBalance": "0.06",
"bonus": ""
}
]
},
"retExtInfo": {},
"time": 1735189176388
}
原因: 是由於最近母或子帳戶有新的入金, 導致鎖住對應的USD價值。例如, 5分鐘前母帳戶上帳了1個ETH, 立馬交易成了0.05個BTC, 但由於入金風險未完全釋放, 導致這0.05個BTC不能提出; 如果是充值到子帳戶,
則這部分金額不能劃轉到母帳戶。
建議: 1. 如果只需要確認單個幣種的可提/劃餘額, 可以總是使用查詢帳戶單個幣種餘額。另外, 機構借貸帳戶劃出到風險單元外時會受到ltv影響, 也可以使用該
接口查詢到準確劃轉餘額, 見例4, 例5。
//例1, 查詢本帳戶的某个錢包的某個幣種可提現餘額或者可劃出至母帳戶的餘額
GET /v5/asset/transfer/query-account-coin-balance?accountType=XXX&coin=XXX&withTransferSafeAmount=1
查看字段`transferSafeAmount`
//例2, 查詢本帳戶可劃出到子帳戶或者帳戶內其他錢包的某個幣種餘額
GET /v5/asset/transfer/query-account-coin-balance?accountType=XXX&coin=XXX&withTransferSafeAmount=1
查看字段`transferBalance`
//例3, 用母帳戶查詢指定子帳戶的某個錢包的某個幣種可劃轉餘額
GET /v5/asset/transfer/query-account-coin-balance?memberId=XXX&accountType=XXX&coin=XXX&withTransferSafeAmount=1
-> 劃出到其餘子帳戶或者帳戶內其他錢包: 看字段`transferBalance`
-> 劃出到母帳戶: 看字段`transferSafeAmount`
//例4: 機構借貸風險單元往外劃轉時, 在ltv安全線下允許劃轉的餘額(帳戶內劃轉, 劃轉到資金錢包)
GET /v5/asset/transfer/query-account-coin-balance?withLtvTransferSafeAmount=1&accountType=UNIFIED&toAccountType=FUND&coin=XXX
查看字段`ltvTransferSafeAmount`
//例5: 機構借貸風險單元往外劃轉時, 在ltv安全線下允許劃轉的餘額(劃轉到非機構借貸帳戶)
GET /v5/asset/transfer/query-account-coin-balance?withLtvTransferSafeAmount=1&toMemberId=XXX&accountType=UNIFIED&toAccountType=FUND&coin=XXX&
查看字段`ltvTransferSafeAmount`
- 如果需要一次查詢多個幣種的可劃轉餘額, 可以使用查詢賬戶所有幣種余額。但是, 在最近有入金的情況下, 會使得返回字段
transferBalance
小於等於真正可提現或可劃入到母帳戶 的餘額。另外, 當機構借貸帳戶需要劃到風險單元外時, 也會不準。此時, 應當參考建議1中的例4、例5。
//例1, 查詢本帳戶的資金錢包裡的全幣種餘額 (2025年1月9日後, 不再支持查詢全量幣種, coin需要必傳)
GET /v5/asset/transfer/query-account-coins-balance?accountType=FUND
//例2, 查詢本帳戶的統一錢包裡的部分幣種餘額 (2025年1月9日後, 支持查詢最多10個幣種)
GET /v5/asset/transfer/query-account-coins-balance?accountType=UNIFIED&coin=USDT,ETH,BTC,USDC
//例3, 查詢指定子帳戶的統一錢包裡的部分幣種餘額
GET /v5/asset/transfer/query-account-coins-balance?memberId=XXX&accountType=UNIFIED&coin=USDT,ETH,BTC,USDC
- 如果是要知道當前母帳戶是否還有入金未完全釋放風險, 可以使用查詢延遲提幣凍結金額
GET /v5/asset/withdraw/withdrawable-amount?coin=XXX
查看字段`limitAmountUsd`, 等於0則表示當前所有入金已經釋放風險; 不等於0則表示還有對應折合成USD的幣沒有完全釋放風險