/// <summary> /// subscribe /// подписаться /// </summary> public void Subscrible(Security security) { _client.SubscribleTradesAndDepths(security); }
/// <summary> /// начать выкачивать данный иснтрументн /// </summary> /// <param name="namePaper"> название инструмента</param> /// <param name="timeFrameBuilder">объект несущий в себе данные о ТаймФрейме нужном для серии</param> /// <returns>в случае успешного запуска возвращает CandleSeries, объект генерирующий свечи</returns> public CandleSeries StartThisSecurity(string namePaper, TimeFrameBuilder timeFrameBuilder) { try { if (_startListeningPortfolios == false) { return(null); } lock (_lockerStarter) { if (namePaper == "") { return(null); } // надо запустить сервер если он ещё отключен if (ServerStatus != ServerConnectStatus.Connect) { //MessageBox.Show("Сервер не запущен. Скачивание данных прервано. Инструмент: " + namePaper); return(null); } if (_securities == null || _portfolios == null) { Thread.Sleep(5000); return(null); } if (_lastStartServerTime != DateTime.MinValue && _lastStartServerTime.AddSeconds(15) > DateTime.Now) { return(null); } Security security = null; for (int i = 0; _securities != null && i < _securities.Count; i++) { if (_securities[i].Name == namePaper) { security = _securities[i]; break; } } if (security == null) { return(null); } CandleSeries series = new CandleSeries(timeFrameBuilder, security); _clientBinance.SubscribleTradesAndDepths(security); Thread.Sleep(300); _candleManager.StartSeries(series); SendLogMessage("Инструмент " + series.Security.Name + "ТаймФрейм" + series.TimeFrame + " успешно подключен на получение данных и прослушивание свечек", LogMessageType.System); if (_tickStorage != null) { _tickStorage.SetSecurityToSave(security); } return(series); } } catch (Exception error) { SendLogMessage(error.ToString(), LogMessageType.Error); return(null); } }