Как узнать направление чужой сделки? - страница 4

 
C-4:

Разбираюсь только в ценообразовании на московской бирже, потому что там торгую. На форексе лучше кого-нибудь другого спросить.

Last - цена заключения последней сделки. Допустим мы идем на рынок и покупаем 100 кг картошки. Цена у всех продавцом одинаковая, но нужного нам объема нет ни одного из них. Тогда мы покупаем, допустим по рублю, 20 кг у одного, 50 у второго и 30 у третьего. Мы заключили три сделки с тремя разными продавцами, эти сделки и отобразит цена ласт, и она будет одинаковая.

А если по рублю было только 20 кг, по 1,25 руб. - 50 кг, по 1,35 руб. - 30 кг. И задача купить все 100 кг... какая будет last-цена?
 
denkir:
А если по рублю было только 20 кг, по 1,25 руб. - 50 кг, по 1,35 руб. - 30 кг. И задача купить все 100 кг... какая будет last-цена?

Будет три тика, каждый по  разной цене. Ведь last - это и есть тик. Но тик необязательно должен переходить с одного ценового уровня на другой. Может быть десять тиков подряд на одном и том же уровне. Для примера запустил quik и построил тиковый график на Si, вот:

 

Видно, что тики образуют длинные последовательности - ровные линии. Это и есть мой пример в действии. Тики идут а цена не изменяется. Обратите внимание на уровни. Зачастую два и более тиков находящихся на разных ценовых уровнях как будто находятся ровно друг под другом, без зазора - тот же эффект, сделки заключаются мгновенно и quik это отображает.  

 
Зачем это необходимо?
 
Joni4404:
Зачем это необходимо?
Что это?
 
C-4:

Будет три тика, каждый по  разной цене. Ведь last - это и есть тик. Но тик необязательно должен переходить с одного ценового уровня на другой. Может быть десять тиков подряд на одном и том же уровне. Для примера запустил quik и построил тиковый график на Si, вот:

 

Видно, что тики образуют длинные последовательности - ровные линии. Это и есть мой пример в действии. Тики идут а цена не изменяется. Обратите внимание на уровни. Зачастую два и более тиков находящихся на разных ценовых уровнях как будто находятся ровно друг под другом, без зазора - тот же эффект, сделки заключаются мгновенно и quik это отображает.  

А для Forex'a тик - это разовое изменение цены...
 

Всем спасибо!

Проблему решил. 

 
C-4:

Николай, чувствуется что плаваешь в вопросах ценообразования:) Тик - это и есть цена Last, поэтому одновременно ударить по Bid и Ask она не может, только по очереди.

Сканировать ничего для этого не надо, нужно просто понимать ценообразование и все. 

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

Bid и Ask ничего кроме глубины рынка не скрывают, - ведь это лучшие спрос и предложение. Стакан как раз и показывает объемы, а Last - проторгованный объем.

В общем, скоро опубликую статью, там все разжевано до предела. Будет что почитать:) 

Не, не плаваю, просто задал провокационный вопрос который для большинства неочевиден.

Last это last, какая сделка прошла последней та и last.

Плохо только что в МТ нет ленты сделок. Отсюда непонимание у трейдеров МТ о ценообразовании.

 
Urain:

Не, не плаваю, просто задал провокационный вопрос который для большинства неочевиден.

Last это last, какая сделка прошла последней та и last.

Плохо только что в МТ нет ленты сделок. Отсюда непонимание у трейдеров МТ о ценообразовании.

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

Со всем вышесказанным Vasiliy Sokolov согласен.
Уже давненько пытаюсь добиться от разработчиков ответ на вопрос: "Как получить направление сделки?"
Писал о том, что в Квике и "Таблице всех сделок" это можно узнать всегда и точно (железно),
а в МТ5 только с погрешностью, которая может достигать от 20% до 70%.
Например, с помощью  такого алгоритма:

  if (volume[r]>volume_prev)

   {

   if (close[r]>=Ticks[0].ask || close[r]>=ask[0]) {

                                TotalVolumeBuy +=(int)(volume[r]-volume_prev);

                                Volume[0]=TotalVolumeSell+TotalVolumeBuy;

                                volume_prev=volume[r];

                               }

   if (close[r]<=Ticks[0].bid || close[r]<=bid[0]) {

                                TotalVolumeSell+=(int)(volume[r]-volume_prev);

                                Volume[0]=TotalVolumeSell+TotalVolumeBuy;

                                volume_prev=volume[r];

                               }

   if (close[r]>bid[0] && close[r]<ask[0]) {

                               if (close[r]-bid[0]>ask[0]-close[r]) {

                                   TotalVolumeBuy +=(int)(volume[r]-volume_prev);

                                   Volume[0]=TotalVolumeSell+TotalVolumeBuy;

                                   countVolumeBidAsk+=(int)(volume[r]-volume_prev);

                                   volume_prev=volume[r];

                                   }

                               if (close[r]-bid[0]<ask[0]-close[r]) {

                                   TotalVolumeSell +=(int)(volume[r]-volume_prev);

                                   Volume[0]=TotalVolumeSell+TotalVolumeBuy;

                                   countVolumeBidAsk+=(int)(volume[r]-volume_prev);

                                   volume_prev=volume[r];

                                   }

                               if (close[r]-bid[0]==ask[0]-close[r]) {

                                   if (close[r]<close[r-1]) {

                                   TotalVolumeSell +=(int)(volume[r]-volume_prev);

                                   Volume[0]=TotalVolumeSell+TotalVolumeBuy;

                                   countVolumeBidAsk+=(int)(volume[r]-volume_prev);

                                   volume_prev=volume[r];

                                   }

                                   if (close[r]>close[r-1]) {

                                   TotalVolumeBuy +=(int)(volume[r]-volume_prev);

                                   Volume[0]=TotalVolumeSell+TotalVolumeBuy;

                                   countVolumeBidAsk+=(int)(volume[r]-volume_prev);

                                   volume_prev=volume[r];

                                   }

                                  }

                               }

Причём,  погрешность высока только для сделок совершённых в пределах текущего спреда, т.е. внутри спреда.

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