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); }
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); }