private void BindTradersDispatcher() { if (_tradersDispatcher == null) { _tradersDispatcher = _dealingServer.TradersDispatcher; } }
/// <summary> /// Call from OnUserDealData /// </summary> /// <param name="isin"></param> /// <param name="bp"></param> protected override void UpdateMonitorPosisionsAll(string isin, CBotPos bp) { base.UpdateMonitorPosisionsAll(isin, bp); BindTradersDispatcher(); if (_tradersDispatcher == null) { _tradersDispatcher = _dealingServer.TradersDispatcher; } if (_tradersDispatcher != null) { _tradersDispatcher.EnqueueUpdatUserPositionsMonitor(this, BotId); _tradersDispatcher.EnqueueUpdateVm(BotId); } lock (MonitorPositionsAll) { CBotPos pos = new CBotPos(); if (MonitorPositionsAll.TryGetValue(isin, out pos)) { _subBots[isin].OnUpdatePosition(pos); } } }
public CBotTrader(int botId, string name, CSettingsBot settingsBot, Dictionary <string, string> settingsStrategy, /*CPlaza2Connector*/ IDealingServer plaza2Connector) : base(botId, name, settingsBot, settingsStrategy, plaza2Connector) { _tradersDispatcher = plaza2Connector.TradersDispatcher; InitData(); }