StorageHelper
Класс расширения для хранения.
Методы
public static void ClearDatesCache(IMarketDataStorageDrive drive)
StorageHelper.ClearDatesCache(drive)
Синхронная оболочка для CancellationToken).
- drive
- накопитель рыночных данных.
public static void Delete(ISecurityStorage storage, Security security)
StorageHelper.Delete(storage, security)
Синхронная оболочка для CancellationToken).
- storage
- хранение финансовых инструментов.
- security
- финансовый инструмент.
public static void Delete(IMarketDataStorageDrive drive, DateTime date)
StorageHelper.Delete(drive, date)
Синхронная оболочка для CancellationToken).
- drive
- накопитель рыночных данных.
- date
- Дата, за которую все данные будут удалены.
public static void Delete(IMarketDataStorage storage, IEnumerable<Message> data)
StorageHelper.Delete(storage, data)
Синхронная оболочка для CancellationToken).
- storage
- Хранение рыночных данных.
- data
- Рыночные данные будут удалены.
public static void Delete(IMarketDataStorage storage, DateTime date)
StorageHelper.Delete(storage, date)
Синхронная оболочка для CancellationToken).
- storage
- Хранение рыночных данных.
- date
- Дата, за которую все данные будут удалены.
public static bool Delete(IMarketDataStorage storage, DateTime? from, DateTime? to)
result = StorageHelper.Delete(storage, from, to)
Удалить рыночные данные из хранилища за указанный период времени.
- storage
- Хранение рыночных данных.
- from
- Время начала удаления данных. Если значение не указано, данные будут удалены, начиная с даты GetDatesAsync.
- to
- Время окончания, до которого данные должны быть удалены. Если значение не указано, данные будут удалены до даты окончания GetDatesAsync включительно.
Возвращает: если данные были удалены, данные не существуют в течение указанного периода.
public static ValueTask<bool> DeleteAsync(IMarketDataStorage storage, DateTime? from, DateTime? to, CancellationToken cancellationToken)
result = StorageHelper.DeleteAsync(storage, from, to, cancellationToken)
Удалить рыночные данные из хранилища за указанный период времени.
- storage
- Хранение рыночных данных.
- from
- Время начала удаления данных. Если значение не указано, данные будут удалены, начиная с даты GetDatesAsync.
- to
- Время окончания, до которого данные должны быть удалены. Если значение не указано, данные будут удалены до даты окончания GetDatesAsync включительно.
- cancellationToken
- CancellationToken
Возвращает: если данные были удалены, данные не существуют в течение указанного периода.
public static void DeleteBy(ISecurityStorage storage, SecurityLookupMessage criteria)
StorageHelper.DeleteBy(storage, criteria)
Синхронная оболочка для CancellationToken).
- storage
- хранение финансовых инструментов.
- criteria
- Критерий.
public static ValueTask DeleteByIdAsync(ISecurityStorage securityStorage, string securityId, CancellationToken cancellationToken)
result = StorageHelper.DeleteByIdAsync(securityStorage, securityId, cancellationToken)
Удалить инструмент по идентификатору.
- securityStorage
- Хранение метаинформации о финансовых инструментах.
- securityId
- Идентификатор.
- cancellationToken
- CancellationToken
public static ValueTask DeleteByIdAsync(ISecurityStorage securityStorage, SecurityId securityId, CancellationToken cancellationToken)
result = StorageHelper.DeleteByIdAsync(securityStorage, securityId, cancellationToken)
Удалить инструмент по идентификатору.
- securityStorage
- Хранение метаинформации о финансовых инструментах.
- securityId
- Идентификатор.
- cancellationToken
- CancellationToken
public static void DeleteRange(ISecurityStorage storage, IEnumerable<Security> securities)
StorageHelper.DeleteRange(storage, securities)
Синхронная оболочка для CancellationToken).
- storage
- хранение финансовых инструментов.
- securities
- финансовые инструменты.
public static void Delete<TMessage>(IMarketDataStorage<TMessage> storage, IEnumerable<TMessage> data)
StorageHelper.Delete(storage, data)
Синхронная оболочка для CancellationToken).
- storage
- Хранение рыночных данных.
- data
- Рыночные данные будут удалены.
public static string FolderNameToSecurityId(string folderName)
result = StorageHelper.FolderNameToSecurityId(folderName)
Обратное преобразование из метода String).
- folderName
- Имя каталога.
Возвращает: идентификатор финансового инструмента.
public static IEnumerable<DataType> GetAvailableDataTypes(IMarketDataDrive drive, SecurityId securityId, StorageFormats format)
result = StorageHelper.GetAvailableDataTypes(drive, securityId, format)
Получите все доступные типы данных.
- drive
- IMarketDataDrive
- securityId
- Идентификатор инструмента.
- format
- Тип формата.
Возвращает: Типы данных.
public static ValueTask<IMarketDataStorage<CandleMessage>> GetCandleMessageBuildableStorage(CandleBuilderProvider provider, IStorageRegistry registry, SecurityId securityId, TimeSpan timeFrame, IMarketDataDrive drive, StorageFormats format, CancellationToken cancellationToken)
result = StorageHelper.GetCandleMessageBuildableStorage(provider, registry, securityId, timeFrame, drive, format, cancellationToken)
Получить хранилище свечей по указанному инструменту. Хранилище будет строить свечи из меньших таймфреймов, если исходных таймфреймов не существует.
- provider
- Поставщик производителей свечей.
- registry
- Хранение рыночных данных.
- securityId
- идентификатор финансового инструмента.
- timeFrame
- Сроки.
- drive
- Хранилище. Если значение равно , будет использоваться DefaultDrive.
- format
- Тип формата. По умолчанию передается двоичный файл.
- cancellationToken
- CancellationToken
Возвращает: Хранение свечей.
public static IMarketDataStorage<CandleMessage> GetCandleMessageStorage(IStorageRegistry registry, Subscription subscription, IMarketDataDrive drive, StorageFormats format)
result = StorageHelper.GetCandleMessageStorage(registry, subscription, drive, format)
Получить хранилище свечей по указанному инструменту.
- registry
- IStorageRegistry.
- subscription
- Подписка.
- drive
- Хранилище.
- format
- Тип формата.
Возвращает: Хранение свечей.
public static IMarketDataStorage<CandleMessage> GetCandleMessageStorage(IStorageRegistry registry, Type candleMessageType, SecurityId securityId, object arg, IMarketDataDrive drive, StorageFormats format)
result = StorageHelper.GetCandleMessageStorage(registry, candleMessageType, securityId, arg, drive, format)
Получить хранилище свечей по указанному инструменту.
- registry
- IStorageRegistry
- candleMessageType
- Тип сообщения свечи.
- securityId
- идентификатор финансового инструмента.
- arg
- Свеча арг.
- drive
- Хранилище.
- format
- Тип формата.
Возвращает: Хранение свечей.
public static IEnumerable<DateTime> GetDates(IMarketDataStorage storage, DateTime? from, DateTime? to)
result = StorageHelper.GetDates(storage, from, to)
Чтобы получить все даты сохраненных рыночных данных для указанного диапазона.
- storage
- Хранение рыночных данных.
- from
- Время начала диапазона. Если значение не указано, данные будут загружены с даты начала GetDatesAsync.
- to
- Время окончания диапазона. Если значение не указано, данные будут загружены до даты окончания GetDatesAsync включительно.
Возвращает: Все доступные данные в пределах диапазона.
public static IEnumerable<DateTime> GetDates(IMarketDataStorageDrive drive)
result = StorageHelper.GetDates(drive)
Синхронная оболочка для GetDatesAsync.
- drive
- накопитель рыночных данных.
Возвращает: Свободные даты.
public static IEnumerable<DateTime> GetDates(IMarketDataStorage storage)
result = StorageHelper.GetDates(storage)
Синхронная оболочка для GetDatesAsync.
- storage
- Хранение рыночных данных.
Возвращает: Свободные даты.
public static IAsyncEnumerable<DateTime> GetDatesAsync(IMarketDataStorage storage, DateTime? from, DateTime? to)
result = StorageHelper.GetDatesAsync(storage, from, to)
Чтобы получить все даты сохраненных рыночных данных для указанного диапазона.
- storage
- Хранение рыночных данных.
- from
- Время начала диапазона. Если значение не указано, данные будут загружены с даты начала GetDatesAsync.
- to
- Время окончания диапазона. Если значение не указано, данные будут загружены до даты окончания GetDatesAsync включительно.
Возвращает: Все доступные данные в пределах диапазона.
public static IMarketDataStorage<ExecutionMessage> GetExecutionMessageStorage(IStorageRegistry registry, SecurityId securityId, ExecutionTypes type, IMarketDataDrive drive, StorageFormats format)
result = StorageHelper.GetExecutionMessageStorage(registry, securityId, type, drive, format)
Чтобы получить хранилище ExecutionMessage для указанного инструмента.
- registry
- IStorageRegistry
- securityId
- идентификатор финансового инструмента.
- type
- Тип данных, информация о котором содержится в ExecutionMessage.
- drive
- Хранилище.
- format
- Тип формата.
Возвращает: Хранилище ExecutionMessage.
public static DateTime? GetFromDate(IMarketDataStorage storage)
result = StorageHelper.GetFromDate(storage)
Чтобы получить дату начала рыночных данных, хранящихся в хранилище.
- storage
- Хранение рыночных данных.
Возвращает: Дата начала. Если значение не инициализировано, хранилище пусто.
public static IMarketDataMetaInfo GetMetaInfo(IMarketDataStorage storage, DateTime date)
result = StorageHelper.GetMetaInfo(storage, date)
Синхронная оболочка для CancellationToken).
- storage
- Хранение рыночных данных.
- date
- Дата, за которую должна быть получена метаинформация о данных.
Возвращает: Метаинформация о данных. Если такой даты в истории нет, будет возвращена.
public static IRange<DateTime> GetRange(IMarketDataStorage storage, DateTime? from, DateTime? to)
result = StorageHelper.GetRange(storage, from, to)
Получить доступный диапазон дат для указанного хранилища.
- storage
- Хранение.
- from
- Начальная дата, за которую необходимо получить данные.
- to
- Конечная дата, к которой вам необходимо получить данные.
Возвращает: Диапазон дат
public static ValueTask<IRange<DateTime>> GetRangeAsync(IMarketDataStorage storage, DateTime? from, DateTime? to, CancellationToken cancellationToken)
result = StorageHelper.GetRangeAsync(storage, from, to, cancellationToken)
Получить доступный диапазон дат для указанного хранилища.
- storage
- Хранение.
- from
- Начальная дата, за которую необходимо получить данные.
- to
- Конечная дата, к которой вам необходимо получить данные.
- cancellationToken
- CancellationToken
Возвращает: Диапазон дат
public static ISnapshotStorage GetSnapshotStorage(ISnapshotRegistry registry, Type dataType, object arg)
result = StorageHelper.GetSnapshotStorage(registry, dataType, arg)
Чтобы получить хранилище снимков.
- registry
- Реестр хранилища снимков.
- dataType
- Тип рыночных данных.
- arg
- Параметр, связанный с типом. Например, свеча арг.
Возвращает: Хранилище снимков.
public static IMarketDataStorage GetStorage(IStorageRegistry registry, SecurityId securityId, Type dataType, object arg, IMarketDataDrive drive, StorageFormats format)
result = StorageHelper.GetStorage(registry, securityId, dataType, arg, drive, format)
Чтобы получить хранилище рыночных данных.
- registry
- IStorageRegistry
- securityId
- идентификатор финансового инструмента.
- dataType
- Тип рыночных данных.
- arg
- Параметр, связанный с типом. Например, свеча арг.
- drive
- Хранилище.
- format
- Тип формата.
Возвращает: Хранение рыночных данных.
public static IMarketDataStorage GetStorage(IStorageRegistry registry, Security security, Type dataType, object arg, IMarketDataDrive drive, StorageFormats format)
result = StorageHelper.GetStorage(registry, security, dataType, arg, drive, format)
Чтобы получить хранилище рыночных данных.
- registry
- IStorageRegistry
- security
- финансовый инструмент.
- dataType
- Тип рыночных данных.
- arg
- Параметр, связанный с типом. Например, свеча арг.
- drive
- Хранилище. Если значение равно , будет использоваться DefaultDrive.
- format
- Тип формата. По умолчанию передается двоичный файл.
Возвращает: Хранение рыночных данных.
public static IMarketDataStorage GetStorage(IStorageRegistry registry, Security security, DataType dataType, IMarketDataDrive drive, StorageFormats format)
result = StorageHelper.GetStorage(registry, security, dataType, drive, format)
Чтобы получить хранилище рыночных данных.
- registry
- Хранение рыночных данных.
- security
- финансовый инструмент.
- dataType
- Информация о типе данных.
- drive
- Хранилище. Если значение равно , будет использоваться DefaultDrive.
- format
- Тип формата. По умолчанию передается двоичный файл.
Возвращает: Хранение рыночных данных.
public static IMarketDataStorage<CandleMessage> GetTimeFrameCandleMessageStorage(IStorageRegistry registry, SecurityId securityId, TimeSpan arg, IMarketDataDrive drive, StorageFormats format)
result = StorageHelper.GetTimeFrameCandleMessageStorage(registry, securityId, arg, drive, format)
Получить хранилище свечей по указанному инструменту.
- registry
- IStorageRegistry.
- securityId
- идентификатор финансового инструмента.
- arg
- Свеча арг.
- drive
- Хранилище.
- format
- Тип формата.
Возвращает: Хранение свечей.
public static DateTime? GetToDate(IMarketDataStorage storage)
result = StorageHelper.GetToDate(storage)
Чтобы получить дату окончания рыночных данных, хранящихся в хранилище.
- storage
- Хранение рыночных данных.
Возвращает: Дата окончания. Если значение не инициализировано, хранилище пусто.
public static IEnumerable<Message> Load(IMarketDataStorage storage, DateTime date)
result = StorageHelper.Load(storage, date)
Синхронная оболочка для DateTime).
- storage
- Хранение рыночных данных.
- date
- Дата, за которую должны быть загружены данные.
Возвращает: Данные. Если данных нет, будет возвращен пустой набор.
public static IAsyncEnumerable<TMessage> LoadAsync<TMessage>(IMarketDataStorage<TMessage> storage, DateTime? from, DateTime? to)
result = StorageHelper.LoadAsync(storage, from, to)
Создать итеративный загрузчик рыночных данных за временной диапазон.
- storage
- Хранение рыночных данных.
- from
- Время начала загрузки данных. Если значение не указано, данные будут загружаться с момента начала GetDatesAsync.
- to
- Время окончания загрузки данных. Если значение не указано, данные будут загружены до даты GetDatesAsync включительно.
Возвращает: Итеративный загрузчик рыночных данных.
public static ValueTuple<DateTime?, long?>? LoadMessages(StorageCoreSettings settings, CandleBuilderProvider candleBuilderProvider, MarketDataMessage subscription, Action<Message> newOutMessage)
result = StorageHelper.LoadMessages(settings, candleBuilderProvider, subscription, newOutMessage)
Загрузить сообщения.
- settings
- Настройки хранилища.
- candleBuilderProvider
- Поставщик производителей свечей.
- subscription
- Сообщение с рыночными данными (используется как подписка/отмена подписки в исходящем случае, событие подтверждения в входящем случае).
- newOutMessage
- Новое событие сообщения.
Возвращает: Последнее свидание.
public static IAsyncEnumerable<Message> LoadMessagesAsync(StorageCoreSettings settings, CandleBuilderProvider candleBuilderProvider, MarketDataMessage subscription, StorageLoadContext context, CancellationToken cancellationToken)
result = StorageHelper.LoadMessagesAsync(settings, candleBuilderProvider, subscription, context, cancellationToken)
Загружать сообщения истории из хранилища в виде асинхронного потока.
- settings
- Настройки хранилища.
- candleBuilderProvider
- Поставщик производителей свечей.
- subscription
- Сообщение с рыночными данными (используется как подписка/отмена подписки в исходящем случае, событие подтверждения в входящем случае).
- context
- Контекст, который будет заполнен метаданными результата загрузки после перечисления.
- cancellationToken
- Токен отмены.
Возвращает: Асинхронный поток сообщений.
public static Stream LoadStream(IMarketDataStorageDrive drive, DateTime date, bool readOnly)
result = StorageHelper.LoadStream(drive, date, readOnly)
Синхронная оболочка для CancellationToken).
- drive
- накопитель рыночных данных.
- date
- Дата, за которую должны быть загружены данные.
- readOnly
- Получить поток только в режиме чтения.
Возвращает: Данные в формате хранилища StockSharp. Если данные отсутствуют, будет возвращено значение Null.
public static IEnumerable<TMessage> Load<TMessage>(IMarketDataStorage<TMessage> storage, DateTime date)
result = StorageHelper.Load(storage, date)
Синхронная оболочка для DateTime).
- storage
- Хранение рыночных данных.
- date
- Дата, за которую должны быть загружены данные.
Возвращает: Данные. Если данных нет, будет возвращен пустой набор.
public static IEnumerable<TMessage> Load<TMessage>(IMarketDataStorage<TMessage> storage, DateTime? from, DateTime? to)
result = StorageHelper.Load(storage, from, to)
Создать итеративный загрузчик рыночных данных за временной диапазон.
- storage
- Хранение рыночных данных.
- from
- Время начала загрузки данных. Если значение не указано, данные будут загружаться с момента начала GetDatesAsync.
- to
- Время окончания загрузки данных. Если значение не указано, данные будут загружены до даты GetDatesAsync включительно.
Возвращает: Итеративный загрузчик рыночных данных.
public static int Save(IMarketDataStorage storage, IEnumerable<Message> data)
result = StorageHelper.Save(storage, data)
Синхронная оболочка для CancellationToken).
- storage
- Хранение рыночных данных.
- data
- Данные рынка.
Возвращает: Количество сохраненных данных.
public static void Save(ISecurityStorage storage, Security security, bool forced)
StorageHelper.Save(storage, security, forced)
Синхронная оболочка для CancellationToken).
- storage
- хранение финансовых инструментов.
- security
- финансовый инструмент.
- forced
- Принудительное обновление.
public static void SaveStream(IMarketDataStorageDrive drive, DateTime date, Stream stream)
StorageHelper.SaveStream(drive, date, stream)
Синхронная оболочка для CancellationToken).
- drive
- накопитель рыночных данных.
- date
- Дата, за которую должны быть сохранены данные.
- stream
- Данные в формате хранилища StockSharp.
public static int Save<TMessage>(IMarketDataStorage<TMessage> storage, IEnumerable<TMessage> data)
result = StorageHelper.Save(storage, data)
Синхронная оболочка для CancellationToken).
- storage
- Хранение рыночных данных.
- data
- Данные рынка.
Возвращает: Количество сохраненных данных.
public static string SecurityIdToFolderName(string id)
result = StorageHelper.SecurityIdToFolderName(id)
Преобразовать идентификатор прибора в имя папки, заменив зарезервированные символы.
- id
- идентификатор финансового инструмента.
Возвращает: Имя каталога.
public static bool SetAdapter<TKey>(IMappingMessageAdapterProvider<TKey> provider, TKey key, IMessageAdapter adapter)
result = StorageHelper.SetAdapter(provider, key, adapter)
Установите связь с адаптером.
- provider
- Интерфейс поставщика адаптера сообщений.
- key
- Ключ.
- adapter
- Адаптер.
Возвращает: если ассоциация успешно изменена, в противном случае .
Поля
public const string SecurityBackslashSeparator
value = StorageHelper.SecurityBackslashSeparator
Разделитель, заменяющий '\\' в пути для инструментов с идентификатором, например USD\\EUR. Равен '##BS##'.
public const string SecurityColonSeparator
value = StorageHelper.SecurityColonSeparator
Разделитель, заменяющий «:» в пути для инструментов с идентификатором, например AA-CA:SPB@SPBEX. Равно '##Двоеточие##'.
public const string SecurityFirstDot
value = StorageHelper.SecurityFirstDot
Разделитель, заменяющий первый '.' в пути для инструментов с идентификатором, например .AA-CA@SPBEX. Равен '##DOT##'.
public const string SecurityQuestionSeparator
value = StorageHelper.SecurityQuestionSeparator
Делимитер, заменяющий '?' на пути для инструментов с идентификатором, таким как AA-CA?SPB@SPBEX. Приравнивается к ##QSTN##.
public const string SecuritySlashSeparator
value = StorageHelper.SecuritySlashSeparator
Разделитель, заменяющий '/' в пути для инструментов с идентификатором, например USD/EUR. Равен '__'.
public const string SecurityStarSeparator
value = StorageHelper.SecurityStarSeparator
Разделитель, заменяющий '*' в пути для инструментов с идентификатором типа C.BPO-*@CANADIAN. Равен '##STAR##'.
public const string SecurityVerticalBarSeparator
value = StorageHelper.SecurityVerticalBarSeparator
Разделитель, заменяющий '|' в пути для инструментов с идентификатором типа AA-CA|SPB@SPBEX. Равен '##VBAR##'.