Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Индикаторы

Size of candles 2 (text) - индикатор для MetaTrader 5

Просмотров:
2800
Рейтинг:
(27)
Опубликован:
2017.05.30 09:12
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Версия 1

 Size of candles (text):

Версия 2.

Индикатор отражает размер бара. Размер свечи считается по формуле: "уменьшаемое" минус "вычитаемое". "Уменьшаемое" и "вычитаемое" могут быть одним их четырёх значений (open, high, low or close).

Добавлено в версии 2: 

  • выбор цвета надписи для бычьего и для медвежьего баров
  • настройка отступа от бара
  • сам текст теперь отображается:
    • снизу бара, если бар бычий
    • сверху бара в остальных случаях


Количество баров, для которых отображается размер, ограничено во входных параметрах (InpNumberOfBars). Это число остаётся неизменным, даже если открылся новый бар:



Немного о синхронизации баров и графических объектов.

Учет графических объектов

Названия объектов хранятся в массиве m_arr_names[] — его размер равен входному параметру InpNumberOfBars. Почему выбран именно массив, а не простая переменная типа string?  Это своеобразный задел на будущее.

Формирование имени объекта

Название объекта, который соответствует бару index, формируется по такой формуле:

name[index] = m_prefix + ("high_" or "low_") + TimeToString(time[index])

Когда нужно удалять все объекты

Как известно, индикаторы выгружаются в следующих случаях:

  • открепление индикатора от графика;
  • закрытие терминала (если индикатор был прикреплен к графику);
  • загрузка шаблона, если к графику прикреплен индикатор;
  • закрытие графика, к которому был прикреплен индикатор;
  • смена профиля, если индикатор прикреплен к одному из графиков сменяемого профиля;
  • смена символа и/или периода графика, к которому прикреплен индикатор;
  • изменение входных параметров индикатора.

Поэтому выполняем полное удаление созданных графических объектов:

  • в OnDeinit()
  • в OnInit() (это больше для перестраховки — вдруг остались неудалённые "бесхозные" графические объекты)
  • в OnCalculate(), когда prev_calculated==0.

  Также выполняем очистку массива m_arr_names[]:

  • в OnCalculate(), когда prev_calculated==0 или когда prev_calculated!=rates_total

Поддержание постоянного количества графических объектов:

при возникновении нового бара (или баров) на графике срабатывает условие prev_calculated!=rates_total. В этом случае все объекты удаляются, а массив m_arr_names[] очищается.


Bullish and Bearish Engulfing Bullish and Bearish Engulfing

Торговля по паттерну "Bullish and Bearish Engulfing".

FractalSystem FractalSystem

Индикатор с использованием фракталов.

QEMA_HTF QEMA_HTF

Индикатор QEMA с возможностью изменения таймфрейма индикатора во входных параметрах.

EveningStar EveningStar

Индикатор показывает паттерн "Evening Star" (Вечерняя звезда).