Пример #1
0
        public override void setUp()
        {
            base.setUp();
            emailer.allowMessages();
            liveSystem = OneSystemTest <TestSystem> .fakeLiveSystem(new Parameters { { "LeadBars", 0.0 } }, false);

            data      = new FakeBarLoader(SYMBOL);
            simulator = data.simulator(new SystemArguments(SYMBOL, parameters(liveSystem)), "TEST");
            system    = simulator.theSymbolSystem <TestSystem>(SYMBOL);
            SYMBOL.setCloseTimeForTest("14:00:00", 300);
            bar(0, 0, 0, 0);
        }
Пример #2
0
        public void testDifferentDatesBehaviorIsConsistent()
        {
            insertSymbol(A.name);
            insertSymbol(B.name);
            var systemId = OneSystemTest <TestSystemWithEWMA> .fakeLiveSystem(new Parameters { { "LeadBars", 2.0 } }, false).id();

            var parameters = new Parameters {
                { "systemId", (double)systemId }, { "RunMode", (double)RunMode.LIVE }
            };

            combined = new SystemArguments(O.list(A, B), parameters).bridge <IndependentSymbolSystems <TestSystemWithEWMA> >();
            a        = new SystemArguments(O.list(A), parameters).bridge <IndependentSymbolSystems <TestSystemWithEWMA> >();
            b        = new SystemArguments(O.list(B), parameters).bridge <IndependentSymbolSystems <TestSystemWithEWMA> >();
            bar(1.0, null);
            bar(2.0, 1.0);
            bar(null, 2.0);
            bar(3.0, 3.0);
            AreEqual(ewma(a, A)[0], ewma(b, B)[0]);
        }
Пример #3
0
        [Test] public void testOneSubscribe()
        {
            OrderTable.prefix = "PREFIX";
            O.freezeNow("2009/07/10 13:00:00");
            var liveSystem = OneSystemTest <EmptySystem> .fakeLiveSystem(new Parameters(), false);

            liveSystem.removeAllLiveMarkets();
            insertMarket("FOO", 0);
            liveSystem.addLiveMarket("FOO", "2009/07/07", null);
            insertMarket("BAR", 0);
            liveSystem.addLiveMarket("BAR", "2009/07/07", null);
            var fooTopic = new QTopic("PREFIX.TestSystem1.1.0.daily.Slow.FOO.heartbeat");

            O.timerManager().isInterceptingTimersForTest = true;

            O.timerManager().intercept("2009/07/10 13:00:00", "gui update");
            var map = new StatusTreeMap(new FakeStatusMapGUI(), O.list(liveSystem));

            map.setIsEqualSizes(false);
            var systemNode = O.the(map.nodes());

            AreEqual("TestSystem1", systemNode.text);
            var pvNode = O.the(systemNode.children());

            AreEqual("Slow", pvNode.text);
            var symbolNodes = O.dictionaryFromValues(O.convert(pvNode.children(), child => child as LiveMarketNode), child => child.id);

            AreEqual(1d, symbolNodes["FOO"].size);
            AreEqual(0, symbolNodes["FOO"].ticksReceived);
            AreEqual(1d, symbolNodes["BAR"].size);
            var message = new Fields();

            message.put("timestamp", "2009/07/10 12:59:59");
            message.put("lastTickProcessed", "2009/07/10 12:59:58");
            message.put("ticksReceived", "200");
            message.put("hostname", "hullabaloo");
            fooTopic.send(message);
            Objects.timerManager().intercept("2009/07/10 13:00:01", "second gui update");
            O.timerManager().runTimers("2009/07/10 13:00:00");
            waitMatches(200d, () => symbolNodes["FOO"].ticksReceived); // you just
        }