Example #1
0
        private string OpenTradeMarket()
        {
            if (_symbols.Count == 0)
            {
                return("There is no symbols avaliable!");
            }

            TTSymbol     symbol = _symbols.ElementAt(_random.Next(_symbols.Count)).Value;
            TTOrderSides side   = (_random.Next() % 2 == 0) ? TTOrderSides.Buy : TTOrderSides.Sell;
            decimal      amount = symbol.MinTradeAmount;

            if (!symbol.IsTradeAllowed)
            {
                return("Trade is not allowed for symbol " + symbol.Symbol);
            }

            TTTrade trade;

            using (_statistic.Benchmark("Open Market Trade"))
            {
                trade = WebClient.CreateTrade(new TTTradeCreate
                {
                    Type    = TTOrderTypes.Market,
                    Side    = side,
                    Symbol  = symbol.Symbol,
                    Amount  = amount,
                    Comment = "TTWebRobot market"
                });
            }

            _tradesAll.Add(trade.Id, trade);
            _tradesMarket.Add(trade.Id, trade);
            return(trade.Type + " " + trade.Side + " trade is opened with Id = " + trade.Id);
        }
Example #2
0
        private string OpenTradeStop()
        {
            if (_symbols.Count == 0)
            {
                return("There is no symbols avaliable!");
            }

            TTSymbol     symbol = _symbols.ElementAt(_random.Next(_symbols.Count)).Value;
            TTOrderSides side   = (_random.Next() % 2 == 0) ? TTOrderSides.Buy : TTOrderSides.Sell;
            decimal      amount = symbol.MinTradeAmount;
            decimal      price  = (side == TTOrderSides.Buy) ? _ticks[symbol.Symbol].BestAsk.Price + 20.0m : _ticks[symbol.Symbol].BestBid.Price - 20.0m;

            if (!symbol.IsTradeAllowed)
            {
                return("Trade is not allowed for symbol " + symbol.Symbol);
            }

            TTTrade trade;

            using (_statistic.Benchmark("Open Stop Trade"))
            {
                trade = WebClient.CreateTrade(new TTTradeCreate
                {
                    Type    = TTOrderTypes.Stop,
                    Side    = side,
                    Symbol  = symbol.Symbol,
                    Amount  = amount,
                    Price   = price,
                    Comment = "TTWebRobot stop"
                });
            }

            _tradesAll.Add(trade.Id, trade);
            _tradesPending.Add(trade.Id, trade);
            return(trade.Type + " " + trade.Side + " trade is opened with Id = " + trade.Id);
        }