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

smarsi_v1.mq5

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

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

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

О программе

SMARSI — это пользовательский индикатор для MetaTrader 5, рассчитывающий значение индекса относительной силы (RSI) на основе скользящих средних. Индикатор отображается в отдельном подокне с диапазоном значений от 0 до 100 и уровнями 30 и 70, которые традиционно используются для определения зон перекупленности и перепроданности.

Расчёт основан на сравнении текущей и предыдущей ценовых точек через функцию скользящей средней (SMA). Положительные и отрицательные изменения накапливаются отдельно и затем нормализуются в соответствии с заданным периодом, после чего формируется итоговое значение RSI.

Индикатор предоставляет два настраиваемых параметра — период RSI и период скользящей средней, что позволяет адаптировать чувствительность анализа под конкретные задачи трейдера. Главная линия отрисовывается в виде линии на графике.

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

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

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

#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_level1 30
#property indicator_level2 70
#property indicator_buffers 1
#property indicator_color1 DodgerBlue

extern int RSIPeriod=14;
extern int MAPeriod=1;

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_bars>=R

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

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

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

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

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

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

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