Несоответствие(запаздывание) ask bid(volume)
Atom Ответить
04.04.2012


Заметил, что реальные ask bid (их объемы)из стаканов не всегда совпадают с Security.BestBid(BestAsk) свойствами.
Например,
Код

//изменение стакана
 Trader.QuotesChanged += _quote => this.GuiAsync(() =>
   {
     if (_ins1 != null && _ins2 != null && _ins1.BestBid != null && _ins2.BestBid != null )
       if (_ins2.LastTrade!=null && _ins1.LastTrade!=null)
        {
        label1.Content = secCode1 + "  " + _ins1.BestBid.Price + " (" + _ins1.BestBid.Volume + ") " + _ins1.BestAsk.Price + " (" + _ins1.BestAsk.Volume + ") " + " Спред: " + _ins1.BestPair.SpreadPrice;

        label3.Content = secCode2 + "  " + _ins2.BestBid.Price + " (" + _ins2.BestBid.Volume + ") " + _ins2.BestAsk.Price + " (" + _ins2.BestAsk.Volume + ") " + " Спред: " + _ins2.BestPair.SpreadPrice;
//...................

а вот что получается:





Теги:


Спасибо:




17 Ответов
Moadip

Фотография
Автор статей Программист
Дата: 04.04.2012
Ответить


У вас с какой скоростью квик данные по dde отдает? По умолчанию раз в 1 сек.
Спасибо:

Макс

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


Moadip Перейти
У вас с какой скоростью квик данные по dde отдает? По умолчанию раз в 1 сек.

скорость 10 милсек в info.ini прописана

[excel]
price-timeout=10
timeout=90
start-timeout=300
use-multithread=0
num-attempts=0
language_id=1
Автор топика
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 04.04.2012
Ответить




Задержка есть, но она минимальная, несколько мс. Записывал видео и просматривал в по кадровом режиме.
Спасибо:

Макс

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


Moadip Перейти


Задержка есть, но она минимальная, несколько мс. Записывал видео и просматривал в по кадровом режиме.

задержка менее 10 милсек не существенна, но у меня она видимо больше...

пробовал несколько раз через PrintScreen - почти всегда не совпадает объем((

Можно Вашу секцию excel в info.ini увидеть?
Автор топика
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 04.04.2012
Ответить


Код

[excel]
price-timeout=10
timeout=60
start-timeout=30
use-multithread=1
num-attempts=0
language_id=1
Спасибо: Макс

Макс

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


Moadip Перейти
Код

[excel]
price-timeout=10
timeout=60
start-timeout=30
use-multithread=1
num-attempts=0
language_id=1


Спасибо, все равно в 50% случаев объем не совпадает.
Скажите, пожалуйста, в quik в настройке стаканов какие галочки стоят (типа Лучшие спрос и предложение видны всегда) ?
И Вы все от имени Администратора запускаете?
Автор топика
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 04.04.2012
Ответить


Цитата:
в настройке стаканов какие галочки стоят (типа Лучшие спрос и предложение видны всегда) ?




Цитата:
И Вы все от имени Администратора запускаете?

Нет.

Цитата:
все равно в 50% случаев объем не совпадает.

У меня тоже не с первого раза получилось сделать скрин.Smile
Попробуйте видео записать и просмотреть, тогда точно будет понятно насколько задержка.
Спасибо:

Макс

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


Беда какая то с этими объемами...надо на плазу уходить.
Для чистоты эксперимента снял видео на чистый sample из 4.0.23, quik боевой,
info.ini вот такой
[excel]
price-timeout=10
timeout=60
start-timeout=30
use-multithread=1
num-attempts=0
language_id=1

видео прилагаю, в любой момент нажимаете на паузу или листаете покадрово - несовпадения по объемам.
6.zip 5,8MB (0)
Автор топика
Спасибо:

Макс

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


Moadip Перейти


Задержка есть, но она минимальная, несколько мс. Записывал видео и просматривал в по кадровом режиме.

А что за элемент выводит данные?
label?
Плохо еще знаю c#, возможно данные в label.content кешируются и в этом дело?
Автор топика
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 05.04.2012
Ответить


Цитата:
А что за элемент выводит данные?

Обычный label

Код

 this.GuiAsync(() => label.Content = ... );
Спасибо: Макс

Макс

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


Moadip Перейти
Цитата:
А что за элемент выводит данные?

Обычный label

Код

 this.GuiAsync(() => label.Content = ... );

ну тогда не знаю в чем дело
ушел на ПлазуBigGrin
Автор топика
Спасибо:

Творог

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


Почему в Sample в таблице "Инструменты" обновление идёт в режиме real-time, а стакан только раз в секунду?
Спасибо:

Moadip

Фотография
Автор статей Программист
Дата: 20.04.2012
Ответить


Открываем SecuritiesWindow.xaml.cs
Находим такой кусок кода

Код

			_timer = ThreadingHelper.Timer(() => _quotesWindows.SyncDo(d =>
			{
				foreach (var p in d)
				{
					var pair = p;

					var wnd = pair.Value;

					wnd.GuiAsync(() =>
					{
						wnd.Quotes.Clear();
						wnd.Quotes.AddRange(MainWindow.Instance.Trader.GetMarketDepth(pair.Key).Select(q => new SampleQuote(q)));
					});
				}
			}))
			.Interval(TimeSpan.FromSeconds(1));


И видим, что стакан синхронизируется с таблицей инструментов раз в 1 сек - Interval(TimeSpan.FromSeconds(1))
Спасибо: Творог

Творог

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


Moadip, поставил 0.1, но окошко стало подтормаживать при перетаскивании. Слишком низколатентно для такого решения?
Спасибо:

Alexander

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


Творог Перейти
Moadip, поставил 0.1, но окошко стало подтормаживать при перетаскивании. Слишком низколатентно для такого решения?


В 4.1 мы гуй оптимизировали для плазы, посмотрите как там сделано
Спасибо:

Творог

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


Alexander Mukhanchikov Перейти

В 4.1 мы гуй оптимизировали для плазы, посмотрите как там сделано


Так крайний релиз 4.0.23 Confused
Спасибо:

Кот Матроскин

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


Спасибо:


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

loading
clippy