public void SetSettings(OrderBookSettings settings) { var changed = false; if (Depth != settings.Depth) { depthNumericUpDown.Value = settings.Depth; changed = true; } if (HighlightLargePositions != settings.HighlightLargePositions) { largePositionCheckBox.Checked = settings.HighlightLargePositions; changed = true; } if (Math.Abs(LargeVolumeKoef - settings.LargeVolumeKoef) > 0.00001) { largeVolumeKoefTrackBar.Value = (int)Math.Round(settings.LargeVolumeKoef * 100); changed = true; } if (RefreshInterval != settings.RefreshInterval) { intervalTextBox.Text = settings.RefreshInterval.ToString(); changed = true; } if (Multiplier != settings.Multiplier) { multiplierComboBox.SelectedIndex = (int)Math.Log10(settings.Multiplier); changed = true; } if (typeComboBox.SelectedItem == null || Type != settings.OrderBookType) { typeComboBox.SelectedItem = settings.OrderBookType; changed = true; } if (changed) { OnOrderBookSettingsChanged(); } }
public OrderbookPublishingService( ILogFactory lf, CexIoAdapterSettings settings) { _log = lf.CreateLog(this); _logFactory = lf; _orderBookSettings = settings.OrderBooks; var rawOrderBooks = GetRawOrderBooks(); Session = OrderBooksSession.FromRawOrderBooks( rawOrderBooks, settings.ToCommonSettings(), lf); Session.TickPrices.Subscribe(x => { foreach (var tickPrice in x) { InternalMetrics.QuoteOutCount .WithLabels(tickPrice.Asset) .Inc(); InternalMetrics.QuoteOutSidePrice .WithLabels(tickPrice.Asset, "ask") .Set((double)tickPrice.Ask); InternalMetrics.QuoteOutSidePrice .WithLabels(tickPrice.Asset, "bid") .Set((double)tickPrice.Bid); InternalMetrics.OrderBookOutCount .WithLabels(tickPrice.Asset) .Inc(); InternalMetrics.OrderBookOutDelayMilliseconds .WithLabels(tickPrice.Asset) .Set((DateTime.UtcNow - tickPrice.Timestamp).TotalMilliseconds); } }); }
private void View_SettingsChanged(OrderBookSettings settings) { Model.Settings = settings; }