Exemple #1
0
        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));
        }
Exemple #2
0
 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);
 }
Exemple #4
0
        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();
        }
Exemple #9
0
        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;
 }
Exemple #12
0
 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;
 }
Exemple #15
0
 public WalletData(BittrexApi api)
 {
     m_api  = api;
     m_data = new Dictionary <string, Balance>();
 }