Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

Индикаторы

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

Vladimir Karputov | Russian English 中文 Español Deutsch 日本語 Português

Просмотров:
1884
Рейтинг:
голосов: 38
Опубликован:
2017.05.11 09:43
Обновлен:
2017.09.06 10:51

Доступна версия 2: Size of candles 2 (text).

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

Количество баров, для которых отображается размер, ограничено во входных параметрах (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[] очищается.


RSI and Bollinger Bands RSI and Bollinger Bands

Торговая стратегия по RSI и Bollinger Bands.

All information about the symbol All information about the symbol

Вся информация о текущем символе (информация берётся из объекта класса CSymbolInfo) в виде панели диалогов.

cheduecoglioni cheduecoglioni

Мы ждем, когда TP или SL сработают, и после этого открываем позицию в противоположном направлении. Проверка на достаточность средств перед отсылкой торгового приказа. OnTradeTransaction.

TotalPowerIndicatorX_HTF TotalPowerIndicatorX_HTF

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