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

Не идут котировки после переподключения к SmartCom
Atom
1/26/2012
apavlinov


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

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

В логах видно, что смартком отвалился в 11:55:37, а в 11:55:50 был успешно перезапущен. Есть идеи, как это можно полечить? смартком последней версии 2.2.79 от 25.11.2011. Гидра 4.0.15
smartcom2.log.txt 800 KB (233) log_2012_01_26.txt 3 MB (226) SmartTrader.txt 453 B (191)

Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 1/27/2012
Reply


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

apavlinov

Avatar
Date: 1/30/2012
Reply


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

Mikhail Sukhov

Avatar
Date: 1/30/2012
Reply


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


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


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy