/// <summary> /// Создать <see cref="EmulationMessageAdapter"/>. /// </summary> /// <param name="emulator">Эмулятор торгов.</param> /// <param name="transactionIdGenerator">Генератор идентификаторов транзакций.</param> public EmulationMessageAdapter(IMarketEmulator emulator, IdGenerator transactionIdGenerator) : base(transactionIdGenerator) { Emulator = emulator; this.AddTransactionalSupport(); this.AddSupportedMessage(ExtendedMessageTypes.CommissionRule); this.AddSupportedMessage(ExtendedMessageTypes.Clearing); }
/// <summary> /// Initializes a new instance of the <see cref="EmulationMessageAdapter"/>. /// </summary> /// <param name="emulator">Paper trading.</param> /// <param name="transactionIdGenerator">Transaction id generator.</param> public EmulationMessageAdapter(IMarketEmulator emulator, IdGenerator transactionIdGenerator) : base(transactionIdGenerator) { Emulator = emulator; this.AddTransactionalSupport(); this.AddSupportedMessage(MessageTypes.Security); this.AddSupportedMessage(MessageTypes.Board); this.AddSupportedMessage(MessageTypes.Level1Change); this.AddSupportedMessage(MessageTypes.PortfolioChange); this.AddSupportedMessage(MessageTypes.PositionChange); this.AddSupportedMessage(ExtendedMessageTypes.CommissionRule); this.AddSupportedMessage(ExtendedMessageTypes.Clearing); this.AddSupportedMessage(ExtendedMessageTypes.Generator); }
/// <summary> /// Создать <see cref="EmulationMessageAdapter"/>. /// </summary> /// <param name="emulator">Эмулятор торгов.</param> /// <param name="transactionIdGenerator">Генератор идентификаторов транзакций.</param> public EmulationMessageAdapter(IMarketEmulator emulator, IdGenerator transactionIdGenerator) : base(transactionIdGenerator) { Emulator = emulator; this.AddTransactionalSupport(); this.AddSupportedMessage(MessageTypes.Security); this.AddSupportedMessage(MessageTypes.Board); this.AddSupportedMessage(MessageTypes.Level1Change); this.AddSupportedMessage(MessageTypes.PortfolioChange); this.AddSupportedMessage(MessageTypes.PositionChange); this.AddSupportedMessage(ExtendedMessageTypes.CommissionRule); this.AddSupportedMessage(ExtendedMessageTypes.Clearing); this.AddSupportedMessage(ExtendedMessageTypes.Generator); }
/// <summary> /// Initialize <see cref="RealTimeEmulationAdapter"/>. /// </summary> /// <param name="innerAdapter">Underlying adapter.</param> public RealTimeEmulationAdapter(IMessageAdapter innerAdapter) : base(innerAdapter) { _emulator = new MarketEmulator { Parent = this, //SendBackSecurities = true, }; _emulator.Settings.ConvertTime = true; _emulator.Settings.InitialOrderId = DateTime.Now.Ticks; _emulator.Settings.InitialTradeId = DateTime.Now.Ticks; _channelEmulator = new ChannelMessageAdapter(new SubscriptionOnlineMessageAdapter(_emulator), new InMemoryMessageChannel(new MessageByOrderQueue(), "Emulator In", this.AddErrorLog), new InMemoryMessageChannel(new MessageByOrderQueue(), "Emulator Out", this.AddErrorLog)); _channelEmulator.NewOutMessage += OnMarketEmulatorNewOutMessage; }
/// <summary> /// Создать <see cref="EmulationMessageAdapter"/>. /// </summary> /// <param name="emulator">Эмулятор торгов.</param> /// <param name="sessionHolder">Контейнер для сессии.</param> public EmulationMessageAdapter(IMarketEmulator emulator, IMessageSessionHolder sessionHolder) : base(MessageAdapterTypes.Transaction, sessionHolder) { Emulator = emulator; }