Example #1
0
        public void Dispose()
        {
            if (_client != null)
            {
                _client.Dispose();

                _client.Connected         -= ClientOnConnected;
                _client.UpdatedSecurities -= ClientOnUpdatedSecurities;
                _client.Disconnected      -= ClientOnDisconnected;
                _client.UpdatePortfolios  -= ClientOnUpdatePortfolios;
                _client.UpdateMarketDepth -= ClientOnUpdateMarketDepth;
                _client.MyTradeEvent      -= ClientOnMyTradeEvent;
                _client.MyOrderEvent      -= ClientOnMyOrderEvent;
                _client.LogMessageEvent   -= SendLogMessage;
            }

            _client      = null;
            ServerStatus = ServerConnectStatus.Disconnect;
        }
Example #2
0
        public void Connect()
        {
            var currentTime = DateTime.UtcNow;

            if (currentTime.Hour == _endWorkingTime.Hour && currentTime.Minute < _startWorkingTime.Minute && currentTime.Minute > _endWorkingTime.Minute)
            {
                return;
            }
            if (_client == null)
            {
                _client = new LmaxFixClient(((ServerParameterString)ServerParameters[0]).Value,
                                            ((ServerParameterString)ServerParameters[1]).Value,
                                            ((ServerParameterString)ServerParameters[2]).Value,
                                            ((ServerParameterInt)ServerParameters[3]).Value,
                                            ((ServerParameterString)ServerParameters[4]).Value,
                                            ((ServerParameterPassword)ServerParameters[5]).Value,
                                            _startWorkingTime, _endWorkingTime);

                _client.Connected         += ClientOnConnected;
                _client.UpdatedSecurities += ClientOnUpdatedSecurities;
                _client.Disconnected      += ClientOnDisconnected;
                _client.UpdatePortfolios  += ClientOnUpdatePortfolios;
                _client.UpdateMarketDepth += ClientOnUpdateMarketDepth;
                _client.MyTradeEvent      += ClientOnMyTradeEvent;
                _client.MyOrderEvent      += ClientOnMyOrderEvent;
                _client.LogMessageEvent   += SendLogMessage;
            }

            _lastStartServerTime = DateTime.Now;

            if (_client.IsCreated)
            {
                _client.Connect();
            }
            else
            {
                SendLogMessage("Не удалось начать подключение, отсутствует один или несколько обязательных параметров", LogMessageType.Error);
            }
        }
Example #3
0
        public void Connect()
        {
            var currentTime = DateTime.UtcNow;

            if (currentTime.Hour == _endWorkingTime.Hour && currentTime.Minute < _startWorkingTime.Minute && currentTime.Minute > _endWorkingTime.Minute)
            {
                return;
            }
            if (_client == null)
            {
                _client = new LmaxFixClient(((ServerParameterString)ServerParameters[0]).Value,
                                            ((ServerParameterString)ServerParameters[1]).Value,
                                            ((ServerParameterString)ServerParameters[2]).Value,
                                            ((ServerParameterInt)ServerParameters[3]).Value,
                                            ((ServerParameterString)ServerParameters[4]).Value,
                                            ((ServerParameterPassword)ServerParameters[5]).Value,
                                            _startWorkingTime, _endWorkingTime);

                _client.Connected         += ClientOnConnected;
                _client.UpdatedSecurities += ClientOnUpdatedSecurities;
                _client.Disconnected      += ClientOnDisconnected;
                _client.UpdatePortfolios  += ClientOnUpdatePortfolios;
                _client.UpdateMarketDepth += ClientOnUpdateMarketDepth;
                _client.MyTradeEvent      += ClientOnMyTradeEvent;
                _client.MyOrderEvent      += ClientOnMyOrderEvent;
                _client.LogMessageEvent   += SendLogMessage;
            }

            _lastStartServerTime = DateTime.Now;

            if (_client.IsCreated)
            {
                _client.Connect();
            }
            else
            {
                SendLogMessage(OsLocalization.Market.Label56, LogMessageType.Error);
            }
        }