pub struct MarketIfTouchedOrder {
pub trigger_price: Price,
pub trigger_type: TriggerType,
pub expire_time: Option<UnixNanos>,
pub trigger_instrument_id: Option<InstrumentId>,
pub is_triggered: bool,
pub ts_triggered: Option<UnixNanos>,
/* private fields */
}Fields§
§trigger_price: Price§trigger_type: TriggerType§expire_time: Option<UnixNanos>§trigger_instrument_id: Option<InstrumentId>§is_triggered: bool§ts_triggered: Option<UnixNanos>Implementations§
Source§impl MarketIfTouchedOrder
impl MarketIfTouchedOrder
Sourcepub fn new_checked(
trader_id: TraderId,
strategy_id: StrategyId,
instrument_id: InstrumentId,
client_order_id: ClientOrderId,
order_side: OrderSide,
quantity: Quantity,
trigger_price: Price,
trigger_type: TriggerType,
time_in_force: TimeInForce,
expire_time: Option<UnixNanos>,
reduce_only: bool,
quote_quantity: bool,
emulation_trigger: Option<TriggerType>,
trigger_instrument_id: Option<InstrumentId>,
contingency_type: Option<ContingencyType>,
order_list_id: Option<OrderListId>,
linked_order_ids: Option<Vec<ClientOrderId>>,
parent_order_id: Option<ClientOrderId>,
exec_algorithm_id: Option<ExecAlgorithmId>,
exec_algorithm_params: Option<IndexMap<Ustr, Ustr>>,
exec_spawn_id: Option<ClientOrderId>,
tags: Option<Vec<Ustr>>,
init_id: UUID4,
ts_init: UnixNanos,
) -> Result<Self, OrderError>
pub fn new_checked( trader_id: TraderId, strategy_id: StrategyId, instrument_id: InstrumentId, client_order_id: ClientOrderId, order_side: OrderSide, quantity: Quantity, trigger_price: Price, trigger_type: TriggerType, time_in_force: TimeInForce, expire_time: Option<UnixNanos>, reduce_only: bool, quote_quantity: bool, emulation_trigger: Option<TriggerType>, trigger_instrument_id: Option<InstrumentId>, contingency_type: Option<ContingencyType>, order_list_id: Option<OrderListId>, linked_order_ids: Option<Vec<ClientOrderId>>, parent_order_id: Option<ClientOrderId>, exec_algorithm_id: Option<ExecAlgorithmId>, exec_algorithm_params: Option<IndexMap<Ustr, Ustr>>, exec_spawn_id: Option<ClientOrderId>, tags: Option<Vec<Ustr>>, init_id: UUID4, ts_init: UnixNanos, ) -> Result<Self, OrderError>
Creates a new MarketIfTouchedOrder instance.
§Errors
Returns an error if:
- The
quantityis not positive. - The
time_in_forceis GTD and theexpire_timeisNoneor zero.
Sourcepub fn new(
trader_id: TraderId,
strategy_id: StrategyId,
instrument_id: InstrumentId,
client_order_id: ClientOrderId,
order_side: OrderSide,
quantity: Quantity,
trigger_price: Price,
trigger_type: TriggerType,
time_in_force: TimeInForce,
expire_time: Option<UnixNanos>,
reduce_only: bool,
quote_quantity: bool,
emulation_trigger: Option<TriggerType>,
trigger_instrument_id: Option<InstrumentId>,
contingency_type: Option<ContingencyType>,
order_list_id: Option<OrderListId>,
linked_order_ids: Option<Vec<ClientOrderId>>,
parent_order_id: Option<ClientOrderId>,
exec_algorithm_id: Option<ExecAlgorithmId>,
exec_algorithm_params: Option<IndexMap<Ustr, Ustr>>,
exec_spawn_id: Option<ClientOrderId>,
tags: Option<Vec<Ustr>>,
init_id: UUID4,
ts_init: UnixNanos,
) -> Self
pub fn new( trader_id: TraderId, strategy_id: StrategyId, instrument_id: InstrumentId, client_order_id: ClientOrderId, order_side: OrderSide, quantity: Quantity, trigger_price: Price, trigger_type: TriggerType, time_in_force: TimeInForce, expire_time: Option<UnixNanos>, reduce_only: bool, quote_quantity: bool, emulation_trigger: Option<TriggerType>, trigger_instrument_id: Option<InstrumentId>, contingency_type: Option<ContingencyType>, order_list_id: Option<OrderListId>, linked_order_ids: Option<Vec<ClientOrderId>>, parent_order_id: Option<ClientOrderId>, exec_algorithm_id: Option<ExecAlgorithmId>, exec_algorithm_params: Option<IndexMap<Ustr, Ustr>>, exec_spawn_id: Option<ClientOrderId>, tags: Option<Vec<Ustr>>, init_id: UUID4, ts_init: UnixNanos, ) -> Self
Creates a new MarketIfTouchedOrder instance.
§Panics
Panics if any order validation fails (see MarketIfTouchedOrder::new_checked).
Methods from Deref<Target = OrderCore>§
Sourcepub fn apply(&mut self, event: OrderEventAny) -> Result<(), OrderError>
pub fn apply(&mut self, event: OrderEventAny) -> Result<(), OrderError>
Applies the event to the order.
§Errors
Returns an error if the event is invalid for the current order status, or if
event.client_order_id() or event.strategy_id() does not match the order.
pub fn set_slippage(&mut self, price: Price)
Sourcepub fn signed_decimal_qty(&self) -> Decimal
pub fn signed_decimal_qty(&self) -> Decimal
§Panics
Panics if the order side is neither Buy nor Sell.
pub fn would_reduce_only( &self, side: PositionSide, position_qty: Quantity, ) -> bool
pub fn commission(&self, currency: &Currency) -> Option<Money>
pub fn commissions(&self) -> IndexMap<Currency, Money>
pub fn commissions_vec(&self) -> Vec<Money>
pub fn init_event(&self) -> Option<OrderEventAny>
Trait Implementations§
Source§impl Clone for MarketIfTouchedOrder
impl Clone for MarketIfTouchedOrder
Source§fn clone(&self) -> MarketIfTouchedOrder
fn clone(&self) -> MarketIfTouchedOrder
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MarketIfTouchedOrder
impl Debug for MarketIfTouchedOrder
Source§impl Deref for MarketIfTouchedOrder
impl Deref for MarketIfTouchedOrder
Source§impl DerefMut for MarketIfTouchedOrder
impl DerefMut for MarketIfTouchedOrder
impl DerefToPyAny for MarketIfTouchedOrder
Source§impl<'de> Deserialize<'de> for MarketIfTouchedOrder
impl<'de> Deserialize<'de> for MarketIfTouchedOrder
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for MarketIfTouchedOrder
impl Display for MarketIfTouchedOrder
Source§impl From<MarketIfTouchedOrder> for OrderAny
impl From<MarketIfTouchedOrder> for OrderAny
Source§fn from(v: MarketIfTouchedOrder) -> OrderAny
fn from(v: MarketIfTouchedOrder) -> OrderAny
Converts to this type from the input type.
Source§impl From<MarketIfTouchedOrder> for StopOrderAny
impl From<MarketIfTouchedOrder> for StopOrderAny
Source§fn from(v: MarketIfTouchedOrder) -> StopOrderAny
fn from(v: MarketIfTouchedOrder) -> StopOrderAny
Converts to this type from the input type.
Source§impl<'a, 'py> FromPyObject<'a, 'py> for MarketIfTouchedOrderwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for MarketIfTouchedOrderwhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for MarketIfTouchedOrder
impl<'py> IntoPyObject<'py> for MarketIfTouchedOrder
Source§type Target = MarketIfTouchedOrder
type Target = MarketIfTouchedOrder
The Python output type
Source§type Output = Bound<'py, <MarketIfTouchedOrder as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <MarketIfTouchedOrder as IntoPyObject<'py>>::Target>
The smart pointer type to use. Read more
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Performs the conversion.
Source§impl Order for MarketIfTouchedOrder
impl Order for MarketIfTouchedOrder
fn into_any(self) -> OrderAny
fn status(&self) -> OrderStatus
fn trader_id(&self) -> TraderId
fn strategy_id(&self) -> StrategyId
fn instrument_id(&self) -> InstrumentId
fn symbol(&self) -> Symbol
fn venue(&self) -> Venue
fn client_order_id(&self) -> ClientOrderId
fn venue_order_id(&self) -> Option<VenueOrderId>
fn position_id(&self) -> Option<PositionId>
fn account_id(&self) -> Option<AccountId>
fn last_trade_id(&self) -> Option<TradeId>
fn order_side(&self) -> OrderSide
fn order_type(&self) -> OrderType
fn quantity(&self) -> Quantity
fn time_in_force(&self) -> TimeInForce
fn expire_time(&self) -> Option<UnixNanos>
fn price(&self) -> Option<Price>
fn trigger_price(&self) -> Option<Price>
fn trigger_type(&self) -> Option<TriggerType>
fn liquidity_side(&self) -> Option<LiquiditySide>
fn is_post_only(&self) -> bool
fn is_reduce_only(&self) -> bool
fn is_quote_quantity(&self) -> bool
fn has_price(&self) -> bool
fn display_qty(&self) -> Option<Quantity>
fn limit_offset(&self) -> Option<Decimal>
fn trailing_offset(&self) -> Option<Decimal>
fn trailing_offset_type(&self) -> Option<TrailingOffsetType>
fn emulation_trigger(&self) -> Option<TriggerType>
fn trigger_instrument_id(&self) -> Option<InstrumentId>
fn contingency_type(&self) -> Option<ContingencyType>
fn order_list_id(&self) -> Option<OrderListId>
fn linked_order_ids(&self) -> Option<&[ClientOrderId]>
fn parent_order_id(&self) -> Option<ClientOrderId>
fn exec_algorithm_id(&self) -> Option<ExecAlgorithmId>
fn exec_algorithm_params(&self) -> Option<&IndexMap<Ustr, Ustr>>
fn exec_spawn_id(&self) -> Option<ClientOrderId>
fn filled_qty(&self) -> Quantity
fn leaves_qty(&self) -> Quantity
fn overfill_qty(&self) -> Quantity
fn avg_px(&self) -> Option<f64>
fn slippage(&self) -> Option<f64>
fn init_id(&self) -> UUID4
fn ts_init(&self) -> UnixNanos
fn ts_submitted(&self) -> Option<UnixNanos>
fn ts_accepted(&self) -> Option<UnixNanos>
fn ts_closed(&self) -> Option<UnixNanos>
fn ts_last(&self) -> UnixNanos
fn events(&self) -> Vec<&OrderEventAny>
fn commissions(&self) -> &IndexMap<Currency, Money>
fn venue_order_ids(&self) -> Vec<&VenueOrderId>
fn trade_ids(&self) -> Vec<&TradeId>
Source§fn apply(&mut self, event: OrderEventAny) -> Result<(), OrderError>
fn apply(&mut self, event: OrderEventAny) -> Result<(), OrderError>
Applies the
event to the order. Read morefn update(&mut self, event: &OrderUpdated)
fn is_triggered(&self) -> Option<bool>
fn set_position_id(&mut self, position_id: Option<PositionId>)
fn set_quantity(&mut self, quantity: Quantity)
fn set_leaves_qty(&mut self, leaves_qty: Quantity)
fn set_emulation_trigger(&mut self, emulation_trigger: Option<TriggerType>)
fn set_is_quote_quantity(&mut self, is_quote_quantity: bool)
fn set_liquidity_side(&mut self, liquidity_side: LiquiditySide)
fn would_reduce_only(&self, side: PositionSide, position_qty: Quantity) -> bool
fn previous_status(&self) -> Option<OrderStatus>
fn activation_price(&self) -> Option<Price>
Source§fn calculate_overfill(&self, fill_qty: Quantity) -> Quantity
fn calculate_overfill(&self, fill_qty: Quantity) -> Quantity
Calculates potential overfill quantity without mutating order state.
fn order_side_specified(&self) -> OrderSideSpecified
fn last_event(&self) -> &OrderEventAny
fn event_count(&self) -> usize
Source§fn is_duplicate_fill(&self, fill: &OrderFilled) -> bool
fn is_duplicate_fill(&self, fill: &OrderFilled) -> bool
Returns
true if a fill with matching trade_id, side, qty, and price already exists.fn is_buy(&self) -> bool
fn is_sell(&self) -> bool
fn is_passive(&self) -> bool
fn is_aggressive(&self) -> bool
fn is_emulated(&self) -> bool
fn is_active_local(&self) -> bool
fn is_primary(&self) -> bool
fn is_spawned(&self) -> bool
fn is_contingency(&self) -> bool
fn is_parent_order(&self) -> bool
fn is_child_order(&self) -> bool
fn is_open(&self) -> bool
fn is_canceled(&self) -> bool
fn is_closed(&self) -> bool
fn is_inflight(&self) -> bool
fn is_pending_update(&self) -> bool
fn is_pending_cancel(&self) -> bool
fn to_own_book_order(&self) -> OwnBookOrder
Source§fn to_order_status_report(
&self,
report_id: Option<UUID4>,
) -> Option<OrderStatusReport>
fn to_order_status_report( &self, report_id: Option<UUID4>, ) -> Option<OrderStatusReport>
Builds an
OrderStatusReport snapshot from the order’s current state. Read moreSource§impl PartialEq for MarketIfTouchedOrder
impl PartialEq for MarketIfTouchedOrder
Source§impl PyClass for MarketIfTouchedOrder
impl PyClass for MarketIfTouchedOrder
Source§impl PyClassImpl for MarketIfTouchedOrder
impl PyClassImpl for MarketIfTouchedOrder
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
#[pyclass(subclass)]
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
#[pyclass(extends=…)]
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
#[pyclass(mapping)]
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
#[pyclass(sequence)]
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
#[pyclass(immutable_type)]
Source§const RAW_DOC: &'static CStr = c"\x00"
const RAW_DOC: &'static CStr = c"\x00"
Docstring for the class provided on the struct or enum. Read more
Source§const DOC: &'static CStr
const DOC: &'static CStr
Fully rendered class doc, including the
text_signature if a constructor is defined. Read moreSource§type Layout = <<MarketIfTouchedOrder as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<MarketIfTouchedOrder>
type Layout = <<MarketIfTouchedOrder as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<MarketIfTouchedOrder>
Description of how this class is laid out in memory
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
This handles following two situations: Read more
type Inventory = Pyo3MethodsInventoryForMarketIfTouchedOrder
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Immutable or mutable
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
The closest native ancestor. This is
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
Used to provide the dictoffset slot
(equivalent to tp_dictoffset)
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Used to provide the weaklistoffset slot
(equivalent to tp_weaklistoffset
Source§impl PyClassNewTextSignature for MarketIfTouchedOrder
impl PyClassNewTextSignature for MarketIfTouchedOrder
const TEXT_SIGNATURE: &'static str = "(trader_id, strategy_id, instrument_id, client_order_id, order_side, quantity, trigger_price, trigger_type, time_in_force, reduce_only, quote_quantity, init_id, ts_init, expire_time=None, emulation_trigger=None, trigger_instrument_id=None, contingency_type=None, order_list_id=None, linked_order_ids=None, parent_order_id=None, exec_algorithm_id=None, exec_algorithm_params=None, exec_spawn_id=None, tags=None)"
Source§impl PyStubType for MarketIfTouchedOrder
impl PyStubType for MarketIfTouchedOrder
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
The type to be used in the output signature, i.e. return type of the Python function or methods.
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
The type to be used in the input signature, i.e. the arguments of the Python function or methods. Read more
Source§impl PyTypeInfo for MarketIfTouchedOrder
impl PyTypeInfo for MarketIfTouchedOrder
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
👎Deprecated since 0.28.0:
prefer using ::type_object(py).name() to get the correct runtime value
Class name.
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
👎Deprecated since 0.28.0:
prefer using ::type_object(py).module() to get the correct runtime value
Module name, if any.
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Returns the PyTypeObject instance for this type.
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Returns the safe abstraction over the type object.
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
Checks if
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
Checks if
object is an instance of this type.Source§impl Serialize for MarketIfTouchedOrder
impl Serialize for MarketIfTouchedOrder
Source§impl TestDefault for MarketIfTouchedOrder
impl TestDefault for MarketIfTouchedOrder
Source§fn test_default() -> Self
fn test_default() -> Self
Creates a new test default MarketIfTouchedOrder instance.
Source§impl TryFrom<OrderInitialized> for MarketIfTouchedOrder
impl TryFrom<OrderInitialized> for MarketIfTouchedOrder
Source§type Error = OrderError
type Error = OrderError
The type returned in the event of a conversion error.
Source§impl TryInto<MarketIfTouchedOrder> for OrderAny
impl TryInto<MarketIfTouchedOrder> for OrderAny
Source§impl TryInto<MarketIfTouchedOrder> for StopOrderAny
impl TryInto<MarketIfTouchedOrder> for StopOrderAny
Auto Trait Implementations§
impl Freeze for MarketIfTouchedOrder
impl RefUnwindSafe for MarketIfTouchedOrder
impl Send for MarketIfTouchedOrder
impl Sync for MarketIfTouchedOrder
impl Unpin for MarketIfTouchedOrder
impl UnsafeUnpin for MarketIfTouchedOrder
impl UnwindSafe for MarketIfTouchedOrder
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
Converts
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
Converts
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
Converts
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
Returns the expected type as a possible argument for the
isinstance and issubclass function. Read more