Ejemplo n.º 1
0
        private DTOMBOrder setCancelTrade(MBEnumerables.CoinType pTipoMoeda, double pNumberOrder)
        {
            string     _parameters = string.Empty;
            string     _json;
            DTOMBOrder _order = new DTOMBOrder();

            _parameters += "&";

            switch (pTipoMoeda)
            {
            case MBEnumerables.CoinType.Bit:
                _parameters += "coin_pair=BRLBTC&";
                break;

            case MBEnumerables.CoinType.Lit:
                _parameters += "coin_pair=BRLLTC&";
                break;
            }

            _parameters += string.Format("order_id={0}", Convert.ToString(pNumberOrder));

            _json = _mbAcess.getRequestPrivate(MBEnumerables.MethodAPI.CancelOrder, _parameters);

            if (validateJsonReturn(_json))
            {
                _order = new DTOMBOrder(_json);
            }
            else
            {
                _order = null;
            }

            return(_order);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Função que retorna todas as suas ordens em aberto, fazendo filtro pelos parâmentros
        /// passados pela função
        /// </summary>
        /// <param name="pCoinType"></param>
        /// <param name="pNumberDays"></param>
        /// <returns></returns>
        public List <DTOMBPublicTrades> getPublicTrades30s(MBEnumerables.CoinType pCoinType, decimal pDe, decimal pPara)
        {
            //List<DTOMBPublicTrades> _listOrders = new List<DTOMBPublicTrades>();
            string _json;
            string pParameters = string.Empty;

            if (pDe > 0 && pPara == 0)
            {
                pParameters = "/" + pDe.ToString();
            }
            else if (pDe > 0 && pPara > 0)
            {
                pParameters = "/" + pDe.ToString() + "/" + pPara.ToString();
            }



            _json = getPublicDataMBbyMethod(MBEnumerables.SearchType.Trades, MBEnumerables.CoinType.Bit, pParameters);


            if (validateJsonReturn(_json))
            {
                /*_return = new DTOMBPublicTrades(_json);
                 * return _return;*/


                DTOMBPublicTrades _orderBase = new DTOMBPublicTrades();

                return(_orderBase.convertJsonToObjectL(_json).OrderByDescending(d => d.date).ToList());
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 3
0
        private DTOMBOrder setTrade(MBEnumerables.CoinType pCoinType, MBEnumerables.OperationType pOperationType, double pVolume, double pPrice)
        {
            string     _parameters = string.Empty;
            string     _json;
            DTOMBOrder _myorders;

            _parameters += "&";

            switch (pCoinType)
            {
            case MBEnumerables.CoinType.Bit:
                _parameters += "coin_pair=BRLBTC&";
                break;

            case MBEnumerables.CoinType.Lit:
                _parameters += "coin_pair=BRLLTC&";
                break;
            }

            _parameters += string.Format("quantity={0}", Convert.ToString(pVolume).Replace(",", ".")) + "&";
            _parameters += string.Format("limit_price={0}", Convert.ToString(pPrice).Replace(",", "."));

            if (pOperationType == MBEnumerables.OperationType.Buy)
            {
                _json = _mbAcess.getRequestPrivate(MBEnumerables.MethodAPI.Buy, _parameters);
            }
            else if (pOperationType == MBEnumerables.OperationType.Sell)
            {
                _json = _mbAcess.getRequestPrivate(MBEnumerables.MethodAPI.Sell, _parameters);
            }
            else if (pOperationType == MBEnumerables.OperationType.Market_Buy)
            {
                _json = _mbAcess.getRequestPrivate(MBEnumerables.MethodAPI.Market_Buy, _parameters);
            }
            else if (pOperationType == MBEnumerables.OperationType.Market_Sell)
            {
                _json = _mbAcess.getRequestPrivate(MBEnumerables.MethodAPI.Market_Sell, _parameters);
            }
            else
            {
                _json = string.Empty;
            }

            if (validateJsonReturn(_json))
            {
                _myorders = new DTOMBOrder(_json);
            }
            else
            {
                _myorders = null;
            }

            return(_myorders);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Função que retorna todas as suas ordens em aberto, fazendo filtro pelos parâmentros
        /// passados pela função
        /// </summary>
        /// <param name="pCoinType"></param>
        /// <param name="pNumberDays"></param>
        /// <returns></returns>
        public List <DTOMBOrder> getMyOrders(MBEnumerables.CoinType pCoinType, int pNumberDays = 1)
        {
            string            _parameters = string.Empty;
            string            _json;
            List <DTOMBOrder> _listOrders = new List <DTOMBOrder>();

            _parameters += "&";

            //_parameters += "status_list=[2]&";

            switch (pCoinType)
            {
            case MBEnumerables.CoinType.Bit:
                _parameters += "coin_pair=BRLBTC";
                break;

            case MBEnumerables.CoinType.Lit:
                _parameters += "coin_pair=BRLLTC";
                break;
            }

            TimeSpan _t = (DateTime.UtcNow.AddDays(pNumberDays * -1) - new DateTime(1970, 1, 1));
            string   _time;

            _time = Convert.ToString((int)_t.TotalSeconds);

            _json = _mbAcess.getRequestPrivate(MBEnumerables.MethodAPI.OrderList, _parameters);

            if (validateJsonReturn(_json))
            {
                DTOMBOrder _orderBase = new DTOMBOrder();

                foreach (DTOMBOrder _order in _orderBase.convertJsonToObject(_json))
                {
                    _listOrders.Add(_order);
                }
            }
            else
            {
                _listOrders = null;
            }

            return(_listOrders);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Acessa a API publica do Mercado Bitcoin, neste método não possui a necessidade
        /// de ser passado as chaves privadas e publicas, e o acesso é via GET
        /// </summary>
        /// <param name="pURLType">Metodo que acessará as funcionalidade da API publica
        /// do MercadoBitcoin</param>
        /// <param name="pType">Se a busca será por Bitcoin ou Litecoin</param>
        /// <returns></returns>
        internal string getPublicDataMBbyMethod(MBEnumerables.SearchType pTypeSearch, MBEnumerables.CoinType pType, string pParameters = "")
        {
            string _url = string.Empty;
            string _responseFromServer = string.Empty;

            try
            {
                switch (pTypeSearch)
                {
                case MBEnumerables.SearchType.Ordens:
                    _url = _REQUEST_HOST + "/api/{0}/orderbook" + pParameters;
                    break;

                case MBEnumerables.SearchType.Trades:
                    _url = _REQUEST_HOST + "/api/{0}/trades" + pParameters;
                    break;

                case MBEnumerables.SearchType.Infos24h:
                    _url = _REQUEST_HOST + "/api/{0}/ticker" + pParameters;
                    break;
                }

                if (pType == MBEnumerables.CoinType.Bit)
                {
                    _url = string.Format(_url, "btc");
                }
                else
                {
                    _url = string.Format(_url, "ltc");
                }

                //Criando o request para o servidor pegando o JSON de retorno
                WebRequest      _request  = WebRequest.Create(_url);
                HttpWebResponse _response = (HttpWebResponse)_request.GetResponse();

                Stream _dataStream = _response.GetResponseStream();

                StreamReader _reader = new StreamReader(_dataStream);
                _responseFromServer = _reader.ReadToEnd();

                _reader.Close();
                _dataStream.Close();
                _response.Close();
            }
            catch (Exception ex)
            {
                _error = ex.Message;
                _responseFromServer = string.Empty;
            }

            return(_responseFromServer);
        }