/// <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; }
/// <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"); }