MarketEmulator
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
public MarketEmulator(ISecurityProvider securityProvider, IPortfolioProvider portfolioProvider, IExchangeInfoProvider exchangeInfoProvider, IdGenerator transactionIdGenerator)
marketEmulator = MarketEmulator(securityProvider, portfolioProvider, exchangeInfoProvider, transactionIdGenerator)
Initialisiert eine neue Instanz.
Eigenschaften
public override DateTime CurrentTime { get; }
value = marketEmulator.CurrentTime
Aktuelle UTC-Zeit.
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = marketEmulator.ExchangeInfoProvider
Börsen und Handelsbörsen Anbieter.
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = marketEmulator.OrderIdGenerator
marketEmulator.OrderIdGenerator = value
Auftrags-ID-Generator.
public IPortfolioManager PortfolioManager { get; set; }
value = marketEmulator.PortfolioManager
marketEmulator.PortfolioManager = value
Portfoliomanager für den Umgang mit Portfolio-Zustand.
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.
public IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; }
value = marketEmulator.PossibleSupportedMessages
Mögliche unterstützte Nachrichtentypen.
public long ProcessedMessageCount { get; private set; }
value = marketEmulator.ProcessedMessageCount
marketEmulator.ProcessedMessageCount = value
Anzahl der verarbeiteten Nachrichten.
public IRandomProvider RandomProvider { get; set; }
value = marketEmulator.RandomProvider
marketEmulator.RandomProvider = value
public ISecurityProvider SecurityProvider { get; }
value = marketEmulator.SecurityProvider
Der Anbieter von Informationen über Instrumente.
public MarketEmulatorSettings Settings { get; }
value = marketEmulator.Settings
Emulatoreinstellungen.
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = marketEmulator.TradeIdGenerator
marketEmulator.TradeIdGenerator = value
Handelskennung-Generator.
public IdGenerator TransactionIdGenerator { get; }
value = marketEmulator.TransactionIdGenerator
Transaktions-ID-Generator.
public bool VerifyMode { get; set; }
value = marketEmulator.VerifyMode
marketEmulator.VerifyMode = value
Erweiterter Verifizierungsmodus.
Methoden
private static MatchResult MatchOrderByCandle(EmulatorOrder order, CandleMessage candle)
result = MarketEmulator.MatchOrderByCandle(order, candle)
Match Order gegen Kerzendaten direkt.
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = marketEmulator.SendOutMessageAsync(message, cancellationToken)
Senden Sie eine Nachricht.
Ereignisse
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
marketEmulator.NewOutMessageAsync += handler
Neues Nachrichtenereignis.