BaseOptimizer
Der Basis-Optimierer von Strategien.
Erbt von: BaseLogReceiver
Konstruktoren
protected BaseOptimizer(ISecurityProvider securityProvider, IPortfolioProvider portfolioProvider, IExchangeInfoProvider exchangeInfoProvider, IStorageRegistry storageRegistry, StorageFormats storageFormat, IMarketDataDrive drive)
baseOptimizer = BaseOptimizer(securityProvider, portfolioProvider, exchangeInfoProvider, storageRegistry, storageFormat, drive)
Initialisiert eine neue Instanz von BaseOptimizer.
- securityProvider
- Der Anbieter von Informationen über Instrumente.
- portfolioProvider
- Das Portfolio, das zur Registrierung von Aufträgen verwendet wird. Wird der Wert nicht angegeben, wird das Portfolio mit dem Standardnamen Simulator erstellt.
- exchangeInfoProvider
- Börsen und Handelsbörsen Anbieter.
- storageRegistry
- Marktdatenspeicherung.
- storageFormat
- Binär wird standardmäßig verwendet.
- drive
- Standardmäßig wird der Speicher verwendet. Standardmäßig wird DefaultDrive verwendet.
Eigenschaften
public MarketDataStorageCache AdapterCache { get; set; }
value = baseOptimizer.AdapterCache
baseOptimizer.AdapterCache = value
AdapterCache.
public OptimizerSettings EmulationSettings { get; }
value = baseOptimizer.EmulationSettings
Emulationseinstellungen.
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = baseOptimizer.ExchangeInfoProvider
IExchangeInfoProvider
public bool IsPaused { get; }
value = baseOptimizer.IsPaused
Ob die Optimierung derzeit angehalten wird.
public IPortfolioProvider PortfolioProvider { get; }
value = baseOptimizer.PortfolioProvider
IPortfolioProvider
protected CancellationToken RunToken { get; }
value = baseOptimizer.RunToken
Cancellation token for the current optimization run, including optimizer disposal and consumer cancellation.
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
Speichereinstellungen.
Methoden
protected internal MarketDataStorageCache AllocateAdapterCache()
result = baseOptimizer.AllocateAdapterCache()
Allokate AdapterCache.
Rückgabe: AdapterCache
protected internal MarketDataStorageCache AllocateStorageCache()
result = baseOptimizer.AllocateStorageCache()
Allokate StorageCache.
Rückgabe: StorageCache
protected void CancelRun()
baseOptimizer.CancelRun()
Cancel the current optimization run and let its producers drain.
protected void CompleteChannel()
baseOptimizer.CompleteChannel()
Vervollständigen Sie den Kanal, so dass RunAsync @ Enumeration endet.
protected override void DisposeManaged()
baseOptimizer.DisposeManaged()
Ressourcen freigeben.
protected internal void FreeAdapterCache(MarketDataStorageCache cache)
baseOptimizer.FreeAdapterCache(cache)
Kostenlos AdapterCache.
- cache
- AdapterCache
protected internal void FreeStorageCache(MarketDataStorageCache cache)
baseOptimizer.FreeStorageCache(cache)
Kostenlos StorageCache.
- cache
- StorageCache
protected void InitializeRunAsync(int totalIterations, CancellationToken cancellationToken)
baseOptimizer.InitializeRunAsync(totalIterations, cancellationToken)
Initialisieren Sie Kanal, Batch-Manager und verknüpfte CTS für RunAsync.
- totalIterations
- Gesamtzahl der Iterationen (oder int.MaxValue, falls unbekannt).
- cancellationToken
- Externes Stornierungs-Token.
public Task Pause()
result = baseOptimizer.Pause()
Optimierung Pausen. Neue Iterationen werden erst gestartet, wenn Resume aufgerufen wird, und die bereits laufenden Backtests werden ausgesetzt, so dass der Fortschritt sofort gestoppt wird.
Rückgabe: Aufgabe
protected IAsyncEnumerable<ValueTuple<Strategy, IStrategyParam[]>> ReadResultsAsync(CancellationToken cancellationToken)
result = baseOptimizer.ReadResultsAsync(cancellationToken)
Ergebnisse aus Channel Reader.
public Task Resume()
result = baseOptimizer.Resume()
Fortsetzung der pausierten Optimierung.
Rückgabe: Aufgabe
private void StopStartedConnector(HistoryEmulationConnector connector)
baseOptimizer.StopStartedConnector(connector)
Disconnect a connector that is up, so its iteration reaches Stopped and signals the worker waiting on it. One that is already stopping gets there on its own.
protected internal ValueTask<bool> TryNextRunAsync(DateTime startTime, DateTime stopTime, Func<IPortfolioProvider, CancellationToken, ValueTask<ValueTuple<Strategy, IStrategyParam[]>?>> tryGetNext, MarketDataStorageCache adapterCache, MarketDataStorageCache storageCache, CancellationToken cancellationToken)
result = baseOptimizer.TryNextRunAsync(startTime, stopTime, tryGetNext, adapterCache, storageCache, cancellationToken)
Try start next iteration. Returns if iteration was started and completed, if no more iterations available.
- startTime
- Date in history for starting the paper trading.
- stopTime
- Date in history to stop the paper trading (date is included).
- tryGetNext
- Handler to try to get next strategy object.
- adapterCache
- AdapterCache
- storageCache
- StorageCache
- cancellationToken
- Cancellation token.
Ereignisse
public event Action<Connector> ConnectorInitialized
baseOptimizer.ConnectorInitialized += handler
Init Connector. Vor Connect aufgerufen.
public event Action<Strategy, IStrategyParam[], int> SingleProgressChanged
baseOptimizer.SingleProgressChanged += handler
Das Ereignis der einzelnen Fortschrittsänderung.
public event Action<Strategy, IStrategyParam[]> StrategyInitialized
baseOptimizer.StrategyInitialized += handler
Strategie initialisiertes Ereignis.