public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = "trades")] HttpRequestMessage req, TraceWriter log) { var tradeTable = await ConnectionManager.GetTableConnection(Constants.OrderTableName, Constants.IsDryRunning); var currentTrades = tradeTable.CreateQuery <Trade>().Where(x => x.IsOpen).ToList(); currentTrades = currentTrades.OrderBy(x => x.Market).ToList(); var api = new BittrexApi(); List <TradeDto> trades = new List <TradeDto>(); foreach (var trade in currentTrades) { var currentRate = await api.GetTicker(trade.Market); trades.Add(new TradeDto { Market = trade.Market, CloseRate = trade.CloseRate, OpenRate = trade.OpenRate, CloseProfit = trade.CloseProfitPercentage, IsOpen = trade.IsOpen, CloseDate = trade.CloseDate, StakeAmount = trade.StakeAmount, OpenDate = trade.OpenDate, Quantity = trade.Quantity, CurrentRate = currentRate.Ask, Uuid = trade.RowKey }); } return(req.CreateResponse(HttpStatusCode.OK, trades)); }
public BittrexTradeManager(ITradingStrategy strat, INotificationManager notificationManager, Action <string> log) { _api = new BittrexApi(Constants.IsDryRunning); _strategy = strat; _log = log; _notification = notificationManager; }
public Bittrex(string key, string secret, CoinDataList coin_data, CancellationToken shutdown) : base(SettingsData.Settings.Bittrex, coin_data, shutdown) { m_pairs = new HashSet <CurrencyPair>(); m_order_id_lookup = new Dictionary <long, Guid>(); Api = new BittrexApi(key, secret, shutdown, Model.Log); }
private Task <List <OpenOrderSet> > MakeOpenOrderRequest <T>(BittrexApi api, string method, NameValueCollection parameters) { // Console.WriteLine("Making request: " + method); return(Task.Run(() => { string relativeUrl = "api/v1.1"; switch (api) { case BittrexApi.Account: relativeUrl = Path.Combine(relativeUrl, "account"); break; case BittrexApi.Market: relativeUrl = Path.Combine(relativeUrl, "market"); break; case BittrexApi.Public: relativeUrl = Path.Combine(relativeUrl, "public"); break; } relativeUrl = Path.Combine(relativeUrl, method); BittrexRequest request = new BittrexRequest() { Api = api, RelativeUrl = relativeUrl, Parameters = parameters == null ? new NameValueCollection() : parameters }; BittrexResponse <List <OpenOrderSet> > response = null; response = Client.SendRequestAsync <List <OpenOrderSet> >(request).GetAwaiter().GetResult(); if (!response.Success) { Console.WriteLine(response.Message); Console.ReadLine(); } if (response.Result == null) { Console.WriteLine("Request failed: " + method + " Parameters: "); parameters.AllKeys.ToList().ForEach(key => { Console.WriteLine(key + " , " + parameters.Get(key)); }); return null; } //var objects = response.Result.Select(item => JsonConvert.DeserializeObject<T>(item.ToString())).ToList(); //var dictionaries = response.Result.Select(item => JsonConvert.DeserializeObject<Dictionary<string, string>>(item.ToString())).ToArray(); //dictionaries.First().Keys.ToList().ForEach(key => Console.WriteLine(key)); return response.Result; })); }
private async void GetMarketAsync() { List <Market> markets = new List <Market>(); await Task.Run(async() => { markets = (await BittrexApi.GetMarketsAsync()).result; }); coinsgrd.ItemsSource = markets; }
private void btnOrderbooks_Click(object sender, RoutedEventArgs e) { OrderbooksResponse response = BittrexApi.GetOrderbooks("btc-trx", OrderType.Both); if (response.success) { coinsgrd.ItemsSource = response.result.buy; } else { MessageBox.Show(response.message); } }
private void btnTickerSummary_Click(object sender, RoutedEventArgs e) { MarketSummaryResponse response = BittrexApi.GetMarketSummary("btc-trx"); if (response.success) { coinsgrd.ItemsSource = response.result; } else { MessageBox.Show(response.message); } }
public BittrexApiTest() : base() { PublicKey = ""; PrivateKey = ""; ExtraKey = ""; Api = new BittrexApi(); Api.SetCredentials(PublicKey, PrivateKey, ExtraKey); Market = new ScriptMarket("BTC", "USDT", ""); Start(); }
private Task <T> MakeObjectRequest <T>(BittrexApi api, string method, NameValueCollection parameters) { return(Task.Run(() => { string relativeUrl = "api/v1.1"; switch (api) { case BittrexApi.Account: relativeUrl = Path.Combine(relativeUrl, "account"); break; case BittrexApi.Market: relativeUrl = Path.Combine(relativeUrl, "market"); break; case BittrexApi.Public: relativeUrl = Path.Combine(relativeUrl, "public"); break; } relativeUrl = Path.Combine(relativeUrl, method); BittrexRequest request = new BittrexRequest() { Api = api, RelativeUrl = relativeUrl, Parameters = parameters == null ? new NameValueCollection() : parameters }; BittrexResponse <T> response = null; try { response = Client.SendRequestAsync <T>(request).GetAwaiter().GetResult(); } catch (Exception e) { return default(T); } if (!response.Success) { Console.WriteLine(response.Message); } return response.Result; })); }
private void btnTickers_Click(object sender, RoutedEventArgs e) { TikerResponse response = BittrexApi.GetTicker("btc-trx"); if (response.success) { List <Tiker> list = new List <Tiker>(); list.Add(response.result); coinsgrd.ItemsSource = list; } else { MessageBox.Show(response.message); } }
public NotificationManager(ITradingStrategy strategy, Action <string> log) { _api = new BittrexApi(true); _strategy = strategy; _log = log; }
public BittrexManager() { _bittrexApi = new BittrexApi(Properties.Settings.Default.BittrexApiKey, Properties.Settings.Default.BittrexApiSecret); }
private void btnCurrenci_Click(object sender, RoutedEventArgs e) { coinsgrd.ItemsSource = BittrexApi.GetCurrencies().result; }
private void btnMarketSummary_Click(object sender, RoutedEventArgs e) { coinsgrd.ItemsSource = BittrexApi.GetMarketSummaries().result; }
public WalletData(BittrexApi api) { m_api = api; m_data = new Dictionary <string, Balance>(); }