示例#1
0
        public void testTicks()
        {
            var actual    = new List <Tick>();
            var listener  = new Symbol.JTickListener(actual.Add, true);
            var d         = O.now();
            var firstTick = new JTick(3.0, 100, 2.0, 4.0, 1.5, O.jDate(d));

            listener.onTick(firstTick);
            var opensLow = new List <Tick> {
                new Tick(2.0, 0, d),
                new Tick(1.5, 0, d),
                new Tick(4.0, 0, d),
                new Tick(3.0, 100, d)
            };

            AreEqual(opensLow, actual);
            actual.Clear();
            var nextTick = new JTick(2.5, 100, 2.0, 4.0, 1.5, O.jDate(d));

            listener.onTick(nextTick);
            AreEqual(new Tick(2.5, 100, d), O.the(actual));
            actual.Clear();
            listener  = new Symbol.JTickListener(actual.Add, true); // reset
            firstTick = new JTick(1.5, 100, 2.0, 2.5, 1.0, O.jDate(d));
            listener.onTick(firstTick);
            var opensHigh = new List <Tick> {
                new Tick(2.0, 0, d),
                new Tick(2.5, 0, d),
                new Tick(1.0, 0, d),
                new Tick(1.5, 100, d)
            };

            AreEqual(opensHigh, actual);
        }
示例#2
0
        public void testLiveData()
        {
            const string name = "testone";

            systemdb.metadata.SystemTimeSeriesTable.SYSTEM_TS.insert(name, "ASCII", "ActiveMQ", "atopic");
            var service = new LiveData();

            service.Connect(new RE.ServiceConnectOptions());
            var testSymbol = new Symbol(new RE.Symbol(name));
            var symbols    = O.list(testSymbol.re());
            var ticks      = new List <RE.TickData>();

            RE.GotTickData reTickListener = delegate(RE.Symbol s, RE.TickData t) {
                Bomb.unless(s.Equals(testSymbol.re()), () => "unexpected symbol: " + s.Name);
                ticks.Add(t);
            };
            service.TickListener = reTickListener;
            service.SetWatchedSymbols(symbols);
            var jSymbol = testSymbol.javaSymbol();
            var tick    = new JTick(3.0, 20, 2.0, 4.0, 1.0, O.jDate(O.now()));

            jSymbol.jmsLive().publish(tick);
            O.sleep(100);
            var reTicks = Tick.reTicks(tick);

            logTick(reTicks[0]);
            logTick(ticks[12]);
            AreEqual(reTicks[0].time, ticks.GetRange(12, 4)[0].time);
            AreEqual(reTicks, ticks.GetRange(12, 4));
            HasCount(16, ticks);
        }
示例#3
0
        public void testOldTicksGetSkipped()
        {
            var actual   = new List <Tick>();
            var listener = new Symbol.JTickListener(actual.Add, true);

            O.freezeNow("2008/09/29 09:18:00");
            var oldTick = new JTick(3.0, 100, 2.0, 4.0, 1.5, util.Dates.date("2008/09/27 09:17:59"));

            listener.onTick(oldTick);
            IsEmpty(actual);
            var newTick = new JTick(3.0, 100, 2.0, 4.0, 1.5, util.Dates.date("2008/09/27 09:18:00"));

            listener.onTick(newTick);
            HasCount(4, actual);
        }
示例#4
0
文件: Bar.cs 项目: TzarIvan/ratel
 public Bar(systemdb.data.Tick tick) : this(tick.open, tick.high, tick.low, tick.last, date(tick.time))
 {
 }
示例#5
0
 public Tick(JTick tick) : this(tick.last, (ulong)tick.volume, date(tick.time))
 {
 }