public OptionPositionChartPanel() { InitializeComponent(); AssetPrice.ValueChanged += AssetPrice_OnValueChanged; CurrentDate.ValueChanged += CurrentDate_OnValueChanged; _studioConnector = ConfigManager.GetService <IStudioConnector>(); _studioConnector.ValuesChanged += StudioConnectorValuesChanged; _studioConnector.NewPositions += StudioConnectorNewPositions; PosChart.MarketDataProvider = _studioConnector; PosChart.SecurityProvider = ConfigManager.GetService <IEntityRegistry>().Securities; _token = GuiDispatcher.GlobalDispatcher.AddPeriodicalAction(() => { lock (_needRefreshLock) { if (!_needRefresh) { return; } _needRefresh = false; } if (!AssetPriceReset.IsEnabled) { Process(() => AssetPrice.Value = LastTradePrice); } RefreshChart(); }); }
public OptionPositionChartPanel() { InitializeComponent(); AssetPrice.ValueChanged += AssetPrice_OnValueChanged; CurrentDate.ValueChanged += CurrentDate_OnValueChanged; _studioConnector = ConfigManager.GetService<IStudioConnector>(); _studioConnector.ValuesChanged += StudioConnectorValuesChanged; _studioConnector.NewPositions += StudioConnectorNewPositions; PosChart.MarketDataProvider = _studioConnector; PosChart.SecurityProvider = ConfigManager.GetService<IEntityRegistry>().Securities; _token = GuiDispatcher.GlobalDispatcher.AddPeriodicalAction(() => { lock (_needRefreshLock) { if (!_needRefresh) return; _needRefresh = false; } if (!AssetPriceReset.IsEnabled) Process(() => AssetPrice.Value = LastTradePrice); RefreshChart(); }); }