コード例 #1
0
        public virtual BitfinexNewOrderResponse SendOrder(BitfinexNewOrderPost newOrder)
        {
            IRestResponse response = null;

            try
            {
                newOrder.Request = NewOrderRequestUrl;
                newOrder.Nonce   = Common.UnixTimeStampUtc().ToString();

                var client = GetRestClient(NewOrderRequestUrl);
                response = GetRestResponse(client, newOrder);

                var newOrderResponseObj = JsonConvert.DeserializeObject <BitfinexNewOrderResponse>(response.Content);

                Log.Trace(string.Format("BitfinexApi.SendOrder(): {0}", newOrder.ToString()));
                Log.Trace(string.Format("BitfinexApi.SendOrder(): Response: {0}", newOrderResponseObj));

                return(newOrderResponseObj);
            }
            catch (Exception ex)
            {
                var outer = new Exception(response.Content, ex);
                Log.Error(outer);
                return(null);
            }
        }
コード例 #2
0
        private void btnCancelReplace_Click(object sender, EventArgs e)
        {
            var price  = decimal.Parse(txtPrice.Text);
            var amount = decimal.Parse(txtSize.Text);
            var side   = cbBuySell.Text;

            var order = new BitfinexNewOrderPost();

            order.Side = side;
            if (side == "buy")
            {
                order.Price  = decimal.Subtract(price, .05m).ToString();
                order.Amount = decimal.Subtract(amount, .20m).ToString();
            }
            else
            {
                order.Price  = decimal.Add(price, .05m).ToString();
                order.Amount = decimal.Subtract(amount, .20m).ToString();
            }
            order.Exchange = "bitfinex";
            order.Symbol   = "ltcusd";
            order.Type     = "exchange limit";

            Exchange.Api.CancelReplaceOrder(Convert.ToInt32(txtCancelReplaceId.Text), order);
        }
コード例 #3
0
        public BitfinexNewOrderResponse SendOrder(BitfinexNewOrderPost newOrder)
        {
            IRestResponse response = null;

            try
            {
                newOrder.Request = NewOrderRequestUrl;
                newOrder.Nonce   = Common.UnixTimeStampUtc().ToString();

                var client = GetRestClient(NewOrderRequestUrl);
                response = GetRestResponse(client, newOrder);
                Logger.Log.InfoFormat("New Order Response: {0}", response.Content);

                var newOrderResponseObj = JsonConvert.DeserializeObject <BitfinexNewOrderResponse>(response.Content);
                //(newOrderResponseObj);

                Logger.Log.InfoFormat("Sending New Order: {0}", newOrder.ToString());
                Logger.Log.InfoFormat("Response from Exchange: {0}", newOrderResponseObj);

                return(newOrderResponseObj);
            }
            catch (Exception ex)
            {
                var outer = new Exception(response.Content, ex);
                Logger.LogException(outer);
                return(null);
            }
        }
コード例 #4
0
        public BitfinexNewOrderResponse SendOrder(string symbol, string amount, string price, string exchange, string side, string type, bool isHidden)
        {
            var newOrder = new BitfinexNewOrderPost()
            {
                Symbol   = symbol,
                Amount   = amount,
                Price    = price,
                Exchange = exchange,
                Side     = side,
                Type     = type //,
                                //IsHidden = isHidden.ToString()
            };

            return(SendOrder(newOrder));
        }
コード例 #5
0
        public async Task <Order> AddOrderAsync(NewOrderRequest orderRequest, CancellationToken cancellationToken = default)
        {
            var newOrder = new BitfinexNewOrderPost
            {
                Symbol   = orderRequest.Symbol,
                Amount   = orderRequest.Аmount,
                Price    = orderRequest.Price,
                Exchange = Exchange,
                Side     = orderRequest.Side,
                Type     = orderRequest.Type,
                Request  = NewOrderRequestUrl,
                Nonce    = UnixTimeConverter.UnixTimeStampUtc().ToString()
            };

            var response = await GetRestResponse <Order>(newOrder, cancellationToken);

            return(response);
        }
