MemExchange.Server.Processor.Book.Orders.StopLimitOrder.Delete C# (CSharp) Method

Delete() public method

public Delete ( ) : void
return void
        public void Delete()
        {
            if (RepositoryDeleteHandler != null)
                RepositoryDeleteHandler(this);

            if (OrderBookDeleteHandler != null)
                OrderBookDeleteHandler(this);

            if (OutgoingQueueDeleteHandler != null)
                OutgoingQueueDeleteHandler(this);

            UnRegisterOrderRepositoryDeleteHandler();
            UnRegisterOrderBookDeleteHandler();
            UnRegisterOutgoingQueueDeleteHandler();
            UnRegisterOrderBookModifyHandler();
            Dispose();
        }

Usage Example

コード例 #1
0
        public void ShouldRemoveTriggerWhenTriggerIsExecuted()
        {
            var orderBookBestBidAsk = new OrderBookBestBidAsk("ABC");
            var book = new OrderBook("ABC", limitOrderMatchingAlgorithmMock, marketOrderMatchingAlgorithmMock, orderBookBestBidAsk);

            var trigger = new BestPriceTrigger("ABC", 10, WayEnum.Buy);
            var stopOrder = new StopLimitOrder("abc", 10, 90, 90, WayEnum.Buy, 2, trigger);

            trigger.SetTriggerAction(() =>
            {
                stopOrder.Delete();
            });

            book.AddStopLimitOrder(stopOrder);

            Assert.AreEqual(trigger, book.BuySideStopLimitOrders[0].Trigger);

            orderBookBestBidAsk.Set(11,12, 100, 100);
            trigger.TryExecute(orderBookBestBidAsk);

            Assert.AreEqual(0, book.BuySideStopLimitOrders.Count);
        }