self.get_orders

lumibot.strategies.strategy.Strategy.get_orders(self, identifiers: list[str] = None, statuses=None, broker_refresh: bool = True, broker_refresh_ttl_seconds: float = 0.0)

Get tracked orders, optionally filtered by identifiers and OrderStatus values.

In live trading this refreshes broker order state before returning by default. For currently active/open orders, use statuses=Order.ACTIVE_STATUSES; raw string status filters are rejected to avoid typos and broker-specific wording.

If you need to verify the exact order immediately after submit_order(order), prefer self.get_order(order.identifier). Broad broker order-list endpoints used by get_orders(…) can lag briefly after submit; if broad-list logic must run immediately after submit, use a short self.sleep(…, process_pending_orders=True) first.

Parameters:
  • identifiers (list of str) – A list of order identifiers to filter the orders by. If None, returns all tracked orders for the strategy.

  • statuses (Order.OrderStatus or iterable of Order.OrderStatus) – Optional enum status filter. Use Order.ACTIVE_STATUSES for currently active/open orders.

Returns:

Order objects for the strategy if there are tracked

Return type:

list of Order objects

Example

>>> # Get all tracked orders
>>> orders = self.get_orders()
>>> for order in orders:
>>>     # Show the status of each order
>>>     self.log_message(order.status)
>>> # Get active/open orders
>>> orders = self.get_orders(statuses=Order.ACTIVE_STATUSES)
>>> for order in orders:
>>>     self.cancel_order(order)