MarketEmulator
Emulador de mercado v2 con arquitectura modular. Wraps MatchingEngineAdapter y añade lógica específica de emulación (volúmenes de arandela, cambio de marca/L1→orderbook, cervecería, comisiones, límites de precios).
Hereda de: BaseLogReceiver
Implementa: IMarketEmulator, IMessageTransport, ILogSource, IDisposable
Constructores
public MarketEmulator(ISecurityProvider securityProvider, IPortfolioProvider portfolioProvider, IExchangeInfoProvider exchangeInfoProvider, IdGenerator transactionIdGenerator)
marketEmulator = MarketEmulator(securityProvider, portfolioProvider, exchangeInfoProvider, transactionIdGenerator)
Inicia una nueva instancia.
Propiedades
public override DateTime CurrentTime { get; }
value = marketEmulator.CurrentTime
Hora actual de la UTC.
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = marketEmulator.ExchangeInfoProvider
Intercambios y proveedores de juntas comerciales.
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = marketEmulator.OrderIdGenerator
marketEmulator.OrderIdGenerator = value
Generador de identificación de pedidos.
public IPortfolioManager PortfolioManager { get; set; }
value = marketEmulator.PortfolioManager
marketEmulator.PortfolioManager = value
Gerente de cartera para el estado de la cartera.
public IPortfolioProvider PortfolioProvider { get; }
value = marketEmulator.PortfolioProvider
El portafolio que se utilizará para registrar pedidos. Si no se da valor, se creará la cartera con nombre predeterminado Simulator.
public IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; }
value = marketEmulator.PossibleSupportedMessages
Posibles tipos de mensajes apoyados.
public long ProcessedMessageCount { get; private set; }
value = marketEmulator.ProcessedMessageCount
marketEmulator.ProcessedMessageCount = value
Cuenta de mensaje procesada.
public IRandomProvider RandomProvider { get; set; }
value = marketEmulator.RandomProvider
marketEmulator.RandomProvider = value
public ISecurityProvider SecurityProvider { get; }
value = marketEmulator.SecurityProvider
El proveedor de información sobre instrumentos.
public MarketEmulatorSettings Settings { get; }
value = marketEmulator.Settings
Ajustes de emulador.
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = marketEmulator.TradeIdGenerator
marketEmulator.TradeIdGenerator = value
Generador de identificación comercial.
public IdGenerator TransactionIdGenerator { get; }
value = marketEmulator.TransactionIdGenerator
Generador de identificación de transacciones.
public bool VerifyMode { get; set; }
value = marketEmulator.VerifyMode
marketEmulator.VerifyMode = value
Modo de verificación ampliado.
Métodos
private static MatchResult MatchOrderByCandle(EmulatorOrder order, CandleMessage candle)
result = MarketEmulator.MatchOrderByCandle(order, candle)
Coincide orden contra los datos de la vela directamente.
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = marketEmulator.SendOutMessageAsync(message, cancellationToken)
Envía mensaje.
Eventos
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
marketEmulator.NewOutMessageAsync += handler
Nuevo evento de mensaje.