示例#1
0
        private async void History10d(object sender, RoutedEventArgs e)
        {
            var values = new ChartValues <DateTimePoint>();
            Int_TIME_SERIES_DAILY_ADJUSTED time_series_daily_adjusted = _connection.GetQueryObject_TIME_SERIES_DAILY_ADJUSTED();

            try
            {
                IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED time_series_daily_adjustedResponse =
                    await time_series_daily_adjusted.QueryPrimitiveAsync(_args.Symbol);

                var data = time_series_daily_adjustedResponse.Data;
                if (data.Error)
                {
                    MessageBox.Show("Failed to fetch data", "Error");
                    SeriesCollection[0].Values = Read("\\10d.csv");
                    ResetZoomOnClick(sender, e);
                    return;
                }
                else
                {
                    DateTime offset = DateTime.Now.AddDays(-10);
                    DateTime temp;
                    foreach (var timeseries in data.TimeSeries)
                    {
                        temp = DateTime.ParseExact(timeseries.DateTime, "yyyy-MM-dd", CultureInfo.InvariantCulture);
                        if (temp > offset)
                        {
                            values.Add(new DateTimePoint(temp, double.Parse(timeseries.adjustedclose) * _exchangeRate));
                        }
                    }
                }
                Write("\\10d.csv", values);
            }
            catch (Exception)
            {
                MessageBox.Show("Previse zahteva poslato u kratkom vremene server misli da si spamer! Oladi malo sa kliktanjem.");
                SeriesCollection[0].Values = Read("\\10d.csv");
                ResetZoomOnClick(sender, e);
                return;
            }
            SeriesCollection[0].Values = Read("\\10d.csv");
            // SeriesCollection[0].Values = values;
            ResetZoomOnClick(sender, e);
        }
        public void AlphaVantageDownloader(ProgramContext programContext, string symbol)
        {
            // Creating the connection object
            IAvapiConnection connection = AvapiConnection.Instance;

            // Set up the connection and pass the API_KEY provided by alphavantage.co
            connection.Connect(programContext.AlphaVantageKey);

            // Get the TIME_SERIES_DAILY query object
            Int_TIME_SERIES_DAILY_ADJUSTED time_series_daily_adjusted =
                connection.GetQueryObject_TIME_SERIES_DAILY_ADJUSTED();

            // Perform the TIME_SERIES_DAILY request and get the result
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED time_series_dailyResponse =
                time_series_daily_adjusted.Query(
                    symbol,
                    Const_TIME_SERIES_DAILY_ADJUSTED.TIME_SERIES_DAILY_ADJUSTED_outputsize.full);

            // Printout the results
            Console.WriteLine("******** RAW DATA TIME_SERIES_DAILY ********");
            Console.WriteLine(time_series_dailyResponse.RawData);

            Console.WriteLine("******** STRUCTURED DATA TIME_SERIES_DAILY ********");
            var data = time_series_dailyResponse.Data;

            if (data.Error)
            {
                Console.WriteLine(data.ErrorMessage);
            }
            else
            {
                Console.WriteLine("Information: " + data.MetaData.Information);
                Console.WriteLine("Symbol: " + data.MetaData.Symbol);
                Console.WriteLine("LastRefreshed: " + data.MetaData.LastRefreshed);
                Console.WriteLine("OutputSize: " + data.MetaData.OutputSize);
                Console.WriteLine("TimeZone: " + data.MetaData.TimeZone);
                Console.WriteLine("========================");
                Console.WriteLine("========================");

                //data.TimeSeries.OrderBy(x => x.DateTime);   //testing this out
                foreach (var timeseries in data.TimeSeries)
                {
                    DailyStockRecord tempDailyStockRecord = new DailyStockRecord();

                    Console.WriteLine("open: " + timeseries.open);
                    Console.WriteLine("high: " + timeseries.high);
                    Console.WriteLine("low: " + timeseries.low);
                    Console.WriteLine("close: " + timeseries.close);
                    Console.WriteLine("volume: " + timeseries.volume);
                    Console.WriteLine("DateTime: " + timeseries.DateTime);
                    Console.WriteLine("Dividend: " + timeseries.dividendamount);
                    Console.WriteLine("========================");



                    tempDailyStockRecord.Symbol        = data.MetaData.Symbol;
                    tempDailyStockRecord.Open          = Convert.ToDecimal(timeseries.open);
                    tempDailyStockRecord.High          = Convert.ToDecimal(timeseries.high);
                    tempDailyStockRecord.Low           = Convert.ToDecimal(timeseries.low);
                    tempDailyStockRecord.Close         = Convert.ToDecimal(timeseries.close);
                    tempDailyStockRecord.Volume        = Convert.ToDecimal(timeseries.volume);
                    tempDailyStockRecord.Date          = Convert.ToDateTime(timeseries.DateTime);
                    tempDailyStockRecord.Dividend      = Convert.ToDecimal(timeseries.dividendamount);
                    tempDailyStockRecord.AdjustedClose = Convert.ToDecimal(timeseries.adjustedclose);


                    programContext.DailyRecordList.Add(tempDailyStockRecord);


                    //tempDailyStockRecord.VolitilityRating = calculations.CalcVolitilityRating(dailyRecordList);
                }
            }
        }
