Skip to main content

BracketOrderRequest

Type Alias BracketOrderRequest 

Source
pub type BracketOrderRequest<ExchangeKey = ExchangeId, InstrumentKey = InstrumentNameExchange> = OrderEvent<RequestOpenBracket, ExchangeKey, InstrumentKey>;
Expand description

Bracket order request: entry + take-profit + stop-loss.

This is an OrderEvent with RequestOpenBracket as the state, providing the standard key (exchange, instrument, strategy, client order ID) plus bracket-specific parameters.

§Example

use rustrade_execution::order::bracket::{BracketOrderRequest, RequestOpenBracket};
use rustrade_execution::order::{OrderKey, TimeInForce};
use rustrade_execution::order::id::{ClientOrderId, StrategyId};
use rustrade_instrument::{Side, exchange::ExchangeId, instrument::name::InstrumentNameExchange};
use rust_decimal_macros::dec;

let request = BracketOrderRequest {
    key: OrderKey::new(
        ExchangeId::AlpacaBroker,
        InstrumentNameExchange::from("AAPL"),
        StrategyId::new("momentum"),
        ClientOrderId::new("bracket-001"),
    ),
    state: RequestOpenBracket::new(
        Side::Buy,
        dec!(10),
        dec!(150.00),  // entry
        dec!(160.00),  // take profit
        dec!(145.00),  // stop loss
        None,          // no stop-limit for SL
        TimeInForce::GoodUntilCancelled { post_only: false },
    ),
};

Aliased Type§

pub struct BracketOrderRequest<ExchangeKey = ExchangeId, InstrumentKey = InstrumentNameExchange> {
    pub key: OrderKey<ExchangeKey, InstrumentKey>,
    pub state: RequestOpenBracket,
}

Fields§

§key: OrderKey<ExchangeKey, InstrumentKey>§state: RequestOpenBracket