public static void Main(string[] args) { // get all machine adapters var adapters = AdapterHelper.GetAdapters(); // print adapters with index for select PrintAdapters(adapters); // getting adapter index from user var adapterUserIndex = SelectAdapterIndex(); var adapterIndex = adapterUserIndex - 1; var adapter = adapters[adapterIndex]; // getting ip settings var settingsLoader = SettingsLoader.CreateInstance(); settingsLoader.Load(out var settings, __BaseDirectory); // clear console Console.Clear(); var tracker = new TickTracker(adapter, settings); tracker.Update += (sender, e) => { // update console view here Console.Clear(); Console.WriteLine($"Tickrate: Stamp: {e.CurrentRate} Avg: {e.Average} Max: {e.MaxRate} Min {e.MinRate}"); }; tracker.Start(); Console.Read(); }
public void Basics() { kt = new TickTracker(); // startup tests Assert.IsFalse(kt[sym].isValid,"valid tick at startup"); Assert.IsFalse(kt[sym].isTrade,"trade at startup"); Assert.IsFalse(kt[sym].isQuote,"quote at startup"); Assert.IsFalse(kt[sym].hasAsk,"ask at startup"); Assert.IsFalse(kt[sym].hasBid,"bid at startup"); // trade occurs kt.newTick(TickImpl.NewTrade(sym, p, s)); Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isTrade, "no trade at startup"); Assert.AreEqual(p, kt.Last(sym),"wrong trade price"); Assert.AreEqual(s, kt[sym].size, "wrong trade size"); Assert.IsFalse(kt[sym].isQuote, "quote at startup"); Assert.IsFalse(kt[sym].hasAsk, "ask at startup"); Assert.IsFalse(kt[sym].hasBid, "bid at startup"); // bid kt.newTick(TickImpl.NewBid(sym, p, s)); // verify bid Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.AreEqual(p, kt.Bid(sym), "wrong bid price"); Assert.AreEqual(ss, kt[sym].bs, "wrong bid size"); Assert.IsFalse(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // verify trade still shows Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isTrade, "no trade at startup"); Assert.AreEqual(p, kt.Last(sym), "wrong trade price"); Assert.AreEqual(s, kt[sym].size, "wrong trade size"); Assert.IsFalse(kt[sym].isQuote, "quote at startup"); Assert.IsFalse(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // ask kt.newTick(TickImpl.NewAsk(sym, p, s)); // verify ask Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isFullQuote, "no quote at startup"); Assert.AreEqual(p, kt.Ask(sym), "wrong ask price"); Assert.AreEqual(ss, kt[sym].os, "wrong ask size"); Assert.IsTrue(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // verify trade still shows Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isTrade, "no trade at startup"); Assert.AreEqual(p, kt.Last(sym), "wrong trade price"); Assert.AreEqual(s, kt[sym].size, "wrong trade size"); Assert.IsFalse(kt[sym].isQuote, "quote at startup"); Assert.IsTrue(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // verify bid still shows Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isFullQuote, "no quote at startup"); Assert.AreEqual(p, kt.Bid(sym), "wrong bid price"); Assert.AreEqual(ss, kt[sym].bs, "wrong bid size"); Assert.IsTrue(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); }
public void Basics() { kt = new TickTracker(); // startup tests Assert.IsFalse(kt[sym].isValid, "valid tick at startup"); Assert.IsFalse(kt[sym].isTrade, "trade at startup"); Assert.IsFalse(kt[sym].isQuote, "quote at startup"); Assert.IsFalse(kt[sym].hasAsk, "ask at startup"); Assert.IsFalse(kt[sym].hasBid, "bid at startup"); // trade occurs kt.newTick(TickImpl.NewTrade(sym, p, s)); Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isTrade, "no trade at startup"); Assert.AreEqual(p, kt.Last(sym), "wrong trade price"); Assert.AreEqual(s, kt[sym].size, "wrong trade size"); Assert.IsFalse(kt[sym].isQuote, "quote at startup"); Assert.IsFalse(kt[sym].hasAsk, "ask at startup"); Assert.IsFalse(kt[sym].hasBid, "bid at startup"); // bid kt.newTick(TickImpl.NewBid(sym, p, s)); // verify bid Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.AreEqual(p, kt.Bid(sym), "wrong bid price"); Assert.AreEqual(ss, kt[sym].bs, "wrong bid size"); Assert.IsFalse(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // verify trade still shows Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isTrade, "no trade at startup"); Assert.AreEqual(p, kt.Last(sym), "wrong trade price"); Assert.AreEqual(s, kt[sym].size, "wrong trade size"); Assert.IsFalse(kt[sym].isQuote, "quote at startup"); Assert.IsFalse(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // ask kt.newTick(TickImpl.NewAsk(sym, p, s)); // verify ask Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isFullQuote, "no quote at startup"); Assert.AreEqual(p, kt.Ask(sym), "wrong ask price"); Assert.AreEqual(ss, kt[sym].os, "wrong ask size"); Assert.IsTrue(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // verify trade still shows Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isTrade, "no trade at startup"); Assert.AreEqual(p, kt.Last(sym), "wrong trade price"); Assert.AreEqual(s, kt[sym].size, "wrong trade size"); Assert.IsFalse(kt[sym].isQuote, "quote at startup"); Assert.IsTrue(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); // verify bid still shows Assert.IsTrue(kt[sym].isValid, "no valid tick at startup"); Assert.IsTrue(kt[sym].isFullQuote, "no quote at startup"); Assert.AreEqual(p, kt.Bid(sym), "wrong bid price"); Assert.AreEqual(ss, kt[sym].bs, "wrong bid size"); Assert.IsTrue(kt[sym].hasAsk, "ask at startup"); Assert.IsTrue(kt[sym].hasBid, "bid at startup"); }