← Zurück

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

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

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

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

War dieses Thema hilfreich?

Thema teilen

Kommentare (3)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Mikhail Sukhov
Mikhail Sukhov

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

apavlinov
apavlinov Autor

Я программист в прошлом, но уже 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? Гидра при этом должна быть отключена, так как нельзя несколько соединений устанавливать у Смарта.