コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
		/// <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);
		}
コード例 #4
0
        /// <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;
        }
コード例 #5
0
 /// <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;
 }