BaseOptimizer

StockSharp.Algo.Strategies.Optimization

Базовый оптимизатор стратегий.

Наследует: BaseLogReceiver

Конструкторы

BaseOptimizer
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.

Свойства

AdapterCache
public MarketDataStorageCache AdapterCache { get; set; }
value = baseOptimizer.AdapterCache
baseOptimizer.AdapterCache = value

AdapterCache.

EmulationSettings
public OptimizerSettings EmulationSettings { get; }
value = baseOptimizer.EmulationSettings

Настройки эмуляции.

ExchangeInfoProvider
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = baseOptimizer.ExchangeInfoProvider

IExchangeInfoProvider

IsPaused
public bool IsPaused { get; }
value = baseOptimizer.IsPaused

Оптимизация в настоящее время приостановлена.

PortfolioProvider
public IPortfolioProvider PortfolioProvider { get; }
value = baseOptimizer.PortfolioProvider

IPortfolioProvider

SecurityProvider
public ISecurityProvider SecurityProvider { get; }
value = baseOptimizer.SecurityProvider

ISecurityProvider

StopOnSubscriptionError
public bool StopOnSubscriptionError { get; set; }
value = baseOptimizer.StopOnSubscriptionError
baseOptimizer.StopOnSubscriptionError = value

StopOnSubscriptionError

StorageCache
public MarketDataStorageCache StorageCache { get; set; }
value = baseOptimizer.StorageCache
baseOptimizer.StorageCache = value

StorageCache.

StorageSettings
public StorageCoreSettings StorageSettings { get; }
value = baseOptimizer.StorageSettings

Настройки хранилища.

Методы

AllocateAdapterCache
protected internal MarketDataStorageCache AllocateAdapterCache()
result = baseOptimizer.AllocateAdapterCache()

Выделите AdapterCache.

Возвращает: AdapterCache

AllocateStorageCache
protected internal MarketDataStorageCache AllocateStorageCache()
result = baseOptimizer.AllocateStorageCache()

Выделите StorageCache.

Возвращает: StorageCache

CompleteChannel
protected void CompleteChannel()
baseOptimizer.CompleteChannel()

Завершите канал, чтобы перечисление RunAsync закончилось.

DisposeManaged
protected override void DisposeManaged()
baseOptimizer.DisposeManaged()

Освободите ресурсы.

FreeAdapterCache
protected internal void FreeAdapterCache(MarketDataStorageCache cache)
baseOptimizer.FreeAdapterCache(cache)

Бесплатно AdapterCache.

cache
AdapterCache
FreeStorageCache
protected internal void FreeStorageCache(MarketDataStorageCache cache)
baseOptimizer.FreeStorageCache(cache)

Бесплатно StorageCache.

cache
StorageCache
InitializeRunAsync
protected void InitializeRunAsync(int totalIterations, CancellationToken cancellationToken)
baseOptimizer.InitializeRunAsync(totalIterations, cancellationToken)

Инициализируйте канал, пакетный менеджер и связанный CTS для RunAsync.

totalIterations
Общее количество итераций (или int.MaxValue, если неизвестно).
cancellationToken
Внешний токен отмены.
Pause
public Task Pause()
result = baseOptimizer.Pause()

Приостановить оптимизацию. Новые итерации не начнутся до тех пор, пока не будет вызвана функция Resume, а уже запущенные бэктесты приостанавливаются, поэтому процесс немедленно останавливается.

Возвращает: Задача

ReadResultsAsync
protected IAsyncEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ReadResultsAsync(CancellationToken cancellationToken)
result = baseOptimizer.ReadResultsAsync(cancellationToken)

Результаты вывода из канала чтения.

Resume
public Task Resume()
result = baseOptimizer.Resume()

Возобновить приостановленную оптимизацию.

Возвращает: Задача

TryNextRunAsync
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
Токен отмены.

События

ConnectorInitialized
public event Action<Connector> ConnectorInitialized
baseOptimizer.ConnectorInitialized += handler

Инициализируйте Connector. Вызывается перед подключением.

SingleProgressChanged
public event Action<Strategy, IStrategyParam[], int> SingleProgressChanged
baseOptimizer.SingleProgressChanged += handler

Событие единичного изменения прогресса.

StrategyInitialized
public event Action<Strategy, IStrategyParam[]> StrategyInitialized
baseOptimizer.StrategyInitialized += handler

Событие, инициализирующее стратегию.