pub struct ExecutionEngine { /* private fields */ }Expand description
Translates signals into orders using a provided ExecutionClient.
Implementations§
Source§impl ExecutionEngine
impl ExecutionEngine
Sourcepub fn new(
client: Arc<dyn ExecutionClient>,
sizer: Box<dyn OrderSizer>,
risk: Arc<dyn PreTradeRiskChecker>,
) -> Self
pub fn new( client: Arc<dyn ExecutionClient>, sizer: Box<dyn OrderSizer>, risk: Arc<dyn PreTradeRiskChecker>, ) -> Self
Instantiate the engine with its dependencies.
Sourcepub fn determine_quantity(
&self,
signal: &Signal,
ctx: &RiskContext,
) -> Result<Quantity>
pub fn determine_quantity( &self, signal: &Signal, ctx: &RiskContext, ) -> Result<Quantity>
Determine the quantity that should be used for a signal, honoring overrides when present.
Sourcepub async fn handle_signal(
&self,
signal: Signal,
ctx: RiskContext,
) -> BrokerResult<Option<Order>>
pub async fn handle_signal( &self, signal: Signal, ctx: RiskContext, ) -> BrokerResult<Option<Order>>
Consume a signal and forward it to the broker.
pub async fn amend_order( &self, request: OrderUpdateRequest, ) -> BrokerResult<Order>
pub fn client(&self) -> Arc<dyn ExecutionClient>
pub fn sizer(&self) -> &dyn OrderSizer
Auto Trait Implementations§
impl Freeze for ExecutionEngine
impl !RefUnwindSafe for ExecutionEngine
impl Send for ExecutionEngine
impl Sync for ExecutionEngine
impl Unpin for ExecutionEngine
impl !UnwindSafe for ExecutionEngine
Blanket Implementations§
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