File tree 3 files changed +14
-1
lines changed
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)
120
120
cpdef TriggerType trigger_type_from_str(str value)
121
121
cpdef str trigger_type_to_str(TriggerType value)
122
122
123
+ cpdef order_side_to_pyo3(OrderSide value)
123
124
cpdef order_type_to_pyo3(OrderType value)
124
125
cpdef order_status_to_pyo3(OrderStatus value)
125
126
cpdef 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):
281
281
return cstr_to_pystr(trigger_type_to_cstr(value))
282
282
283
283
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
+
284
295
cpdef order_type_to_pyo3(OrderType value):
285
296
if value == OrderType.MARKET:
286
297
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
48
48
from nautilus_trader.model.events.order cimport OrderTriggered
49
49
from nautilus_trader.model.events.order cimport OrderUpdated
50
50
from nautilus_trader.model.functions cimport contingency_type_to_str
51
+ from nautilus_trader.model.functions cimport order_side_to_pyo3
51
52
from nautilus_trader.model.functions cimport order_side_to_str
52
53
from nautilus_trader.model.functions cimport order_status_to_pyo3
53
54
from nautilus_trader.model.functions cimport order_type_to_pyo3
@@ -449,7 +450,7 @@ cdef class Order:
449
450
trader_id = nautilus_pyo3.TraderId(self .trader_id.value),
450
451
client_order_id = nautilus_pyo3.ClientOrderId(self .client_order_id.value),
451
452
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) ,
453
454
price = nautilus_pyo3.Price(price.as_f64_c(), price._mem.precision),
454
455
size = nautilus_pyo3.Quantity(self .leaves_qty.as_f64_c(), self .leaves_qty._mem.precision),
455
456
order_type = order_type_to_pyo3(self .order_type),
You can’t perform that action at this time.
0 commit comments