Example #1
0
        private void ProcessUpdInstrParamsOnilne(byte[] arrMsgBody)
        {
            CUpdateInstrumentParams updInstrParams = CUtilProto.DeserializeProto <CUpdateInstrumentParams>(arrMsgBody);

            Log("ProcessUpdInstrParamsOnilne]");
            _kernelTerminal.UpdateInstrParamsOnilne(updInstrParams);
        }
        /// <summary>
        /// Call when instrument parameter changed (for example Decimals)
        /// during trading. Mostly for bitfinex.
        ///
        /// Call from  CKernelTerminal.ProcessUserUpdateAvailableTickers
        /// </summary>
        /// <param name="updInstrParams"></param>
        public void UpdateInstrumentParamsOnline(CUpdateInstrumentParams updInstrParams)
        {
            //removed 2018-06-25
            //if (updInstrParams.Decimals != Decimals)
            //Decimals = updInstrParams.Decimals;

            //if ((double) updInstrParams.Min_step !=  Step)
            //Step = (double) updInstrParams.Min_step;

            if (updInstrParams.DecimalVolume != DecimalVolume)
            {
                DecimalVolume = updInstrParams.DecimalVolume;
            }



            CStocksVisual sv = new CStocksVisual
            {
                Decimals = Decimals,
                ConNumm  = ConnId,
                Step     = Step,
                Ticker   = TickerName
            };


            _kernelTerminal.UpdateStockVisualInstrumentParams(StockNum, sv);
            SaveInstrumentConfig();
        }
 //this is mostly for Bitfinex
 private void SendUpdateInstrumentsParams(int connId, CUpdateInstrumentParams updateInstrumentParams)
 {
     SendDataToClients(updateInstrumentParams, enmTradingEvent.UpdateInstrumentParams, updateInstrumentParams.Instrument);           //broadcast
 }