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

Unsmoothed RSI

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

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

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

О программе

Индикатор «Unsmoothed RSI» рассчитывает аналитический показатель, аналогичный индексу относительной силы (RSI), и отображает его в отдельном окне MetaTrader 5. Вместо классического расчёта по ценовым баровым данным индикатор сначала вычисляет разницу скользящих средних (SMA) выбранной цены, разделяет положительные и отрицательные изменения и сглаживает их собственной функцией простого скользящего среднего.

Результирующее значение нормализуется в диапазон 0–100 и дополнительно пропускается через пользовательский фильтр сглаживания (super smoother), что позволяет настраивать плавность линии. Дополнительные буферы Pos и Neg используются для промежуточных вычислений и не отображаются на графике.

Индикатор работает на текущем таймфрейме, поддерживает выбор цены применения и периода усреднения. Корректно обрабатывает пересчёт при изменении видимого массива баров, возвращая корректные значения для уже рассчитанных баров.

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

НастройкаОписание
Length Период усреднения для расчёта простого скользящего среднего (SMA) положительных и отрицательных разниц. Определяет глубину анализа и чувствительность индикатора. По умолчанию 14.
Price Тип цены, используемый для расчёта скользящей средней. Допустимые значения: 0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted. По умолчанию 0 (Close).
Smooth Параметр сглаживания, управляющий работой пользовательского фильтра super smoother. Определяет степень плавности отображаемой линии индикатора. По умолчанию 5.
Получить полный код

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

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

extern int Length=14;
extern int Price=0;      // Applied price

extern double Smooth = 5;

double U_RSI[];
double Pos[], Neg[];

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

double workSmooth[][5];
double iSmooth(double price,double length, double speed, int r, int instanceNo=0)
{
   if (length <=1) return(price);
   if (ArrayRange(workSmooth,0)!=Bars) ArrayResize(work

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

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

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

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

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

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

Стоимость полного кода
240,10₽ ≈ $2.93