コード例 #1
0
ファイル: PoloniexMarketApi.cs プロジェクト: w1r2p1/CryptoBot
        public async Task <OhlcSeries> ReadOhlcSeries(CurrencyPair currencyPair, DateTime startTime, DateTime endTime, int ohlcTimeSpanSeconds)
        {
            // Request chart data
            const string command    = "returnChartData";
            var          parameters = new Dictionary <string, string>
            {
                // TODO: Map global currency pair to poloniex currency pair instead of expecting these to be equal
                { "currencyPair", currencyPair.ToString() },
                { "start", DateTimeHelper.ToUnixTime(startTime).ToString() },
                { "end", DateTimeHelper.ToUnixTime(endTime).ToString() },
                { "period", ohlcTimeSpanSeconds.ToString() }
            };

            var chartData = await _dataRetriever.PerformRequest <IList <MarketChartData> >(ServerUrl, command, parameters);

            // Convert chart data to OhlcSeries
            var ohlcItems = ImmutableList.CreateBuilder <OhlcItem>();

            foreach (var chartItem in chartData.Reverse())
            {
                var startOhlc = DateTimeHelper.ToUnixTime(chartItem.Time);
                var ohlcItem  = new OhlcItem(startOhlc, startOhlc, chartItem.High, chartItem.Low, chartItem.Open, chartItem.Close);

                ohlcItems.Add(ohlcItem);
            }

            return(new OhlcSeries(ohlcTimeSpanSeconds, ohlcItems.ToImmutable()));
        }