private string CloseTrade() { if (_account == null) { return("Account information is not avaliable!"); } if (_account.AccountingType != TTAccountingTypes.Gross) { return("Close trade operation is only avaliable for Gross accounts!"); } if (_tradesMarket.Count == 0) { return("There is no active market trades"); } TTTrade trade = _tradesMarket.ElementAt(_random.Next(_tradesMarket.Count)).Value; using (_statistic.Benchmark("Close Position Trade")) { WebClient.CloseTrade(trade.Id, null); } _tradesAll.Remove(trade.Id); _tradesMarket.Remove(trade.Id); return(trade.Type + " " + trade.Side + " trade with Id = " + trade.Id + " was closed"); }
public async Task GetTrades() { // Account trades List <TTTrade> trades = null; if (string.IsNullOrEmpty(TradeId)) { trades = await _client.GetAllTradesAsync(); } else { long tradeId; if (long.TryParse(TradeId, out tradeId)) { try { TTTrade trade = await _client.GetTradeAsync(tradeId); trades = new List <TTTrade>(new[] { trade }); } catch (Exception) { } } } Trades = trades != null ? new ObservableCollection <TTTrade>(trades) : null; }
public static void GetTrades(TickTraderWebClient client) { // Account trades List <TTTrade> trades = client.GetAllTrades(); foreach (var t in trades) { Console.WriteLine("{0} trade with type {1} by symbol {2}: {3}", t.Id, t.Type, t.Symbol, t.Amount); } if (trades.Count > 0) { TTTrade trade = client.GetTrade(trades[0].Id); Console.WriteLine("{0} trade with type {1} by symbol {2}: {3}", trade.Id, trade.Type, trade.Symbol, trade.Amount); } }
private string CancelTrade() { if (_tradesPending.Count == 0) { return("There is no active pending trades"); } TTTrade trade = _tradesPending.ElementAt(_random.Next(_tradesPending.Count)).Value; using (_statistic.Benchmark("Cancel Pending Trade")) { WebClient.CancelTrade(trade.Id); } _tradesAll.Remove(trade.Id); _tradesPending.Remove(trade.Id); return(trade.Type + " " + trade.Side + " trade with Id = " + trade.Id + " was canceled"); }