示例#1
0
        void CloseBy(ConnectionStringBuilder builder)
        {
            var connectionString = builder.ToString();

            using (this.dataTrade = new DataTrade(connectionString))
            {
                this.dataTrade.Logon       += OnLogon;
                this.dataTrade.AccountInfo += DataTrade_AccountInfo;
                this.dataTrade.Start();

                bool status = this.logonEvent.WaitOne(LogonWaitingTimeout);
                status &= this.accountInfoEvent.WaitOne(LogonWaitingTimeout);
                Assert.IsTrue(status, "Timeout of logon event");

                TradeRecord order1 = this.dataTrade.Server.SendOrderEx("EURUSD", TradeCommand.Market, TradeRecordSide.Buy, 0, 10000, null, null, null, null, null, "comment", null, null, 1000000);
                TradeRecord order2 = this.dataTrade.Server.SendOrderEx("EURUSD", TradeCommand.Market, TradeRecordSide.Sell, 0, 10000, null, null, null, null, null, "comment", null, null, 1000000);

                Assert.IsTrue(dataTrade.Server.CloseByPositions(order1.OrderId, order2.OrderId));
                var iter = this.dataTrade.Server.GetTradeTransactionReports(TimeDirection.Backward, false, DateTime.UtcNow.AddMinutes(-5), DateTime.UtcNow.AddMinutes(5), false);
                TradeTransactionReport tradeReport1 = iter.Item;
                iter.Next();
                TradeTransactionReport tradeReport2 = iter.Item;

                //Assert.IsTrue(tradeReport1.PositionById == order1.OrderId);
                Assert.IsTrue(tradeReport2.PositionById == order2.OrderId);


                this.dataTrade.Logon       -= this.OnLogon;
                this.dataTrade.AccountInfo -= DataTrade_AccountInfo;
                this.dataTrade.Stop();
            }
        }
        public void TestTradeReports()
        {
            Assert.AreEqual(0, FdkHelper.ConnectToFdk("ttdemo.fxopen.com", "100106", "123qwe123", ""));

            var _trader = FdkTradeReports.Trade;
            StreamIterator <TradeTransactionReport> tradeTransactions = _trader.Server.GetTradeTransactionReports(TimeDirection.Forward, true, null, null, 5000);

            for (; !tradeTransactions.EndOfStream; tradeTransactions.Next())
            {
                TradeTransactionReport ttr = tradeTransactions.Item;
            }
        }
        public void TestTradeReports2()
        {
            Library.Path = "<FRE>";
            Assert.AreEqual(0, FdkHelper.ConnectToFdk("ttdemo.fxopen.com", "50001933", "123123", ""));

            var _trader   = FdkTradeReports.Trade;
            var startTime = new DateTime(2015, 05, 1, 0, 0, 0);
            var endTime   = new DateTime(2015, 07, 30, 0, 0, 0);
            StreamIterator <TradeTransactionReport> tradeTransactions = _trader.Server.GetTradeTransactionReports(TimeDirection.Forward, true,
                                                                                                                  startTime, endTime, 50);

            for (; !tradeTransactions.EndOfStream; tradeTransactions.Next())
            {
                TradeTransactionReport ttr = tradeTransactions.Item;
            }
        }