Индикаторы: Лента всех сделок

 

Лента всех сделок:

Индикатор показывает общее количество сделок по символу в реальном времени.

Автор: prostotrader

 

Как оказалось, автоматическое добавление стакана цен - не работает

MqlBookInfo book[];
   if(!MarketBookGet(Symbol(),book)) //Автоматическое добавление стакана цен, если на графике стакан не добавлен
     {
      if(!MarketBookAdd(Symbol()))
        {
         Print(__FUNCTION__,": Стакан символа "+Symbol()+" не добавден!");
         return( INIT_FAILED );
        }
      else
        {
         use_book=true;
        }
     }
   else
     {
      use_book=false;
     }

 

из-за того, что if(!MarketBookGet(Symbol(),book)) возвращает true

Эта проверка была сделана для того, что если на этом чарте есть советник, который

использует этот же стакан цен, то мы не добавляли бы стакан, а использовали уже существующий.

Поэтому нужно просто добавлять стакан MarketBookAdd(Symbol())

а при деинициализации удалять подриску

MarketBookRelease(Symbol()); , при этом на чарте не должно быть советника или индикатора, которые

используют этот же стакан цен. 

 
prostotrader:

Поэтому нужно просто добавлять стакан MarketBookAdd(Symbol())

а при деинициализации удалять подриску

MarketBookRelease(Symbol()); , при этом на чарте не должно быть советника или индикатора, которые

используют этот же стакан цен. 

Что-то у Вас с пониманием нарушение. Если сделаете MarketBookRelease, то другие советники все равно будут получать стакан.

 
fxsaber:

Что-то у Вас с пониманием нарушение. Если сделаете MarketBookRelease, то другие советники все равно будут получать стакан.

На данном чарте?

Почему?

 
prostotrader:

На данном чарте?

Да.

Почему?

Потому что MarketBookAdd и MarketBookRelease - это подписка/отписка на событие BookEvent для конкретного советника/индикатора. Это не подписка на стакан.

MarketBookAdd увеличивает счетчик программ, которые используют стакан. Вторая - уменьшает.

 
fxsaber:

Да.

Потому что MarketBookAdd и MarketBookRelease - это подписка/отписка на событие BookEvent для конкретного советника/индикатора. Это не подписка на стакан.

MarketBookAdd увеличивает счетчик программ, которые используют стакан. Вторая - уменьшает.

Ок
Файлы:
DealsLent.mq5  39 kb
 
этот индикатор визуализирует ленту, так?
 
sober:
этот индикатор визуализирует ленту, так?
Так
 

v 1.03 Модернизированный индикатор.

Теперь, гистограммы (крайне правые синяя и красная на одном баре) показывают общую разницу Buy/Sell сделок за выбранный период. 

Если период = 0, то пересчёт равен = 30 

Файлы:
DealsLent.mq5  47 kb
 

Почему то не ставиться на график.

 
prostotrader:

v 1.03 Модернизированный индикатор.

Теперь, гистограммы (крайне правые синяя и красная на одном баре) показывают общую разницу Buy/Sell сделок за выбранный период. 

Если период = 0, то пересчёт равен = 30 

 

Какой смысл в графике, если он постоянно меняется? Мне кажется, что гистограммы было бы достаточно, ну, или хотя бы есть смысл сместить её в сторону баров с целью синхронизации, что б каждый столбик был под конкретным баром и наглядно было видно, за счет чего сформировался бар - было больше покупок или продаж.


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