File tree Expand file tree Collapse file tree 3 files changed +14
-1
lines changed
Expand file tree Collapse file tree 3 files changed +14
-1
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,7 @@ cpdef str trailing_offset_type_to_str(TrailingOffsetType value)
120120cpdef TriggerType trigger_type_from_str(str value)
121121cpdef str trigger_type_to_str(TriggerType value)
122122
123+ cpdef order_side_to_pyo3(OrderSide value)
123124cpdef order_type_to_pyo3(OrderType value)
124125cpdef order_status_to_pyo3(OrderStatus value)
125126cpdef time_in_force_to_pyo3(TimeInForce value)
Original file line number Diff line number Diff line change @@ -281,6 +281,17 @@ cpdef str trigger_type_to_str(TriggerType value):
281281 return cstr_to_pystr(trigger_type_to_cstr(value))
282282
283283
284+ cpdef order_side_to_pyo3(OrderSide value):
285+ if value == OrderSide.BUY:
286+ return nautilus_pyo3.OrderSide.BUY
287+ if value == OrderSide.SELL:
288+ return nautilus_pyo3.OrderSide.SELL
289+ if value == OrderSide.NO_ORDER_SIDE:
290+ return nautilus_pyo3.OrderSide.NO_ORDER_SIDE
291+
292+ raise ValueError (f" Unsupported `OrderSide`, was '{order_side_to_str(value)}'" )
293+
294+
284295cpdef order_type_to_pyo3(OrderType value):
285296 if value == OrderType.MARKET:
286297 return nautilus_pyo3.OrderType.MARKET
Original file line number Diff line number Diff line change @@ -48,6 +48,7 @@ from nautilus_trader.model.events.order cimport OrderSubmitted
4848from nautilus_trader.model.events.order cimport OrderTriggered
4949from nautilus_trader.model.events.order cimport OrderUpdated
5050from nautilus_trader.model.functions cimport contingency_type_to_str
51+ from nautilus_trader.model.functions cimport order_side_to_pyo3
5152from nautilus_trader.model.functions cimport order_side_to_str
5253from nautilus_trader.model.functions cimport order_status_to_pyo3
5354from nautilus_trader.model.functions cimport order_type_to_pyo3
@@ -449,7 +450,7 @@ cdef class Order:
449450 trader_id = nautilus_pyo3.TraderId(self .trader_id.value),
450451 client_order_id = nautilus_pyo3.ClientOrderId(self .client_order_id.value),
451452 venue_order_id = nautilus_pyo3.VenueOrderId(self .venue_order_id.value) if self .venue_order_id else None ,
452- side = nautilus_pyo3.OrderSide.BUY if self .side == OrderSide.BUY else nautilus_pyo3.OrderSide.SELL ,
453+ side = order_side_to_pyo3( self .side) ,
453454 price = nautilus_pyo3.Price(price.as_f64_c(), price._mem.precision),
454455 size = nautilus_pyo3.Quantity(self .leaves_qty.as_f64_c(), self .leaves_qty._mem.precision),
455456 order_type = order_type_to_pyo3(self .order_type),
You can’t perform that action at this time.
0 commit comments