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); }
/// <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); } }
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); }
/// <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); }
/// <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); }