← Назад

Не идут котировки после переподключения к SmartCom

Не знаю проблема в Гидре или SmartTrader'e

Судя по логам происходит следующее: в определенный момент смартком перестает отвечать в пределах таймаута (10 секунд) и гидра рестарует смартком(?), смартком успешно перезапускается (логи), но вот котировки перестают приходить в гидру. При этом процесс гидры что-то делает, отъедает около 30% cpu, меняется потребление памяти. Если вручную в гидре нажать стоп/старт, то котировки пойдут нормально.

В логах видно, что смартком отвалился в 11:55:37, а в 11:55:50 был успешно перезапущен. Есть идеи, как это можно полечить? смартком последней версии 2.2.79 от 25.11.2011. Гидра 4.0.15

Комментарии (3)

Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий

Mikhail Sukhov
Mikhail Sukhov

Как у вас с программированием? Судя по логу нужно вначале узнать причину ошибки неправильный котировок в стакане.

apavlinov
apavlinov Автор

Я программист в прошлом, но уже 4 года ничего серьезного сам не писал, так то навык конечно не в лучшей форме :)

Mikhail Sukhov
Mikhail Sukhov

apavlinov: Я программист в прошлом, но уже 4 года ничего серьезного сам не писал, так то навык конечно не в лучшей форме :)

var st = new SmartTrader("логин", "пароль");
st.Connected += st.StartExport;
st.NewSecurities += secs =>
{
	foreach (var security in secs)
	{
		if (security.Id == "RIH2@RTS" || security.Id == "SiH2@RTS" || security.Id == "GZH2@RTS")
		{
			Console.WriteLine(security.Id);
			st.RegisterQuotes(security);
			return;
		}
	}
};
st.QuotesChanged += depths =>
{
	foreach (var depth in depths)
	{
		if (!depth.Verify())
			Console.WriteLine("Wrong " + depth.Security);
	}
};
st.Connect();

Сможете запустить такое и посмотреть, выводит ли в консоль Wrong? Гидра при этом должна быть отключена, так как нельзя несколько соединений устанавливать у Смарта.