Beispiel #1
0
 /// <summary>
 /// Reset the simulation
 /// </summary>
 public void Reset()
 {
     _inited    = false;
     _tickfiles = new string[0];
     Workers.Clear();
     _nextticktime = STARTSIM;
     _broker.Reset();
     _executions = 0;
     _availticks = 0;
     _tickcount  = 0;
 }
Beispiel #2
0
 /// <summary>
 /// Reset the simulation
 /// </summary>
 public void Reset()
 {
     orderok    = true;
     simstart   = 0;
     simend     = 0;
     _inited    = false;
     _tickfiles = new string[0];
     dates.Clear();
     secs.Clear();
     _nextticktime = STARTSIM;
     _broker.Reset();
     _executions = 0;
     _availticks = 0;
     _tickcount  = 0;
 }
 public void Go()
 {
     SimBroker.Reset();
     if (responseengine != null)
     {
         responseengine.Reset();
     }
     if (myhistsim != null)
     {
         myhistsim.Reset();
         myhistsim.PlayTo(MultiSimImpl.ENDSIM);
     }
     else
     {
         debug("No simulation defined on gauntlet engine.");
     }
 }
        public void MultiFire()
        {
            // setup trail tracker
            TrailTracker tt = new TrailTracker();
            tt.VerboseDebugging = true;
            tt.SendOrder += new OrderDelegate(tt_SendOrder);
            tt.SendDebug += new DebugDelegate(tt_SendDebug);
            // set 15c trailing stop
            tt.DefaultTrail = new OffsetInfo(0, .15m,0,.5m);
            // verify it's set
            Assert.AreEqual(.15m, tt.DefaultTrail.StopDist);
            // get feed
            Tick[] tape = MultiFireSampleData();
            // test broker
            Broker b = new Broker();
            b.Reset();
            // get fills over to trail tracker
            b.GotFill += new FillDelegate(tt.Adjust);
            // take initial position
            b.SendOrderStatus(new MarketOrder(SYM, 400));
            // get orders from trail tracker
            tt.SendOrder += new OrderDelegate(b.SendOrder);
            // no orders to start
            oc = 0;
            // iterate through feed
            for (int i = 0; i < tape.Length; i++)
            {
                Tick k = tape[i];
                // set a date and time
                k.date = 20070926;
                k.time = 95500;
                // execute orders, nothing to do on first two ticks
                b.Execute(k);
                // pass every tick to tracker
                tt.newTick(k);

            }
            // get position
            Position p = b.GetOpenPosition(SYM);
            // verify position is flat
            Assert.AreEqual(200,p.UnsignedSize, "position is not flat: " + p.ToString());
            // one retrace sent at the end
            Assert.AreEqual(1, oc,"too many fires");
        }