MarketEmulator
Эмулятор рынка v2 с модульной архитектурой. Обертывает MatchingEngineAdapter и добавляет логику, специфичную для эмуляции (случайные объемы, преобразование тиков/L1 → книги заказов, сопоставление свечей, комиссии, ценовые ограничения).
Наследует: BaseLogReceiver
Реализует: IMarketEmulator, IMessageTransport, ILogSource, IDisposable
Конструкторы
public MarketEmulator(ISecurityProvider securityProvider, IPortfolioProvider portfolioProvider, IExchangeInfoProvider exchangeInfoProvider, IdGenerator transactionIdGenerator)
marketEmulator = MarketEmulator(securityProvider, portfolioProvider, exchangeInfoProvider, transactionIdGenerator)
Инициализирует новый экземпляр.
Свойства
public override DateTime CurrentTime { get; }
value = marketEmulator.CurrentTime
Текущее время UTC.
public IExchangeInfoProvider ExchangeInfoProvider { get; }
value = marketEmulator.ExchangeInfoProvider
Поставщик бирж и торговых площадок.
public IncrementalIdGenerator OrderIdGenerator { get; set; }
value = marketEmulator.OrderIdGenerator
marketEmulator.OrderIdGenerator = value
Генератор заказов.
public IPortfolioManager PortfolioManager { get; set; }
value = marketEmulator.PortfolioManager
marketEmulator.PortfolioManager = value
Портфельный менеджер по управлению состоянием портфеля.
public IPortfolioProvider PortfolioProvider { get; }
value = marketEmulator.PortfolioProvider
Портфель, который будет использоваться для регистрации заказов. Если значение не указано, будет создан портфель с именем по умолчанию Simulator.
public IEnumerable<MessageTypeInfo> PossibleSupportedMessages { get; }
value = marketEmulator.PossibleSupportedMessages
Возможные типы поддерживаемых сообщений.
public long ProcessedMessageCount { get; private set; }
value = marketEmulator.ProcessedMessageCount
marketEmulator.ProcessedMessageCount = value
Обработанное сообщение.
public IRandomProvider RandomProvider { get; set; }
value = marketEmulator.RandomProvider
marketEmulator.RandomProvider = value
public ISecurityProvider SecurityProvider { get; }
value = marketEmulator.SecurityProvider
Поставщик информации об инструментах.
public MarketEmulatorSettings Settings { get; }
value = marketEmulator.Settings
Эмулятор настройки.
public IncrementalIdGenerator TradeIdGenerator { get; set; }
value = marketEmulator.TradeIdGenerator
marketEmulator.TradeIdGenerator = value
Генератор торговых удостоверений.
public IdGenerator TransactionIdGenerator { get; }
value = marketEmulator.TransactionIdGenerator
Генератор идентификаторов транзакций.
public bool VerifyMode { get; set; }
value = marketEmulator.VerifyMode
marketEmulator.VerifyMode = value
Расширенный режим проверки.
Методы
private static MatchResult MatchOrderByCandle(EmulatorOrder order, CandleMessage candle)
result = MarketEmulator.MatchOrderByCandle(order, candle)
Сопоставьте ордер напрямую с данными свечи.
public ValueTask SendOutMessageAsync(Message message, CancellationToken cancellationToken)
result = marketEmulator.SendOutMessageAsync(message, cancellationToken)
Отправьте сообщение.
События
public event Func<Message, CancellationToken, ValueTask> NewOutMessageAsync
marketEmulator.NewOutMessageAsync += handler
Новое событие сообщения.