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