修正涨停持仓延迟卖出打标
This commit is contained in:
@@ -8890,6 +8890,26 @@ impl Strategy for PlatformExprStrategy {
|
|||||||
if !explicit_action_intents.is_empty() {
|
if !explicit_action_intents.is_empty() {
|
||||||
order_intents.extend(explicit_action_intents);
|
order_intents.extend(explicit_action_intents);
|
||||||
}
|
}
|
||||||
|
if self.config.delayed_limit_open_exit_enabled {
|
||||||
|
let trade_time = self.intraday_execution_start_time();
|
||||||
|
for position in ctx.portfolio.positions().values() {
|
||||||
|
if position.quantity == 0 || delayed_sold_symbols.contains(&position.symbol) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if matches!(
|
||||||
|
self.stock_is_at_upper_limit_at_time(
|
||||||
|
ctx,
|
||||||
|
projection_date,
|
||||||
|
&position.symbol,
|
||||||
|
trade_time,
|
||||||
|
)?,
|
||||||
|
Some(true)
|
||||||
|
) {
|
||||||
|
self.pending_highlimit_holdings
|
||||||
|
.insert(position.symbol.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let mut diagnostics = vec![
|
let mut diagnostics = vec![
|
||||||
if self.config.rotation_enabled {
|
if self.config.rotation_enabled {
|
||||||
@@ -14934,7 +14954,7 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn platform_aiquant_weak_market_sells_upper_limit_when_not_pending() {
|
fn platform_aiquant_weak_market_marks_upper_limit_but_allows_target_adjust() {
|
||||||
let prev_date = d(2023, 5, 4);
|
let prev_date = d(2023, 5, 4);
|
||||||
let date = d(2023, 5, 5);
|
let date = d(2023, 5, 5);
|
||||||
let symbol = "600148.SH";
|
let symbol = "600148.SH";
|
||||||
@@ -15087,7 +15107,7 @@ mod tests {
|
|||||||
"{:?}",
|
"{:?}",
|
||||||
decision.order_intents
|
decision.order_intents
|
||||||
);
|
);
|
||||||
assert!(!strategy.pending_highlimit_holdings.contains(symbol));
|
assert!(strategy.pending_highlimit_holdings.contains(symbol));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
Reference in New Issue
Block a user