严格按实际委托时间选择盘后撮合
This commit is contained in:
@@ -629,6 +629,7 @@ where
|
||||
fn ensure_execution_quotes_for_decision(
|
||||
&mut self,
|
||||
execution_date: NaiveDate,
|
||||
order_created_date: NaiveDate,
|
||||
portfolio: &PortfolioState,
|
||||
open_orders: &[OpenOrderView],
|
||||
decision: &StrategyDecision,
|
||||
@@ -638,9 +639,12 @@ where
|
||||
if self.execution_quote_loader.is_none() {
|
||||
return Ok(());
|
||||
}
|
||||
let post_close_window = self
|
||||
.broker
|
||||
.post_close_execution_quote_window(execution_date);
|
||||
let submission_time = start_time.or_else(|| self.broker.intraday_execution_start_time());
|
||||
let post_close_window = self.broker.post_close_execution_quote_window_for_order(
|
||||
execution_date,
|
||||
order_created_date,
|
||||
submission_time,
|
||||
);
|
||||
if self.broker.execution_price_field() != PriceField::Last
|
||||
&& !decision_has_algo_execution(decision)
|
||||
&& post_close_window.is_none()
|
||||
@@ -2401,6 +2405,7 @@ where
|
||||
let pre_auction_execution_orders = self.open_order_views();
|
||||
self.ensure_execution_quotes_for_decision(
|
||||
execution_date,
|
||||
decision_date,
|
||||
&portfolio,
|
||||
&pre_auction_execution_orders,
|
||||
&auction_decision,
|
||||
@@ -2648,6 +2653,7 @@ where
|
||||
let pre_intraday_execution_orders = self.open_order_views();
|
||||
self.ensure_execution_quotes_for_decision(
|
||||
execution_date,
|
||||
decision_date,
|
||||
&portfolio,
|
||||
&pre_intraday_execution_orders,
|
||||
&decision,
|
||||
@@ -2906,6 +2912,7 @@ where
|
||||
let pre_minute_execution_orders = self.open_order_views();
|
||||
self.ensure_execution_quotes_for_decision(
|
||||
execution_date,
|
||||
decision_date,
|
||||
&portfolio,
|
||||
&pre_minute_execution_orders,
|
||||
&minute_decision,
|
||||
|
||||
Reference in New Issue
Block a user