Чудеса с тиковым потоком на ФОРТС

 

Давно не заглядывал в окно инструмента "Тики". Но когда заглянул, сильно удивился. Вот первый скриншот, с ним все хорошо:

Видно как цена Last прыгает между Ask и Bid, формируя текущую цену. Но данная идилия наблюдается не всегда:


На скриншоте видно, что Last выходит за пределы лучшей цены продажи (Last < Bid) и лучшей цены предложения (Last > Ask). Как это можно понять, если по определению нельзя совершить сделку по ценам отличным от текущих лучших рыночных цен? Особенно хотелось бы услышать мнение разработчиков по данному вопросу.

ps. Вот еще один совсем показательный график:


 

Неправильная трактовка графика.

По оси абсцисс на стандартном графике номер тика, а не время.

 
fxsaber:

Неправильная трактовка графика.

По оси абсцисс на стандартном графике номер тика, а не время.

Смена системы координат в данном случае не меняет результата. На последнем скриншоте хорошо видно, что цена Last последовательно снижалась с 56690 до 56676, в то время как цена Bid оставалась неизменной. Но это невозможно, т.к. нельзя совершить сделку не по лучшим ценам спроса предложения, которые представлены синей и красной линией соответственно.
 
fxsaber:

Неправильная трактовка графика.

По оси абсцисс на стандартном графике номер тика, а не время.

Хотя если предположить, что синхронизация выполнена не верно, и last чертится по номеру тика, а ask и bid по времени, тогда возможно получить такую картинку. Но проблема в том, что CopyTicks, MarketBookGet и SymbolInfoTick выдают такую же противоречивую информацию. Получается, что последняя сделка совершается за пределами лучшего спроса и предложения - а это бред.
 
Vasiliy Sokolov:
Смена системы координат в данном случае не меняет результата. На последнем скриншоте хорошо видно, что цена Last последовательно снижалась с 56690 до 56676, в то время как цена Bid оставалась неизменной. Но это невозможно, т.к. нельзя совершить сделку не по лучшим ценам спроса предложения, которые представлены синей и красной линией соответственно.
Вы не поняли сказанного мною. Представьте сторону стакана в виде 5-ти уровней по 1 лоту. Если отправить маркет на эту сторону в 5 лотов, то будет 5 соответствующих trade-записей и одна котировочная (все с одним и тем же временем, но разными номерами тиков). MT отобразит эту ситуацию, как на последнем скрине - в виде trade-лесенки к "обрыву" котировочной цены.
 

Все очень просто :), на биржевых системах, в том числе и на профессиональном форексе (integral, currenex) сделка совершается, когда ее условия устраивают обе стороны (что не всегда является наилудшим условием для вас). К примеру для форекса, контрагента, предоставляющего лучшую цену, может не устроить ваш объем (маленький или большой), а также он может передумать в процессе (механизм last look). Поэтому цена сделки не обязана быть между ask и bid, даже ask не обязан быть выше bid (о да :) отрицательный спред бывает)

P.S. Зеленая пила на последнем скриншоте - это издержки аггрегации котировок или невозможность передать вам весь датафид (фрагментация ценового датафида). Интересно, а что вам говорит на это саппорт?

 
fxsaber:
Вы не поняли сказанного мною. Представьте сторону стакана в виде 5-ти уровней по 1 лоту. Если отправить маркет на эту сторону в 5 лотов, то будет 5 соответствующих trade-записей и одна котировочная (все с одним и тем же временем, но разными номерами тиков). MT отобразит эту ситуацию, как на последнем скрине - в виде trade-лесенки к "обрыву" котировочной цены.

Ок. Давайте синхронизируем контекст между нами. Отметим на последнем графике момент времени t  прихода тика под номером t вертикальной линией:

Вопрос: что происходит со стаканом в этот момент t и каково состояние Ask и Bid в этот момент?

Классическое объяснение ценообразования дано здесь: Основы биржевого ценообразования. Ответ там дан однозначный и разбирается ситуация пошагово: последняя сделка съедает ликвидность лучшего спроса/предложения, расширяя текущий спред стакана, тем самым уровни Ask и Bid априори синхронизированы с ценой последней сделки (синхронизация по состоянию), понятия времени в тиковом потоке нет, о чем также упоминается в той статье (синхронизация по времени не возможна и бессмысленна).

 
Aleksei Radchenko:

P.S. Зеленая пила на последнем скриншоте - это издержки аггрегации котировок или невозможность передать вам весь датафид (фрагментация ценового датафида).

На ФОРТС это невозможно.

Aleksei Radchenko:

Интересно, а что вам говорит на это саппорт?

Пока заявку не составил, но судя по гробовому молчанию разработчиков, мало кто из них и сам понимает о чем речь в данной ветке. Если объяснения так и не будет дано, составлю заявку в саппорт.
 
Vasiliy Sokolov:

Вопрос: что происходит со стаканом в этот момент t и каково состояние Ask и Bid в этот момент?

На тиковом графике показывается результат возврата SymbolInfoTick на каждом тике, поэтому он показывает Bid/Ask старые, пока не получит новые.

Воспользуйтесь недавно появившемся штатным сервисом получения через GUI тиковой историей и экспортом ее. И приложите этот кусок истории не в виде скрина, а в виде текстового файла. Тогда объяснить мне и понять Вам будет гораздо легче.

 
Моя гипотеза - что это проливы по стакану, когда кто то пушит большой лот и сразу ощутимо сдвигает цену. Если мне не изменяет мой склероз, то эта зеленая сопля почти мгновенна, если курсором прочекать, сколько времени она заняла.
 

Похоже, fxsaber прав.

Не понятно только, почему в информации о тиках, которые продавливают цену, нельзя указать обновленные Бид/Аск в момент этой частичной заливки.

На картинке лесенка тогда была бы сине-зеленая.

Причина обращения: