BacktestingDataRequestStatusChangedEventArgs.DataRequest
property · BacktestingDataRequestStatusChangedEventArgs · cAlgo.API Since 5.3
DesktopCLICloud
Gets data request.
Environment behaviour
CLI — not supported. Available to plugins only, and plugins cannot run in the CLI.
Cloud — not supported. Available to plugins only, and plugins cannot run in the cloud.
Definition
public BacktestingDataRequest DataRequest {get;}
backtestingDataRequestStatusChangedEventArgs.DataRequest: BacktestingDataRequest
Returns BacktestingDataRequest
Examples
protected override void OnStart()
{
var options = new BacktestingDataSourceOptions(BacktestingDataSourceDataType.M1OpenPrices, OnMinMaxTimeRequested, OnDataRequested);
Backtesting.DataSources.Add("My Data Source", options);
}
private BacktestingMinMaxTime OnMinMaxTimeRequested(BacktestingDataSourceMinMaxTimeArgs args)
{
return new BacktestingMinMaxTime(Server.Time.AddYears(-1), Server.Time);
}
private void OnDataRequested(BacktestingDataRequest request)
{
request.StatusChanged += OnDataRequestStatusChanged;
}
private void OnDataRequestStatusChanged(BacktestingDataRequestStatusChangedEventArgs args)
{
var request = args.DataRequest;
Print("{0} request from {1} to {2} is now {3}", request.DataType, request.StartTime, request.EndTime, request.Status);
}
from System import Action, Func
def on_start(self):
options = BacktestingDataSourceOptions(BacktestingDataSourceDataType.M1OpenPrices, Func[BacktestingDataSourceMinMaxTimeArgs, BacktestingMinMaxTime](self.on_min_max_time_requested), Action[BacktestingDataRequest](self.on_data_requested))
api.Backtesting.DataSources.Add("My Data Source", options)
def on_min_max_time_requested(self, args):
return BacktestingMinMaxTime(api.Server.Time.AddYears(-1), api.Server.Time)
def on_data_requested(self, request):
request.StatusChanged += self.on_data_request_status_changed
def on_data_request_status_changed(self, args):
request = args.DataRequest
api.Print(f"{request.DataType} request from {request.StartTime} to {request.EndTime} is now {request.Status}")