/// <summary> /// Set instrument parameters for Empty /// viewmodel. Calling when set real /// instrument selected. /// /// If instrument was trade previously /// settings file must be exists, load data from it. /// /// If instrument was not trade previously /// settings file is not exist use ticker data receieved /// from the server /// /// Calling from CKernelTerminal.EditNonConnectedStock /// </summary> /// <param name="conId"></param> /// <param name="ticker">ticker data(instrument, step, decimals, etc) /// recieved from the server /// </param> public void SetEmptyVewModelInstrParams(int conId, CTIckerData ticker) { if (_logger == null) { _logger = new CLogger("MarketViewModel_" + ticker.TickerName); } string pathToConfig = CKernelTerminal.GetInstruemntPath(ticker.TickerName); //Config file for instrument is exists if (File.Exists(pathToConfig)) { _instrumentConfig = _kernelTerminal.LoadInstrumentConfig(ticker.TickerName); CDataBinder.LoadMarketConfig(_instrumentConfig, this); //added 2018-02-27 for bitfinix capability if (_bUpdInstrParamsFromGrid) { Step = (double)ticker.Step; DecimalVolume = ticker.DecimalVolume; Decimals = ticker.Decimals; } } //Config file for instrument is not exists else { TickerName = ticker.TickerName; Step = (double)ticker.Step; DecimalVolume = ticker.DecimalVolume; Decimals = ticker.Decimals; _instrumentConfig.Name = ticker.TickerName; _instrumentConfig.MarketProperties.StockProperties.TickerName = ticker.TickerName; _instrumentConfig.MarketProperties.StockProperties.Step = ticker.Step.ToString(); _instrumentConfig.MarketProperties.StockProperties.Decimals = ticker.Decimals.ToString(); _instrumentConfig.MarketProperties.DealsProperties.Step = ticker.Step.ToString(); _instrumentConfig.FileName = CKernelTerminal.GetInstruemntPath(ticker.TickerName); (new Task(SaveInstrumentConfig)).Start(); } //note: ConId use for both cases ConnId = conId; }