Skip to content

v0.3.8

Choose a tag to compare

@Quantweb3-Scott Quantweb3-Scott released this 14 Mar 08:49
· 63 commits to main since this release

Fixed

  • Order.reason now populated on failure: All exchange OMS implementations (Binance, Bybit, OKX, Bitget, HyperLiquid) now set the Order.reason field when creating FAILED or CANCEL_FAILED orders. Previously the error message was only logged and discarded — strategies receiving on_failed_order / on_cancel_failed_order callbacks always saw order.reason = None. The field is now populated from the exchange error response (REST exceptions, WS API errors, batch order individual failures).

Usage

def on_failed_order(self, order: Order):
    self.log.error(f"Order {order.oid} failed: {order.reason}")

def on_cancel_failed_order(self, order: Order):
    self.log.error(f"Cancel {order.oid} failed: {order.reason}")

Full Changelog: v0.3.7...v0.3.8