MarketEmulator

StockSharp.Algo.Testing.Emulation

Marktemulator v2 mit modularer Architektur. Wraps MatchingEngineAdapter und fügt emulationsspezifische Logik hinzu (zufällige Volumina, Tick / L1 → Orderbuchumwandlung, Kerzenabgleich, Provisionen, Preislimits).

Erbt von: BaseLogReceiver

Implementiert: IMarketEmulator, IMessageTransport, ILogSource, IDisposable

Konstruktoren

MarketEmulator
public MarketEmulator(ISecurityProvider securityProvider, IPortfolioProvider portfolioProvider, IExchangeInfoProvider exchangeInfoProvider, IdGenerator transactionIdGenerator)
marketEmulator = MarketEmulator(securityProvider, portfolioProvider, exchangeInfoProvider, transactionIdGenerator)

Initialisiert eine neue Instanz.

Eigenschaften

CurrentTime
public override DateTime CurrentTime { get; }
value = marketEmulator.CurrentTime

Aktuelle UTC-Zeit.

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

Börsen und Handelsbörsen Anbieter.

OrderIdGenerator
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = marketEmulator.OrderIdGenerator
marketEmulator.OrderIdGenerator = value

Auftrags-ID-Generator.

PortfolioManager
public IPortfolioManager PortfolioManager { get; set; }
value = marketEmulator.PortfolioManager
marketEmulator.PortfolioManager = value

Portfoliomanager für den Umgang mit Portfolio-Zustand.

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

Das Portfolio, das zur Registrierung von Aufträgen verwendet wird. Wird der Wert nicht angegeben, wird das Portfolio mit dem Standardnamen Simulator erstellt.

PossibleSupportedMessages
public IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; }
value = marketEmulator.PossibleSupportedMessages

Mögliche unterstützte Nachrichtentypen.

ProcessedMessageCount
public long ProcessedMessageCount { get; private set; }
value = marketEmulator.ProcessedMessageCount
marketEmulator.ProcessedMessageCount = value

Anzahl der verarbeiteten Nachrichten.

RandomProvider
public IRandomProvider RandomProvider { get; set; }
value = marketEmulator.RandomProvider
marketEmulator.RandomProvider = value
SecurityProvider
public ISecurityProvider SecurityProvider { get; }
value = marketEmulator.SecurityProvider

Der Anbieter von Informationen über Instrumente.

Settings
public MarketEmulatorSettings Settings { get; }
value = marketEmulator.Settings

Emulatoreinstellungen.

TradeIdGenerator
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = marketEmulator.TradeIdGenerator
marketEmulator.TradeIdGenerator = value

Handelskennung-Generator.

TransactionIdGenerator
public IdGenerator TransactionIdGenerator { get; }
value = marketEmulator.TransactionIdGenerator

Transaktions-ID-Generator.

VerifyMode
public bool VerifyMode { get; set; }
value = marketEmulator.VerifyMode
marketEmulator.VerifyMode = value

Erweiterter Verifizierungsmodus.

Methoden

MatchOrderByCandle
private static MatchResult MatchOrderByCandle(EmulatorOrder order, CandleMessage candle)
result = MarketEmulator.MatchOrderByCandle(order, candle)

Match Order gegen Kerzendaten direkt.

SendOutMessageAsync
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = marketEmulator.SendOutMessageAsync(message, cancellationToken)

Senden Sie eine Nachricht.

Ereignisse

NewOutMessageAsync
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
marketEmulator.NewOutMessageAsync += handler

Neues Nachrichtenereignis.