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)