private void GetOhlcAsync(IOhlcProvider provider, OhlcContext context)
        {
            if (context == null)
            {
                return;
            }

            var ohlc = AsyncContext.Run(() => provider.GetOhlcAsync(context));

            bool      success       = true;
            OhlcEntry ohlcEntryPrev = null;

            foreach (var ohlcEntry in ohlc)
            {
                if (ohlcEntryPrev != null)
                {
                    if (ohlcEntry.DateTimeUtc >= ohlcEntryPrev.DateTimeUtc)
                    {
                        success = false;
                        Assert.Fail("Time check is failed.");
                    }
                }
                ohlcEntryPrev = ohlcEntry;
            }

            Assert.IsTrue(success);
            Assert.IsTrue(ohlc != null && ohlc.Count > 0);

            Trace.WriteLine("OHLC data:");
            foreach (var entry in ohlc)
            {
                Trace.WriteLine($"{entry.DateTimeUtc}: O {entry.Open}, H {entry.High}, L {entry.Low}, C {entry.Close}");
            }
        }
Beispiel #2
0
        private void GetOhlcTest(IOhlcProvider provider, OhlcContext context)
        {
            if (context == null)
            {
                return;
            }

            var ohlc = AsyncContext.Run(() => provider.GetOhlcAsync(context));

            bool      success       = true;
            OhlcEntry ohlcEntryPrev = null;

            foreach (var ohlcEntry in ohlc.OhlcData)
            {
                if (ohlcEntryPrev != null)
                {
                    if (ohlcEntry.DateTimeUtc >= ohlcEntryPrev.DateTimeUtc)
                    {
                        success = false;
                        throw new InvalidOperationException("Time check is failed.");
                    }
                }
                ohlcEntryPrev = ohlcEntry;
            }

            Assert.True(success);
            Assert.True(ohlc != null && ohlc.OhlcData.Count > 0);

            OutputWriter.WriteLine("OHLC data:");
            foreach (var entry in ohlc.OhlcData)
            {
                OutputWriter.WriteLine($"{entry.DateTimeUtc}: O {entry.Open}, H {entry.High}, L {entry.Low}, C {entry.Close}");
            }
        }
 public OhlcInstantChartPoint(OhlcEntry i)
 {
     X     = i.DateTimeUtc.ToInstant();
     Open  = (double)i.Open;
     High  = (double)i.High;
     Low   = (double)i.Low;
     Close = (double)i.Close;
 }
Beispiel #4
0
 public InstantChartPoint(OhlcEntry i)
 {
     X = i.DateTimeUtc.ToInstant();
     Y = (decimal)i.Close;
 }