public void Orderbook_PriceEngineTest_Live() { Console.WriteLine("Orderbook_PriceEngineTest_Live"); Orderbook ob = new Orderbook(); Matcher m = new Matcher(); ob.setMatcher(m); double MAXTIME = 10000; ob.addBid(12.2, 100, null); ob.addAsk(12.3, 100, null); IOrderbookPriceEngine pe = new OrderbookPriceEngine(); try { System.IO.TextWriter writeFile = new StreamWriter("Orderbook_PriceEngineTest_Live.txt"); for (int i = 0; i < MAXTIME; i++) { if (pe.isMarket(ob)) { double pp = pe.getMarketPrice(ob); bool isbid = SingletonRandomGenerator.Instance.NextBoolean(); if (isbid) { ob.addBid(pp, 100, null); } else { ob.addAsk(pp, 100, null); } writeFile.WriteLine("?, ?, " + pp); } else { double ppask = pe.getAskPrice(ob); ob.addAsk(ppask, 100, null); double ppbid = pe.getBidPrice(ob); ob.addBid(ppbid, 100, null); writeFile.WriteLine("" + ppask + ", " + ppbid + ", ?"); } } writeFile.Flush(); writeFile.Close(); writeFile = null; } catch (IOException) { Assert.AreEqual(0, 1); } // execution occurs: 4 5 and 6 partially hit 3 out of 5 units of o3 at the ask price (5) Scheduler.Instance().Run(); }
public void Orderbook_PriceEngineTest() { Console.WriteLine("Orderbook_PriceEngineTest"); Orderbook ob = new Orderbook(); Matcher m = new Matcher(); ob.setMatcher(m); double MAXTIME = 10000; ob.addBid(12.2, 100, null); ob.addAsk(12.3, 100, null); IOrderbookPriceEngine pe = new OrderbookPriceEngine(); try { System.IO.TextWriter writeFile = new StreamWriter("Orderbook_PriceEngineTest.txt"); for (int i = 0; i < MAXTIME; i++) { if (pe.isMarket(ob)) { writeFile.WriteLine("?, ?, " + pe.getMarketPriceOffset(ob)); } else { writeFile.WriteLine("" + pe.getAskPriceOffset(ob) + ", " + pe.getBidPriceOffset(ob) + ", ?"); } } writeFile.Flush(); writeFile.Close(); writeFile = null; } catch (IOException) { Assert.AreEqual(0, 1); } // execution occurs: 4 5 and 6 partially hit 3 out of 5 units of o3 at the ask price (5) Scheduler.Instance().Run(); }