Пример #1
0
        public void NewExecutionMultiple_UpdateTradeSellSide_TradeIsCompleteWithUnusedExecutionSize()
        {
            // Create New Trade Object
            Trade trade = new Trade(TradeSide.Sell, 40, 103, OrderExecutionProvider.Simulated, "0", new Security()
            {
                Symbol = "GOOG"
            }, new DateTime(2015, 01, 21, 18, 20, 57));

            string executionIdOne   = "1";
            int    executionSizeOne = 13;

            // Add new execution
            trade.Add(executionIdOne, executionSizeOne, 102, new DateTime(2015, 01, 21, 18, 20, 59));

            string executionIdTwo   = "2";
            int    executionSizeTwo = 32;

            // Add new execution
            int unusedExecutionSize = trade.Add(executionIdTwo, executionSizeTwo, 102.5M, new DateTime(2015, 01, 21, 18, 21, 09));

            Assert.IsTrue(trade.IsComplete(), "Trade.IsComplete");

            Assert.IsTrue(trade.ExecutionDetails.ContainsKey(executionIdOne), "Execution ID One");
            Assert.AreEqual(executionSizeOne, trade.ExecutionDetails[executionIdOne], "Execution Size One");

            Assert.IsTrue(trade.ExecutionDetails.ContainsKey(executionIdTwo), "Execution ID Two");
            Assert.AreEqual(27, trade.ExecutionDetails[executionIdTwo], "Execution Size Two");

            Assert.AreEqual(new DateTime(2015, 01, 21, 18, 20, 57), trade.StartTime, "Trade Start Time");
            Assert.AreEqual(new DateTime(2015, 01, 21, 18, 21, 09), trade.CompletionTime, "Trade Completion Time");

            Assert.AreEqual(5, unusedExecutionSize, "UnusedExecution Size");
        }
Пример #2
0
        public void NewExecution_UpdateTradeBuySide_TradeIsNotComplete()
        {
            // Create New Trade Object
            Trade trade = new Trade(TradeSide.Buy, 40, 103, OrderExecutionProvider.Simulated, "0", new Security()
            {
                Symbol = "GOOG"
            }, new DateTime(2015, 01, 21, 18, 20, 57));

            string executionId   = "1";
            int    executionSize = 13;

            // Add new execution
            int unusedExecutionSize = trade.Add(executionId, executionSize, 102, new DateTime(2015, 01, 21, 18, 20, 59));

            Assert.IsTrue(!trade.IsComplete(), "Trade.IsComplete");
            Assert.IsTrue(trade.ExecutionDetails.ContainsKey(executionId), "Execution ID");
            Assert.AreEqual(-executionSize, trade.ExecutionDetails[executionId], "Execution Size");
            Assert.AreEqual(0, unusedExecutionSize, "UnusedExecution Size");
        }