public class TimeSeriesSubscriptionExample { private readonly ITimeSeriesDataService timeSeries; private ITimeSeriesDataSubscription subscription; public TimeSeriesSubscriptionExample(ITimeSeriesDataService timeSeries) { this.timeSeries = timeSeries; } //string View = "BID"; // <===== Modify the view here! string View = "TRDPRC_1"; public void Launch() { subscription = timeSeries.SetupDataSubscription("HSIc1") .WithView(View) .WithAllFields() .WithInterval(CommonInterval.Tick) .WithNumberOfPoints(100) .OnDataReceived(DataReceivedCallback) .OnDataUpdated(DataUpdatedCallback) .WithTimeZone(TimezoneType.Instrument) .From(DateTime.Now.AddMinutes(-1)) .To(DateTime.Now.AddMinutes(1)) .CreateAndStart(); } private void DataReceivedCallback(DataChunk chunk) { foreach (ITickData tick in chunk.Records.ToTickRecords()) { Console.WriteLine($"Callback/{View}: {tick.Timestamp?.ToString("yyyy/MM/dd HH:mm:ss.fff")} {chunk.Ric} {tick.Value} {tick.Volume} {tick.Count}"); } } private void DataUpdatedCallback(IDataUpdate dataUpdate) { ITickData tick = dataUpdate.Records.ToTickRecords().FirstOrDefault(); if (dataUpdate.UpdateType == UpdateType.NewPoint) { Console.WriteLine($"New point/{View}: {tick.Timestamp?.ToString("yyyy/MM/dd HH:mm:ss.fff")} {dataUpdate.Ric} {tick.Value} {tick.Volume} {tick.Count}"); } else if (dataUpdate.UpdateType == UpdateType.ExistingPoint) { Console.WriteLine($"Updated point/{View}: {tick.Timestamp?.ToString("yyyy/MM/dd HH:mm:ss.fff")} {dataUpdate.Ric} {tick.Value} {tick.Volume} {tick.Count}"); } } }