private void OnNewBestBuySell(Level2Item bestsell, Level2Item bestbuy) { if (SpreadItems.Count == 0) { Dispatcher.Invoke(() => SpreadItems.Insert(0, new SpreadItem { Bid = bestsell.Price, Ask = bestbuy.Price, BSize = bestsell.Quantity, ASize = bestbuy.Quantity })); } else { var item = new SpreadItem { Bid = bestsell.Price, Ask = bestbuy.Price, BSize = bestsell.Quantity, ASize = bestbuy.Quantity }; if (item.CompareTo(SpreadItems.First())) { return; } Dispatcher.Invoke(() => SpreadItems.Insert(0, item)); } }
private void OnNewBestBuySell(Level2Item bestsell, Level2Item bestbuy) { //if (Triggered) return; switch (BuySell) { case null: return; case "Buy": if (Price != bestbuy.Price) { Price = bestbuy.Price; Triggered = false; } //else if (!Triggered) Triggered = bestbuy.Quantity > Size; if (Triggered) { InitialSize = LastSize = bestbuy.Quantity; } break; case "Sell": if (Price != bestsell.Price) { Price = bestsell.Price; Triggered = false; } //else if (!Triggered) Triggered = bestsell.Quantity > Size; if (Triggered) { InitialSize = LastSize = bestsell.Quantity; } break; } }