示例#3
0
        // dataSize must be "full" or "compact"
        public void RetrieveData(String dataSize)
        {
            /*
             *   *******Init Objects for StockExchange ********
             *
             */


            IAvapiConnection connection = AvapiConnection.Instance;

            connection.Connect("CJ7QO45PVDJ8371Q");
            Int_TIME_SERIES_DAILY_ADJUSTED TSD = connection.GetQueryObject_TIME_SERIES_DAILY_ADJUSTED();

            //ASX
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED ASXResponse =
                TSD.QueryPrimitive(
                    "^AXJO",
                    dataSize
                    );

            this.ASX = ASXResponse.Data;
            //ESTOX
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED ESTOXResponse =
                TSD.QueryPrimitive(
                    "^STOXX50E",
                    dataSize
                    );

            this.ESTOX = ESTOXResponse.Data;

            //FTSE
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED FTSEResponse =
                TSD.QueryPrimitive(
                    "^FTSE",
                    dataSize
                    );

            this.FTSE = FTSEResponse.Data;

            //SP500
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED SP500Response =
                TSD.QueryPrimitive(
                    "^GSPC",
                    dataSize
                    );

            this.SP500 = SP500Response.Data;

            //N225
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED N225Response =
                TSD.QueryPrimitive(
                    "^N225",
                    dataSize
                    );

            this.N225 = N225Response.Data;

            //HANG
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED HangResponse =
                TSD.QueryPrimitive(
                    "^HSI",
                    dataSize
                    );

            this.HANG = HangResponse.Data;



            /*
             *   ******* CurrencyExchange ********
             *
             *   Possible to request only 1 value, see currency_exchange_rate
             */

            //EURUSD
            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED EURUSDResponse =
                TSD.QueryPrimitive(
                    "EURUSD=X",
                    dataSize
                    );

            this.EURUSD = EURUSDResponse.Data;

            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED EURGBPResponse =
                TSD.QueryPrimitive(
                    "EURGBP=X",
                    dataSize
                    );

            this.EURGBP = EURGBPResponse.Data;

            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED EURJPYResponse =
                TSD.QueryPrimitive(
                    "EURJPY=X",
                    dataSize
                    );

            this.EURJPY = EURJPYResponse.Data;

            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED AUDUSDResponse =
                TSD.QueryPrimitive(
                    "AUDUSD=X",
                    dataSize
                    );

            this.AUDUSD = AUDUSDResponse.Data;

            IAvapiResponse_TIME_SERIES_DAILY_ADJUSTED USDHKDResponse =
                TSD.QueryPrimitive(
                    "USDHKD=X",
                    dataSize
                    );

            this.USDHKD = USDHKDResponse.Data;
        }