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

inverse_fisher_transform_of_rsi.mq5

Похожие материалы по тегам

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedingvonepointoneone.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, отображаемый в отдельном окне. Он берёт значения RSI с настраиваемым периодом и типом цены, применяет к ним скользящее среднее заданного типа и периода, а затем преобразует результат в нормированный осциллятор с диапазоном от -1 до 1. Тренд определяется по трём настраиваемым пороговым уровням.

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

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

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

НастройкаОписание
TimeFrame TimeFrame — Таймфрейм, на котором выполняется расчёт индикатора. Поддерживаются обозначения M1, M5, M15, M30, H1, H4, D1, W1, MN, а также специальное значение Current time frame.
RSIPeriod RSIPeriod — Период расчёта индикатора RSI.
RSIPrice RSIPrice — Тип цены, используемый при расчёте RSI (например, Close).
MAPeriod MAPeriod — Период скользящего среднего, применяемого к обработанным значениям RSI.
MAMode MAMode — Режим скользящего среднего, применяемого при обработке значений RSI (например, линейно-взвешенное).
Level1 Level1 — Верхний пороговый уровень для определения направления тренда осциллятора.
Level2 Level2 — Средний пороговый уровень для определения направления тренда осциллятора.
Level3 Level3 — Нижний пороговый уровень для определения направления тренда осциллятора.
Interpolate Interpolate — Включает или отключает интерполяцию значений индикатора между барами при работе на старших таймфреймах.
Получить полный код

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

#property  indicator_separate_window
#property  indicator_buffers   5
#property  indicator_color1    DimGray
#property  indicator_color2    Red
#property  indicator_color3    Red
#property  indicator_color4    DeepSkyBlue
#property  indicator_color5    DeepSkyBlue
#property  indicator_width2    2
#property  indicator_width3    2
#property  indicator_width4    2
#property  indicator_width5    2
#property  indicator_maximum   1
#property  indicator_minimum  -1

extern string TimeFrame   = "Current time frame";
extern int    RSIPeriod   =  5;
extern int    RSIPrice    =  PRICE_CLOSE;
extern int    MAPeriod    =  9;
extern int    MAMode      =  MODE_LWMA;
extern double Level1      =  0.5;
extern double Level2      =  0.0;
extern double Level3      = -0.5;
extern bool   Interpolate = true;

double ifishua[];
double ifishub[];
double ifishda[];
double ifishdb[];
double ifisher[];
double rsi[];
double avg[];
double trend[];

string indicatorFileName;
bool   returnBars;
bool   calculateValue;
int    timeFrame;

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

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

   if(counted_bars<0) return(-1);
   if(counted_bars>0) counted_bars--;
           limit=MathMax(Bars-counted_bars,Bars-1);
           if (returnBars) { ifisher[0] = limit+1; return(0); }

   if (calculateValue || timeFrame==Period())
   {
      if (!calculateValue) if (trend[limit]== 1) CleanPoint(limit,ifishua,ifishub);
      if (!calculateValue) if (trend[limit]==-1) CleanPoint(limit,ifishda,ifishdb);

      for(i=limit; i>=0; i--) rsi[i] = 0.1*(iRSI(NULL,0,RSIPeriod,RSIPrice,i)-50);
      for(i=limit; i>=0; i--)
      {
         avg[i]     = iMAOnArray(rsi,0,MAPeriod,0,MAMode,i);
         ifisher[i] = (MathExp(2*avg[i])-1)/(MathExp(2*avg[i])+1);
         trend[i]   = trend[i+1];
            if (ifisher[i] < Level1 && ifisher[i] > Level3) trend[i] =  0;
            if (ifisher[i] > Level1)                        trend[i] =  1;
            if (ifisher[i] < Level3)                        trend[i] = -1;
            if (calculateValue) continue;

            ifishda[i] = EMPTY_VALUE; ifishdb[i] = EMPTY_VALUE;         
            ifishua[i] = EMPTY_VALUE; ifishub[i] = EMPTY_VALUE;         
               if (t

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

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

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

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

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

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

Стоимость полного кода
487,30₽ ≈ $5.96