Skip to content

Commit 7dd951e

Browse files
authored
Merge pull request #996 from andycheng123/fix/general-order-executor
fix/general-order-executor: do not check for base balance for futures
2 parents 4dad967 + 06c95a4 commit 7dd951e

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

pkg/bbgo/order_executor_general.go

+9-7
Original file line numberDiff line numberDiff line change
@@ -230,13 +230,15 @@ func (e *GeneralOrderExecutor) reduceQuantityAndSubmitOrder(ctx context.Context,
230230
var err error
231231
for i := 0; i < submitOrderRetryLimit; i++ {
232232
q := submitOrder.Quantity.Mul(fixedpoint.One.Sub(quantityReduceDelta))
233-
if submitOrder.Side == types.SideTypeSell {
234-
if baseBalance, ok := e.session.GetAccount().Balance(e.position.Market.BaseCurrency); ok {
235-
q = fixedpoint.Min(q, baseBalance.Available)
236-
}
237-
} else {
238-
if quoteBalance, ok := e.session.GetAccount().Balance(e.position.Market.QuoteCurrency); ok {
239-
q = fixedpoint.Min(q, quoteBalance.Available.Div(price))
233+
if !e.session.Futures {
234+
if submitOrder.Side == types.SideTypeSell {
235+
if baseBalance, ok := e.session.GetAccount().Balance(e.position.Market.BaseCurrency); ok {
236+
q = fixedpoint.Min(q, baseBalance.Available)
237+
}
238+
} else {
239+
if quoteBalance, ok := e.session.GetAccount().Balance(e.position.Market.QuoteCurrency); ok {
240+
q = fixedpoint.Min(q, quoteBalance.Available.Div(price))
241+
}
240242
}
241243
}
242244
log.Warnf("retrying order, adjusting order quantity: %v -> %v", submitOrder.Quantity, q)

0 commit comments

Comments
 (0)