Add bar and tick strategy lifecycle
This commit is contained in:
@@ -7,7 +7,7 @@ use std::sync::OnceLock;
|
||||
use chrono::{Datelike, Duration, NaiveDate, NaiveDateTime, NaiveTime};
|
||||
|
||||
use crate::cost::ChinaAShareCostModel;
|
||||
use crate::data::{DataSet, PriceField};
|
||||
use crate::data::{DataSet, IntradayExecutionQuote, PriceField};
|
||||
use crate::engine::BacktestError;
|
||||
use crate::events::{OrderSide, ProcessEvent};
|
||||
use crate::portfolio::PortfolioState;
|
||||
@@ -42,7 +42,19 @@ pub trait Strategy {
|
||||
) -> Result<StrategyDecision, BacktestError> {
|
||||
Ok(StrategyDecision::default())
|
||||
}
|
||||
fn on_day(&mut self, ctx: &StrategyContext<'_>) -> Result<StrategyDecision, BacktestError>;
|
||||
fn on_bar(&mut self, _ctx: &StrategyContext<'_>) -> Result<StrategyDecision, BacktestError> {
|
||||
Ok(StrategyDecision::default())
|
||||
}
|
||||
fn on_tick(
|
||||
&mut self,
|
||||
_ctx: &StrategyContext<'_>,
|
||||
_quote: &IntradayExecutionQuote,
|
||||
) -> Result<StrategyDecision, BacktestError> {
|
||||
Ok(StrategyDecision::default())
|
||||
}
|
||||
fn on_day(&mut self, _ctx: &StrategyContext<'_>) -> Result<StrategyDecision, BacktestError> {
|
||||
Ok(StrategyDecision::default())
|
||||
}
|
||||
fn after_trading(&mut self, _ctx: &StrategyContext<'_>) -> Result<(), BacktestError> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user