Example #1
0
        private MarketSummary GetMarketSummaryFromMarketSummaryResponse(GetMarketSummaryResponse resp)
        {
            return(new MarketSummary()
            {
                UniqueId = Guid.NewGuid(),
                //CurencyCode = GetCurrencyName(resp.MarketName),
                CurrentAskPrice = resp.Ask,
                CurrentBidPrice = resp.Bid,
                CurrentOpenBuyOrders = resp.OpenBuyOrders,
                CurrentOpenSellOrders = resp.OpenSellOrders,
                TimeStamp = new DateTimeOffset(DateTime.SpecifyKind(resp.TimeStamp, DateTimeKind.Utc)),

                LastPrice = resp.Last,
                //Source = this.Name,
                //TickerCode = GetTickerName(resp.MarketName),
                RawData = JsonConvert.SerializeObject(resp)
            });
        }
        private void guardaValorMonedas()
        {
            try
            {
                foreach (TIPO_MONEDA m in monedas)
                {
                    GetMarketSummaryResponse res = ex.GetMarketSummary(m.moneda);
                    res.TimeStamp = res.TimeStamp.AddHours(2); // PONEMOS HORA ESPAÑOLA
                    bdd.altaMoneda(res);

                    //listBox2.Items.Add(res.MarketName + " - HIGH: " + res.High + " LOW: " + res.Low);

                    //if (listBox2.Items.Count > 300)
                    //    listBox2.Items.Clear();
                }
            }
            catch (Exception ex)
            {
            }
        }
        /// <summary>
        /// CARGA HISTORICO A PARTI DE CSV
        /// </summary>
        private void cargaHistorico()
        {
            int contFilas = 0;


            try
            {
                string path = @"C:\Users\juan.roncero\Documents\proyectos\csharp-bittrex-api-master\csharp-bittrex-api-master\consumer\History\bitstampUSD_1-min_data_2012-01-01_to_2017-05-31.csv";


                path = Application.StartupPath + "\\bitstampUSD_1-min_data_2012-01-01_to_2017-05-31.csv";

                // LEEMOS EXCEL

                // CAMPO 1 - TIMESTAMP
                System.DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);

                GetMarketSummaryResponse valor = new GetMarketSummaryResponse();

                using (var fs = File.OpenRead(path))

                    using (var reader = new StreamReader(fs))
                    {
                        // Quitamos titulos
                        reader.ReadLine();

                        while (!reader.EndOfStream)
                        {
                            // 850413

                            contFilas++;

                            var line   = reader.ReadLine();
                            var values = line.Split(',');


                            // 0 1487927400,      TIMESTAMP
                            // 1 1191.01,         OPEN
                            // 2 1192.31,         HIGH
                            // 3 1188.87,         LOW
                            // 4 1188.92,         CLOSE
                            // 5 55.71403603,     VOLUME_(BTC)
                            // 6 66393.72532,     VOLUME_(CURRENCY(
                            // 7 1191.6875899     WEIGHTED_PRICE


                            if (contFilas > 2704343)
                            {
                                // LIMPIAMOS NOT A NUMBER POR 0

                                if (values[7].ToString() != "NaN")
                                {
                                    for (int i = 0; i < values.Length; i++)
                                    {
                                        if (values[i].ToString() == "NaN")
                                        {
                                            values[i] = "0";
                                        }

                                        if (values[i].ToString() == "")
                                        {
                                            values[i] = "0";
                                        }
                                    }

                                    try
                                    {
                                        var ci = CultureInfo.InvariantCulture.Clone() as CultureInfo;
                                        ci.NumberFormat.NumberDecimalSeparator = ".";

                                        double tempFecha = Convert.ToDouble(values[0].ToString());
                                        //valor.MarketName = "USDT-BTC-HIST";
                                        valor.MarketName = "USDT-BTC";
                                        valor.TimeStamp  = dtDateTime.AddSeconds(tempFecha).ToLocalTime();
                                        valor.Open       = Convert.ToDecimal(values[1].ToString());


                                        valor.Bid = decimal.Parse(values[7].ToString().Trim(), ci);

                                        //valor.High = Convert.ToDecimal(values[2].ToString());
                                        valor.High = decimal.Parse(values[2].ToString().Trim(), ci);
                                        //valor.Low = Convert.ToDecimal(values[3].ToString());
                                        valor.Low   = decimal.Parse(values[3].ToString().Trim(), ci);
                                        valor.Close = Convert.ToDecimal(values[4].ToString());

                                        if (values[5].ToString().Contains("e"))
                                        {
                                            int    ipos       = values[5].ToString().IndexOf("e");
                                            string tempVolume = values[5].ToString().Substring(0, ipos);

                                            valor.Volume = 0;
                                        }
                                        else
                                        {
                                            valor.Volume = Convert.ToDecimal(values[5].ToString());
                                        }

                                        if (values[6].ToString().Contains("e"))
                                        {
                                            int ipos = values[6].ToString().IndexOf("e");

                                            string tempVolume = values[6].ToString().Substring(0, ipos);

                                            valor.BaseVolume = 0;
                                        }
                                        else
                                        {
                                            valor.BaseVolume = Convert.ToDecimal(values[6].ToString());
                                        }

                                        //valor.BaseVolume = Convert.ToDecimal(values[6].ToString());

                                        //decimal valorAntiguo = Convert.ToDecimal(values[7].ToString());

                                        valor.Bid = decimal.Parse(values[7].ToString().Trim(), ci); // 1.1



                                        //if (valorAntiguo > 6000)
                                        //{
                                        bdd.altaMonedaHistorico(valor);
                                        //}
                                    }
                                    catch (Exception ex)
                                    {
                                        listBox1.Items.Add(ex.ToString());
                                    }
                                }
                            }
                        }
                    }
            }
            catch (Exception ex)
            {
                listBox1.Items.Add(ex.ToString());
            }
        }