Align order lifecycle with rqalpha close semantics

This commit is contained in:
boris
2026-04-23 03:41:49 -07:00
parent 8906490a40
commit b657205103
5 changed files with 314 additions and 27 deletions

View File

@@ -330,11 +330,6 @@ where
ProcessEventKind::PostOnDay,
"on_day:post",
);
let daily_fill_count = report.fill_events.len();
let day_orders = report.order_events.clone();
let day_fills = report.fill_events.clone();
let broker_diagnostics = report.diagnostics.clone();
self.extend_result(&mut result, report);
portfolio.update_prices(execution_date, &self.data, PriceField::Close)?;
@@ -358,6 +353,13 @@ where
ProcessEventKind::AfterTrading,
"after_trading",
);
let mut close_report = self.broker.after_trading(execution_date);
process_events.append(&mut close_report.process_events);
report.order_events.extend(close_report.order_events);
report.fill_events.extend(close_report.fill_events);
report.position_events.extend(close_report.position_events);
report.account_events.extend(close_report.account_events);
report.diagnostics.extend(close_report.diagnostics);
push_phase_event(
&mut process_events,
execution_date,
@@ -383,6 +385,11 @@ where
ProcessEventKind::PostSettlement,
"settlement:post",
);
let daily_fill_count = report.fill_events.len();
let day_orders = report.order_events.clone();
let day_fills = report.fill_events.clone();
let broker_diagnostics = report.diagnostics.clone();
self.extend_result(&mut result, report);
let benchmark =
self.data