MarketEmulator
Emulador de mercado v2 com arquitetura modular. Enrola MatchingEngineAdapter e adiciona lógica específica de emulação (volume aleatório, tiquetaque/L1→ conversão de livro de ordem, correspondência de velas, comissões, limites de preço).
Herda de: BaseLogReceiver
Implementa: IMarketEmulator, IMessageTransport, ILogSource, IDisposable
Construtores
public MarketEmulator(ISecurityProvider securityProvider, IPortfolioProvider portfolioProvider, IExchangeInfoProvider exchangeInfoProvider, IdGenerator transactionIdGenerator)
marketEmulator = MarketEmulator(securityProvider, portfolioProvider, exchangeInfoProvider, transactionIdGenerator)
Inicializa uma nova instância.
Propriedades
public override DateTime CurrentTime { get; }
value = marketEmulator.CurrentTime
Hora atual do UTC.
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = marketEmulator.ExchangeInfoProvider
Bolsas e conselhos de negociação provedor.
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = marketEmulator.OrderIdGenerator
marketEmulator.OrderIdGenerator = value
Gerador de identificação de encomendas.
public IPortfolioManager PortfolioManager { get; set; }
value = marketEmulator.PortfolioManager
marketEmulator.PortfolioManager = value
Gestor de carteira para lidar com o estado de portfólio.
public IPortfolioProvider PortfolioProvider { get; }
value = marketEmulator.PortfolioProvider
A carteira a ser usada para registrar ordens. Se o valor não for dado, a carteira com o nome padrão Simulator será criada.
public IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; }
value = marketEmulator.PossibleSupportedMessages
Possíveis tipos de mensagens suportadas.
public long ProcessedMessageCount { get; private set; }
value = marketEmulator.ProcessedMessageCount
marketEmulator.ProcessedMessageCount = value
Contagem de mensagens processada.
public IRandomProvider RandomProvider { get; set; }
value = marketEmulator.RandomProvider
marketEmulator.RandomProvider = value
public ISecurityProvider SecurityProvider { get; }
value = marketEmulator.SecurityProvider
O fornecedor de informações sobre instrumentos.
public MarketEmulatorSettings Settings { get; }
value = marketEmulator.Settings
Configuração do emulador.
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = marketEmulator.TradeIdGenerator
marketEmulator.TradeIdGenerator = value
Gerador de identificação comercial.
public IdGenerator TransactionIdGenerator { get; }
value = marketEmulator.TransactionIdGenerator
Gerador de identificação de transação.
public bool VerifyMode { get; set; }
value = marketEmulator.VerifyMode
marketEmulator.VerifyMode = value
Modo de verificação alargado.
Métodos
private static MatchResult MatchOrderByCandle(EmulatorOrder order, CandleMessage candle)
result = MarketEmulator.MatchOrderByCandle(order, candle)
Combine a ordem contra dados de vela diretamente.
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = marketEmulator.SendOutMessageAsync(message, cancellationToken)
Envie mensagem.
Eventos
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
marketEmulator.NewOutMessageAsync += handler
Novo evento de mensagem.