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

Обработчик события "новый бар" для индикаторов - индикатор для MetaTrader 5

Просмотров:
3892
Рейтинг:
(22)
Опубликован:
2010.10.04 14:30
Обновлен:
2016.11.22 07:33
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

В статье "Обработчик события "новый бар" описаны все идеи, на которых основан данный обработчик. В самой статье приводится пример обработчика для советников. Здесь я выкладываю вариант для индикаторов.  Суть такая же: все расчеты происходят только при появлении нового бара. Это удобная альтернатива прямому использованию OnCalculate().

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

//+------------------------------------------------------------------+
//|                                            OnNewBarCalculate.mq5 |
//|                                            Copyright 2010, Lizar |
//|                                                    Lizar@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, Lizar"
#property link      "Lizar@mail.ru"
#property version   "1.00"
#property indicator_chart_window

#include <OnNewBarCalculate.mqh> // здесь хранится секрет того, как запускается OnNewBarCalculate()

//+------------------------------------------------------------------+
//| Функция-обработчик события "новый бар" для индикатора            |
//+------------------------------------------------------------------+
int OnNewBarCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[])
  {
//--- здесь пишем индикатор как и в функции OnCalculate();
//--- выполняется только при появлении нового бара, а не на каждом тике

   PrintFormat("Новый бар: %s",TimeToString(TimeCurrent(),TIME_SECONDS));
//--- return value of prev_calculated for next call
   return(rates_total);
  }
QQE [v02] and QQE multi-timeframe [v02] QQE [v02] and QQE multi-timeframe [v02]

QQE - Qualitative Quantitative Estimation

Торговый советник ytg_ADX_V1 Торговый советник ytg_ADX_V1

Для принятия решения по открытию позиции советник анализирует показания индикатора АDX.

Структура эксперта участника notused Структура эксперта участника notused

Структура эксперта участника чемпионата ATC-2010 Валерия Мазуренко (notused)

is7n_trend.mq5 (new) is7n_trend.mq5 (new)

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