Exception: Лучший бид больше или равен лучшему офферу

Exception: Лучший бид больше или равен лучшему офферу
Atom
14.09.2011
XMbIPb


Quik 13:56:10.7069351 System.ArgumentException: Лучший бид 157985 больше или равен лучшему офферу 157980. Имя параметра: depths в #=qw1XTJ7dV75pMzOz0hBo$siihDG5OZdJczlcSqCrqHeW9oeTyyyg2z_7_I_sdd8zP.OnSave(List1 #=qHt7Kciyn5dIQU9bM1p8X6A==, IEnumerable1 #=qWN5vLK9lgnuirNLbwKPXEQ==, DateTime #=qKKv4d0DmzYEe_LwI_ZTphg==, #=qgSOV1vXH9QyFDywKzjytlUKtRfBvlDa$lfa1pqF_C53vfXDOQ1XxQKKwFTI8v3b1 #=qZLgnP865s$8zaZAaVaUHkw==) в #=qYHpTVY2S45tYaMYO2yPLP0Kwx4gEDfz9gCrc15vsqp2yDFNlUoPV9z$CnkxhiFm_.#=qLylBwxWKZJxUOHK9AhQfJg==(DateTime #=qYJ4ET8pqjhGXfYJzJxL7WA==, IEnumerable1 #=qc5Kcj8dkw_HrZhkiXNAARw==, Boolean #=qCYaiWtpxLFpeKOuk9WIa0g==) в #=qYHpTVY2S45tYaMYO2yPLP0Kwx4gEDfz9gCrc15vsqp2yDFNlUoPV9z$CnkxhiFm_.Save(IEnumerable1 #=qWRtxCXnEO09I0nh9jQVyCg==) в StockSharp.Hydra.Worker.<>c__DisplayClass16.b__10(IMarketDataSource source) в E:\StockSharpReleases\StockSharp_3.2.11\Hydra\Hydra\Worker.cs:строка 210 Начало периодически выскакивать в 3.2.11...


Теги:


Спасибо:


1 2 3  > >>
Mikhail Sukhov

Фотография
Дата: 14.09.2011
Ответить


XMbIPb: Начало периодически выскакивать в 3.2.11...

А чем стаканы пишите?

Спасибо:

XMbIPb

Фотография
Дата: 14.09.2011
Ответить


Гидрой.. только что заметил, что у меня экспорт остановился после этой ошибки.. теперь дыра будет.. как попроще сделать чтоб гидра сигнализировала(отправляла sms,email или пищала хотя бы) в такой ситуации?

Спасибо:

Mikhail Sukhov

Фотография
Дата: 14.09.2011
Ответить


XMbIPb: Гидрой..

Гидра данные откуда берет?

XMbIPb: только что заметил, что у меня экспорт остановился после этой ошибки.. теперь дыра будет.. как попроще сделать чтоб гидра сигнализировала(отправляла sms,email или пищала хотя бы) в такой ситуации?

Написать код в Гидре?

Спасибо:

XMbIPb

Фотография
Дата: 15.09.2011
Ответить


Mikhail Sukhov: Гидра данные откуда берет? Quik

Спасибо:

Mikhail Sukhov

Фотография
Дата: 15.09.2011
Ответить


XMbIPb:

Mikhail Sukhov: Гидра данные откуда берет? Quik

Нашли одно место, где может произойти рассинхронизация, будет в 3.2.12 (выложим вначале на КодеПлекс).

Спасибо:

XMbIPb

Фотография
Дата: 20.10.2011
Ответить


Мигрировал на 4.0.3 - ошибка сохранилась...

Спасибо:

Kiruhin

Фотография
Дата: 06.06.2012
Ответить


свежая версия (билд 17554 на CodePlex) снова стала выбрасывать исключения:

