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

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


Quote:

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

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

Tags:


Thanks:


1 2 3  > >>
Mikhail Sukhov

Avatar
Date: 9/14/2011
Reply


XMbIPb

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


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

XMbIPb

Avatar
Date: 9/14/2011
Reply


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

Mikhail Sukhov

Avatar
Date: 9/14/2011
Reply


XMbIPb
Гидрой..


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

XMbIPb

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


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

XMbIPb

Avatar
Date: 9/15/2011
Reply


Mikhail Sukhov

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

Quik
Thanks:

Mikhail Sukhov

Avatar
Date: 9/15/2011
Reply


XMbIPb
Mikhail Sukhov

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

Quik


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

XMbIPb

Avatar
Date: 10/20/2011
Reply


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

Kiruhin

Avatar
Date: 6/6/2012
Reply


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

18:45:13.1963215 Quik System.ArgumentException: Лучший бид 75 больше или равен лучшему офферу 74,7.
Parameter name: depths
at #=qOxrUlg4OPs6kyO$Tb$fK_AsvLvpbniHqbem3XR0IqYJ$YHh_unxSb72o8Lx33ST2.OnSave(List`1 #=qdG9D7o0S$VLm$p1X5mJGDg==, IEnumerable`1 #=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==(IEnumerable`1 #=qLhXPr$anHsDxuqWw0hZPdg==)
at StockSharp.Hydra.Core.BaseMarketDataSource.SaveDepths(Security security, IEnumerable`1 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.<Download>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.
Thanks:

Mikhail Sukhov

Avatar
Date: 6/6/2012
Reply


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

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


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

Kiruhin

Avatar
Date: 6/7/2012
Reply


Code
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));

		//...

	});
}


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

Mikhail Sukhov

Avatar
Date: 6/7/2012
Reply


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


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

Code
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);
		}
	});
}
Thanks:
1 2 3  > >>

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

loading
clippy