macro_rules! replace {
(
old_ref_num: $f1:expr,
new_ref_num: $f2:expr,
quantity: $f3:expr,
price: $f4:expr,
time_in_force: $f5:expr,
display: $f6:expr,
intermarket_sweep: $f7:expr,
order_token: $f8:expr $(,)?
) => { ... };
}Expand description
Create a ReplaceOrder request message. WARN: PANIC! This constructor will PANIC if quantity >= 1,000,000.
use slouch::{
replace,
types::*,
};
let request1 = replace!{
old_ref_num: UserRefNum::new(),
new_ref_num: UserRefNum::new(),
quantity: 420u32,
price: Price::new(35001).unwrap(),
time_in_force: TimeInForce::Day,
display: Display::Visible,
intermarket_sweep: false,
order_token: OrderToken::from("To The Moon").unwrap()
};
use slouch::msg::{ OuchRequest, ReplaceOrder };
let request2 = OuchRequest::ReplaceOrder(
ReplaceOrder::new(
UserRefNum::new(),
UserRefNum::new(),
420u32,
Price::new(35001).unwrap(),
TimeInForce::Day,
Display::Visible,
false,
OrderToken::from("To The Moon").unwrap()
).unwrap()
);
assert_eq!(request1, request2);