public void DBGUpdUSerPosMon(int traderId, CUserPosMonitorUpdate userPosUpd) { string msg = String.Format("[UsePosMon_Update] => botId={0}", traderId); lock (userPosUpd.MonitorUserPos) { foreach (var kvp in userPosUpd.MonitorUserPos) { msg += String.Format("[Instrument={0} Amount={1} AvPos={2}]", kvp.Key, //0 kvp.Value.Amount, //1 kvp.Value.AvPos //2 ); } } Log(msg); }
private void ProcessUserUpdatePositionMonitor(byte[] arrMsgBody) { CUserPosMonitorUpdate userPosUpdate = CUtilProto.DeserializeProto <CUserPosMonitorUpdate>(arrMsgBody); //changed 2018-05-27 string msg = "[UserUpdatePositionMonitor]"; if (userPosUpdate.MonitorUserPos == null) { msg += " MonitorUserPos==null"; } else { foreach (var poses in userPosUpdate.MonitorUserPos) { msg += String.Format("instr={0} amount={1} avPos={2}", poses.Key, poses.Value.Amount, poses.Value.AvPos); } } Log(msg); _kernelTerminal.UpdateUserMonitorPos(userPosUpdate); }
public void EnqueueUpdatUserPositionsMonitor(CBotBase bb, int traderId) { int connId = -1; lock (_dictBotIdConnId) { if (!_dictBotIdConnId.ContainsKey(traderId)) { return; } connId = _dictBotIdConnId[traderId]; } if (connId != -1) { CUserPosMonitorUpdate userPosUpdate = new CUserPosMonitorUpdate(); userPosUpdate.MonitorUserPos = new Dictionary <string, CUserPos>(); lock (bb.MonitorPositionsAll) { foreach (var v in bb.MonitorPositionsAll) { string isin = v.Key; userPosUpdate.MonitorUserPos[isin] = new CUserPos { Amount = v.Value.Amount, AvPos = v.Value.AvPos }; } } _bqTraderData.Add(new CTradingData { Data = (object)userPosUpdate, Event = enmTradingEvent.UserUpdatePositionMonitor, ConnId = connId } ); _dbg.DBGUpdUSerPosMon(traderId, userPosUpdate); } }
private void SendUpdateUserPosMonitor(int connId, CUserPosMonitorUpdate userPosUpdate) { SendDataToClients(userPosUpdate, enmTradingEvent.UserUpdatePositionMonitor, "", connId); }