Skip to content

BacktestingDataRequest

interface cAlgo.API Since 5.3

DesktopCLICloud

Represents a backtesting data request for a backtesting data source.

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 interface BacktestingDataRequest

Namespace: cAlgo.API · Group: DataSource

Examples

private void OnDataRequested(BacktestingDataRequest request)
{
    Print("{0} data requested for {1} from {2} to {3}", request.DataType, request.PriceDataSourceId.Symbol.Name, request.StartTime, request.EndTime);
    if (request.DataType != BacktestingDataSourceDataType.Tick)
    {
        request.Fail("Only tick data is provided by this data source");
        return;
    }
    var ticks = MarketData.GetTicks(request.PriceDataSourceId.Symbol.Name);
    var data = ticks.Where(tick => tick.Time >= request.StartTime && tick.Time <= request.EndTime)
        .Select(tick => new BacktestingTick(tick.Time, tick.Bid, tick.Ask));
    request.Complete(new BacktestingTickData(data));
}
from System import Array

def on_data_requested(self, request):
    api.Print(f"{request.DataType} data requested for {request.PriceDataSourceId.Symbol.Name} from {request.StartTime} to {request.EndTime}")
    if request.DataType != BacktestingDataSourceDataType.Tick:
        request.Fail("Only tick data is provided by this data source")
        return
    ticks = api.MarketData.GetTicks(request.PriceDataSourceId.Symbol.Name)
    data = [BacktestingTick(tick.Time, tick.Bid, tick.Ask) for tick in ticks if tick.Time >= request.StartTime and tick.Time <= request.EndTime]
    request.Complete(BacktestingTickData(Array[BacktestingTick](data)))

Methods

Name Description
CompleteDesktopCLICloudvoid Completes current request.
FailDesktopCLICloudvoid Notifies current request failure if something went wrong.

Properties

Name Description
DataTypeDesktopCLICloudBacktestingDataSourceDataType Gets request data type.
EndTimeDesktopCLICloudDateTime Gets request end time.
PriceDataSourceIdDesktopCLICloudPriceDataSourceId Gets request price data source Id (Symbol and TimeFrame).
StartTimeDesktopCLICloudDateTime Gets request start time.
StatusDesktopCLICloudBacktestingDataRequestStatus Gets current status of request.

Events

Name Description
StatusChangedDesktopCLICloudAction<BacktestingDataRequestStatusChangedEventArgs> Occurs when request status is changed.

See also