コード例 #6
0
        public async Task <object> AddOrder(string symbol, decimal amount, decimal price, string side, string type, CancellationToken cancellationToken = default)
        {
            var newOrder = new BitfinexNewOrderPost
            {
                Symbol   = symbol,
                Amount   = amount,
                Price    = price,
                Exchange = Exchange,
                Side     = side,
                Type     = type,
                Request  = NewOrderRequestUrl,
                Nonce    = UnixTimeConverter.UnixTimeStampUtc().ToString()
            };

            var response = await GetRestResponse <Order>(newOrder, cancellationToken);

            return(response);
        }
コード例 #7
0
        public BitfinexNewOrderResponse SendOrder(BitfinexNewOrderPost newOrder)
        {
            try
            {
                newOrder.Request = NewOrderRequestUrl;
                newOrder.Nonce   = Common.UnixTimeStampUtc().ToString(CultureInfo.InvariantCulture);

//				var client = GetRestClient(NewOrderRequestUrl);
                var response = GetRestResponse(newOrder);

                var newOrderResponseObj = JsonConvert.DeserializeObject <BitfinexNewOrderResponse>(response);

                Log.Info("Sending New Order: {0}", newOrder.ToString());
                Log.Info("Response from Exchange: {0}", newOrderResponseObj);

                return(newOrderResponseObj);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(null);
            }
        }
コード例 #8
0
        public static BitfinexNewOrderResponse SendOrder(BitfinexNewOrderPost newOrder)
        {
            IRestResponse response = null;

            try
            {
                newOrder.Request = NewOrderRequestUrl;
                newOrder.Nonce   = GetNonce();

                var client = GetRestClient(NewOrderRequestUrl);
                response = GetRestResponse(client, newOrder);

                var newOrderResponseObj = JsonConvert.DeserializeObject <BitfinexNewOrderResponse>(response.Content);

                return(newOrderResponseObj);
            }
            catch (Exception ex)
            {
                var outer = new Exception(response.Content, ex);
                Console.WriteLine(outer);
                return(null);
            }
        }
コード例 #9
0
        private void btnSendMultiple_Click(object sender, EventArgs e)
        {
            var price  = decimal.Parse(txtPrice.Text);
            var amount = decimal.Parse(txtSize.Text);
            var side   = cbBuySell.Text;

            var orderList = new List <BitfinexNewOrderPost>();
            var order1    = new BitfinexNewOrderPost();

            order1.Amount   = amount.ToString();
            order1.Exchange = "bitfinex";
            order1.Price    = price.ToString();
            order1.Side     = side;
            order1.Symbol   = _frm.cbPair.SelectedItem.ToString().ToLower();
            order1.Type     = "exchange limit";

            orderList.Add(order1);

            order1          = new BitfinexNewOrderPost();
            order1.Amount   = amount.ToString();
            order1.Exchange = "bitfinex";
            if (side == "buy")
            {
                order1.Price = decimal.Subtract(price, .50m).ToString();
            }
            else
            {
                order1.Price = decimal.Add(price, .50m).ToString();
            }
            order1.Side   = side;
            order1.Symbol = _frm.cbPair.SelectedItem.ToString().ToLower();
            order1.Type   = "exchange limit";

            orderList.Add(order1);

            var x = Exchange.Api.SendMultipleOrders(orderList.ToArray());
        }
コード例 #10
0
 public Task <BitfinexNewOrderResponse> SendOrderAsync(BitfinexNewOrderPost newOrder)
 {
     return(Task.Run(() => SendOrder(newOrder)));
 }
コード例 #11
0
 public Task <BitfinexCancelReplaceOrderResponse> CancelReplaceOrderAsync(int cancelOrderId, BitfinexNewOrderPost newOrder)
 {
     return(Task.Run(() => CancelReplaceOrder(cancelOrderId, newOrder)));
 }
コード例 #12
0
        public BitfinexCancelReplaceOrderResponse CancelReplaceOrder(int cancelOrderId, BitfinexNewOrderPost newOrder)
        {
            var replaceOrder = new BitfinexCancelReplacePost()
            {
                Amount        = newOrder.Amount,
                CancelOrderId = cancelOrderId,
                Exchange      = newOrder.Exchange,
                Price         = newOrder.Price,
                Side          = newOrder.Side,
                Symbol        = newOrder.Symbol,
                Type          = newOrder.Type
            };

            return(CancelReplaceOrder(replaceOrder));
        }