/// <summary> /// When auth past success. Read data from config (StockVisualConf) /// and send request to server for instruments we need /// </summary> /// <param name="conID"></param> public void SubscribeTickersFromConfig(int conID) { lock (StockVisualConf) { var listStockVisConf = StockVisualConf.ListStocksVisual.FindAll(a => a.ConNumm == conID); CSubscribeTicker subscrTicker = new CSubscribeTicker(); if (listStockVisConf != null) { listStockVisConf.ForEach(stockVisConf => { if (stockVisConf.Ticker != null) { subscrTicker.ListSubscribeCommands.Add( new CCommandSubscribeTickers { Ticker = stockVisConf.Ticker, Action = EnmSubsrcibeActions.Subscribe } ); //assume Step is valid and was already saved in conf Communicator.GetDataReciever(conID).AddStructuresForSubscribedTicker(stockVisConf.Ticker, (decimal)stockVisConf.Step); } }); } Communicator.SendSubscribeTickerList(conID, subscrTicker); } }
public void SendSubscribeTickerList(int conId, CSubscribeTicker st) { enmTradingEvent ev = enmTradingEvent.UserSubscribeTicker; //CSubscribeTicker st = new CSubscribeTicker { SubscribeCommand = new CCommandSubscribeTickers { Ticker = ticker, Action = EnmSubsrcibeActions.Subscribe } }; SendDataToServer(conId, st, ev); }
//========================================================================================================== //============================== END PUBLIC METHODS ============================================================ //========================================================================================================== private void SendSubscribeOrUnsubscribeOneTicker(int conId, string ticker, EnmSubsrcibeActions act) { enmTradingEvent ev = enmTradingEvent.UserSubscribeTicker; CSubscribeTicker st = new CSubscribeTicker { ListSubscribeCommands = new List <CCommandSubscribeTickers> { (new CCommandSubscribeTickers { Ticker = ticker, Action = act }) } }; SendDataToServer(conId, st, ev); }
public void SubscribeIsin(CSubscribeTicker subscrTick) { subscrTick.ListSubscribeCommands.ForEach(a => { if (a.Action == EnmSubsrcibeActions.Subscribe) { if (!SubscribedIsins.Contains(a.Ticker)) { SubscribedIsins.Add(a.Ticker); } } else if (a.Action == EnmSubsrcibeActions.UnSubscribe) { SubscribedIsins.RemoveAll(s => s == a.Ticker); } } ); //SubscribedIsins.Add(isin); }
private void ProcessUserSubscribeTicker(int conId, byte[] arrMsgBody) { CSubscribeTicker subscrTicks = CUtilProto.DeserializeProto <CSubscribeTicker>(arrMsgBody); _dictConnIdTrader[conId].SubscribeIsin(subscrTicks); //2017-01-15 experimental logics temporary disabled /* * CBotTrader bot = _dictKBotIdVBotTrader[_dictConnIdTrader[conId].BotId]; * * foreach (var cmd in subscrTicks.ListSubscribeCommands) * { * if (cmd.Action == EnmSubsrcibeActions.Subscribe) * bot.OnSubscribeInstrument(cmd.Ticker); * else if (cmd.Action == EnmSubsrcibeActions.UnSubscribe) * bot.OnUnSubscribeInstrument(cmd.Ticker); * * * * } */ }