Здравствуйте!
Делаю следующее: подключаюсь, подписываюсь на свечи, получаю их и выполняю следующий код var _storagePath = @"D:\StockSharp\Storage".ToFullPath(); var _storageRegistry = new StorageRegistry() { DefaultDrive = new LocalMarketDataDrive(_storagePath) }; var _candleStorage = _storageRegistry.GetCandleStorage(_candleSeries, null, StorageFormats.Csv); _candleStorage.Save(_connector.GetCandles<Candle>(_candleSeries));
Но _connector.GetCandles<Candle>(_candleSeries) - не возвращает свечи, что я делаю не так? (_connector.GetCandleCount(_candleSeries); - возвращает 0) - я явно неправильно пытаюсь получить свечи, т.к. CandleSeriesProcessing срабатывает как следует.
Я предположил, раз у коннектора есть Securities, Trades и они сохраняются, то и свечи, возможно, где-то хранятся(или воссоздаются из другого объекта) и метод GetCandles "вытаскивает" их.
Comentarios (3)
Iniciar sesión o Crear cuenta, Inicie sesión o regístrese para dejar un comentario
Ответ получен от Михаила(вдруг кому нужно):
Сам подход неверный. Если хотите сохранять свечи в хранилище, то 1) или настройте StorageAdapter у коннектора 2) сохраняйте свечи из событие CandleSeriesProcessing
А можно пример(или описание) как работать с StorageAdapter для сохранения сделок и/или свечей?
Например, в описании я вижу настройку: _csvEntityRegistry = new CsvEntityRegistry(_historyPath); _storageRegistry = new StorageRegistry { DefaultDrive = new LocalMarketDataDrive(_historyPath), }; Connector = new Connector(_csvEntityRegistry, _storageRegistry); Connector.StorageAdapter.DaysLoad = TimeSpan.FromDays(3);
Но не вполне понятно как это работает. Адаптер сам знает когда считать данные из хранилища и когда записать?
Добрый день,
Вы можете увидеть пример инициализации коннектор в нашем пример SampleMultiConnection https://github.com/StockSharp/StockSharp/blob/master/Samples/Common/SampleMultiConnection/MainWindow.xaml.cs#L86
Да, коннектор сам знает когда записать в хранилище и когда считать данные.