diff --git a/pkg/bbgo/active_book.go b/pkg/bbgo/active_book.go index 28095046e..53c7bc702 100644 --- a/pkg/bbgo/active_book.go +++ b/pkg/bbgo/active_book.go @@ -47,9 +47,17 @@ func (b *LocalActiveOrderBook) orderUpdateHandler(order types.Order) { b.EmitFilled(order) } - case types.OrderStatusPartiallyFilled, types.OrderStatusNew: + case types.OrderStatusPartiallyFilled: b.Update(order) + case types.OrderStatusNew: + if order.Quantity == 0 { + log.Debugf("[LocalActiveOrderBook] order status %s, removing %d...", order.Status, order.OrderID) + b.Remove(order) + } else { + b.Update(order) + } + case types.OrderStatusCanceled, types.OrderStatusRejected: log.Debugf("[LocalActiveOrderBook] order status %s, removing %d...", order.Status, order.OrderID) b.Remove(order)