BaseOptimizer
Базовый оптимизатор стратегий.
Наследует: BaseLogReceiver
Конструкторы
protected BaseOptimizer(ISecurityProvider securityProvider, IPortfolioProvider portfolioProvider, IExchangeInfoProvider exchangeInfoProvider, IStorageRegistry storageRegistry, StorageFormats storageFormat, IMarketDataDrive drive)
baseOptimizer = BaseOptimizer(securityProvider, portfolioProvider, exchangeInfoProvider, storageRegistry, storageFormat, drive)
Инициализирует новый экземпляр BaseOptimizer.
- securityProvider
- Поставщик информации об инструментах.
- portfolioProvider
- Портфель, который будет использоваться для регистрации заказов. Если значение не указано, будет создан портфель с именем по умолчанию Simulator.
- exchangeInfoProvider
- Поставщик бирж и торговых площадок.
- storageRegistry
- Хранение рыночных данных.
- storageFormat
- Формат рыночных данных. По умолчанию используется двоичный формат.
- drive
- Хранилище, которое используется по умолчанию. По умолчанию используется DefaultDrive.
Свойства
public MarketDataStorageCache AdapterCache { get; set; }
value = baseOptimizer.AdapterCache
baseOptimizer.AdapterCache = value
AdapterCache.
public OptimizerSettings EmulationSettings { get; }
value = baseOptimizer.EmulationSettings
Настройки эмуляции.
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = baseOptimizer.ExchangeInfoProvider
IExchangeInfoProvider
public bool IsPaused { get; }
value = baseOptimizer.IsPaused
Оптимизация в настоящее время приостановлена.
public IPortfolioProvider PortfolioProvider { get; }
value = baseOptimizer.PortfolioProvider
IPortfolioProvider
public ISecurityProvider SecurityProvider { get; }
value = baseOptimizer.SecurityProvider
ISecurityProvider
public bool StopOnSubscriptionError { get; set; }
value = baseOptimizer.StopOnSubscriptionError
baseOptimizer.StopOnSubscriptionError = value
StopOnSubscriptionError
public MarketDataStorageCache StorageCache { get; set; }
value = baseOptimizer.StorageCache
baseOptimizer.StorageCache = value
StorageCache.
public StorageCoreSettings StorageSettings { get; }
value = baseOptimizer.StorageSettings
Настройки хранилища.
Методы
protected internal MarketDataStorageCache AllocateAdapterCache()
result = baseOptimizer.AllocateAdapterCache()
Выделите AdapterCache.
Возвращает: AdapterCache
protected internal MarketDataStorageCache AllocateStorageCache()
result = baseOptimizer.AllocateStorageCache()
Выделите StorageCache.
Возвращает: StorageCache
protected void CompleteChannel()
baseOptimizer.CompleteChannel()
Завершите канал, чтобы перечисление RunAsync закончилось.
protected override void DisposeManaged()
baseOptimizer.DisposeManaged()
Освободите ресурсы.
protected internal void FreeAdapterCache(MarketDataStorageCache cache)
baseOptimizer.FreeAdapterCache(cache)
Бесплатно AdapterCache.
- cache
- AdapterCache
protected internal void FreeStorageCache(MarketDataStorageCache cache)
baseOptimizer.FreeStorageCache(cache)
Бесплатно StorageCache.
- cache
- StorageCache
protected void InitializeRunAsync(int totalIterations, CancellationToken cancellationToken)
baseOptimizer.InitializeRunAsync(totalIterations, cancellationToken)
Инициализируйте канал, пакетный менеджер и связанный CTS для RunAsync.
- totalIterations
- Общее количество итераций (или int.MaxValue, если неизвестно).
- cancellationToken
- Внешний токен отмены.
public Task Pause()
result = baseOptimizer.Pause()
Приостановить оптимизацию. Новые итерации не начнутся до тех пор, пока не будет вызвана функция Resume, а уже запущенные бэктесты приостанавливаются, поэтому процесс немедленно останавливается.
Возвращает: Задача
protected IAsyncEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ReadResultsAsync(CancellationToken cancellationToken)
result = baseOptimizer.ReadResultsAsync(cancellationToken)
Результаты вывода из канала чтения.
public Task Resume()
result = baseOptimizer.Resume()
Возобновить приостановленную оптимизацию.
Возвращает: Задача
protected internal ValueTask<bool> TryNextRunAsync(DateTime startTime, DateTime stopTime, Func<IPortfolioProvider, ValueTuple<Strategy, IStrategyParam[]>?> tryGetNext, MarketDataStorageCache adapterCache, MarketDataStorageCache storageCache, CancellationToken cancellationToken)
result = baseOptimizer.TryNextRunAsync(startTime, stopTime, tryGetNext, adapterCache, storageCache, cancellationToken)
Попробуйте начать следующую итерацию. Возвращает значение, если итерация была начата и завершена, если доступных итераций больше нет.
- startTime
- Дата в истории начала торговли бумагами.
- stopTime
- Дата в истории прекращения торговли бумагами (дата включена).
- tryGetNext
- Обработчик, пытающийся получить следующий объект стратегии.
- adapterCache
- AdapterCache
- storageCache
- StorageCache
- cancellationToken
- Токен отмены.
События
public event Action<Connector> ConnectorInitialized
baseOptimizer.ConnectorInitialized += handler
Инициализируйте Connector. Вызывается перед подключением.
public event Action<Strategy, IStrategyParam[], int> SingleProgressChanged
baseOptimizer.SingleProgressChanged += handler
Событие единичного изменения прогресса.
public event Action<Strategy, IStrategyParam[]> StrategyInitialized
baseOptimizer.StrategyInitialized += handler
Событие, инициализирующее стратегию.