18:45:13.1963215 Quik System.ArgumentException: Лучший бид 75 больше или равен лучшему офферу 74,7. Parameter name: depths at #=qOxrUlg4OPs6kyO$Tb$fK_AsvLvpbniHqbem3XR0IqYJ$YHh_unxSb72o8Lx33ST2.OnSave(List1 #=qdG9D7o0S$VLm$p1X5mJGDg==, IEnumerable1 #=qI8Yrjw3FSlsTGXzrB2G6Wg==, DateTime #=qglhOpOJV3Eak7bWImN1qFw==, #=qIq66bh$3sZ3H5Qsg8wylKQnhWDKIGWVQ4Kzav3bBjbTuEYdOmqUGMB8pZP7nVXWY #=qzo2XbdxQdj2YpWFIs1luwA==) at #=qd51RpYzKvk8ZoX3tAE27Pv5dvwlvJ4cd9LHaruSH2tUb7IGlUdMBGa$XKsHI6h7y.#=qjzjdD5iOFmlnVM$CIAaWbg==(DateTime #=qVEeOLCMkwYeCQLpKOSch0w==, #=qIh_krYypcNrIs_TevJuc9w==[] #=qtnbKHRwSl2jMCyY0PYan3Q==, Boolean #=qm2cMzNZ$AhLbKVjYs1uVcw==) at #=qd51RpYzKvk8ZoX3tAE27Pv5dvwlvJ4cd9LHaruSH2tUb7IGlUdMBGa$XKsHI6h7y.#=qG1RUXoghWzAcXUcOT9wvpc_mdO__lonqO_9aIcpIBx4PoFa9OeOonJ6KslJhoXMc_QLR7RRDGkUG0XQy2cwZOw==(IEnumerable1 #=qLhXPr$anHsDxuqWw0hZPdg==) at StockSharp.Hydra.Core.BaseMarketDataSource.SaveDepths(Security security, IEnumerable1 depths, Boolean raiseDataLoadedEvent) in D:\svalka\invest_info_sSharp\lib\stocksharp-17554\dev\Hydra\Core\BaseMarketDataSource.cs:line 209 at StockSharp.Hydra.Core.TraderMarketDataSource.Load() in D:\svalka\invest_info_sSharp\lib\stocksharp-17554\dev\Hydra\Core\TraderMarketDataSource.cs:line 101 at StockSharp.Hydra.Worker.WorkerProcess.b__18(IMarketDataSource source) in D:\svalka\invest_info_sSharp\lib\stocksharp-17554\dev\Hydra\Hydra\Worker.cs:line 124 18:45:14.2103233 Quik System.ArgumentException: Лучший бид 150,47 больше или равен лучшему офферу 150,31.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 06.06.2012
Ответить


Kiruhin: свежая версия (билд 17554 на CodePlex) снова стала выбрасывать исключения:

18:45:13.1963215 Quik System.ArgumentException: Лучший бид 75 больше или равен лучшему офферу 74,7.

Можете проверку в MarketDataTrader.OnMarketDepthsChanged вставить? Пока не понятно, на каком участке стакан приходит плохой.

Спасибо:

Kiruhin

Фотография
Дата: 07.06.2012
Ответить


private void OnMarketDepthsChanged(IEnumerable<MarketDepth> depths)
{
	depths.ForEach(d =>
	{
		if (d.BestAsk.Price <= d.BestBid.Price)
			Log.SafeInvoke("Ошибка: d.BestAsk.Price <= d.BestBid.Price; {0}, {1}, {2}".Put(d.BestAsk.Price, d.BestBid.Price, d.Security.Code));

		//...

	});
}

этот код ничего в лог не пишет, когда ошибки продолжают валиться.

Спасибо:

Mikhail Sukhov

Фотография
Дата: 07.06.2012
Ответить


Kiruhin: этот код ничего в лог не пишет, когда ошибки продолжают валиться.

Я имел ввиду что-то типа такого:

private void OnMarketDepthsChanged(IEnumerable<MarketDepth> depths)
{
	depths.ForEach(d =>
	{
		//Trace.WriteLine("MDA " +dc.Security+":"+dc._DebugId+":"+ dc.LastChangeTime.ToString("HHmmss.fff"));
		if (d.Bids.Length > 0 || d.Asks.Length > 0)
		{
			if (d.BestAsk.Price <= d.BestBid.Price)
				Log.SaveInvoke("Error 1");

			var clone = d.Clone();

			if (clone.BestAsk.Price <= clone.BestBid.Price)
				Log.SaveInvoke("Error 2");

			_depthsBuffer.Add(d.Security, clone);
		}
	});
}
Спасибо:
1 2 3  > >>

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy