← К каталогу
Исходный код · ID 2102

rsi_histogram 2.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Этот исходник представляет собой пользовательский индикатор для MetaTrader 5, написанный на языке MQL5. Файл содержит код, который в комментариях и директивах свойств указан как RSI.mq4, однако фактически используется синтаксис MQL5: применяются функции IndicatorBuffers, SetIndexBuffer, SetIndexStyle, IndicatorShortName, SetIndexLabel, SetIndexDrawBegin, IndicatorCounted, Bars, Close, а также обработчики init и start. В MQL5 такие конструкции не являются стандартными для нового кода, но могут поддерживаться для совместимости; тем не менее, по коду не видно явных условных ветвей для MQL4, поэтому язык определяется как MQL5.

Индикатор отображается в отдельном окне, имеет фиксированный диапазон от 0 до 100 и одну буферную линию, стиль отрисовки — гистограмма. Цвет линии задан как DodgerBlue. Предусмотрена одна входная настройка — период RSI. Индикатор рассчитывает значения на основе цен закрытия и выводит их в отдельном подокне.

Алгоритм расчёта основан на сглаженных средних положительных и отрицательных изменений цены. В коде используются три буфера: основной для значений RSI и два вспомогательных для накопления положительных и отрицательных изменений. Начальное заполнение буферов обнуляется, затем выполняется расчёт по историческим данным с учётом количества уже подсчитанных баров. При нулевом отрицательном значении результат приравнивается к нулю, иначе вычисляется относительная сила.

Индикатор не содержит торговых операций, не использует торговые API и не обрабатывает события OnTick или OnTimer. Его назначение — визуализация аналитического показателя в подокне графика.

Настройки программы

НастройкаОписание
RSIPeriod Целочисленный параметр, задающий период расчёта индикатора RSI. Значение по умолчанию — 14. Влияет на количество баров, участвующих в сглаживании, и на подпись индикатора в окне данных.
Получить полный код

Поиск по коду файла

#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 1
#property indicator_color1 DodgerBlue

extern int RSIPeriod=14;

double RSIBuffer[];
double PosBuffer[];
double NegBuffer[];

int init()
  {
      // код доступен только после оплаты
   }

int start()
  {
      // код доступен только после оплаты
   }
   int    i,counted_bars=IndicatorCounted();
   double rel,negative,positive;

   if(Bars<=RSIPeriod) return(0);

   if(counted_bars<1)
      for(i=1;i<=RSIPeriod;i++) RSIBuffer[Bars-i]=0.0;

   i=Bars-RSIPeriod-1;
   if(counted_

Показано первые 50% кода (символов: 1274)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
127,40₽ ≈ $1.56