fix: Bitget 平仓必须传 holdSide 参数
- PlaceMarketOrder 新增 holdSide 参数 - 平仓时(closeLeg)根据 leg.Side 传 holdSide="long"/"short" - 开仓传空字符串,不受影响 - 修复 BG 持续 'No position to close' (22002) 问题
This commit is contained in:
@@ -30,7 +30,7 @@ func NewBitgetTrade(apiKey, apiSecret, passphrase string) *BitgetTrade {
|
||||
}
|
||||
}
|
||||
|
||||
func (b *BitgetTrade) PlaceMarketOrder(side, symbol, size, tradeSide string) (string, error) {
|
||||
func (b *BitgetTrade) PlaceMarketOrder(side, symbol, size, tradeSide, holdSide string) (string, error) {
|
||||
ts := fmt.Sprintf("%d", time.Now().UnixMilli())
|
||||
method := "POST"
|
||||
|
||||
@@ -48,6 +48,10 @@ func (b *BitgetTrade) PlaceMarketOrder(side, symbol, size, tradeSide string) (st
|
||||
"tradeSide": tradeSide,
|
||||
"size": size,
|
||||
}
|
||||
// When closing, Bitget requires holdSide to identify which position to close
|
||||
if tradeSide == "close" && holdSide != "" {
|
||||
body["holdSide"] = holdSide
|
||||
}
|
||||
bodyJSON, _ := json.Marshal(body)
|
||||
|
||||
sign := b.sign(method, requestPath, ts, string(bodyJSON))
|
||||
|
||||
Reference in New Issue
Block a user