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

inverse fisher transform of rsi.mq5

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

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный индикатор рассчитывает значение RSI вручную на основе разниц ценовых баров, без использования встроенной функции iRSI. Полученное значение RSI масштабируется и сглаживается взвешенным скользящим средним (WMA), после чего применяется обратное преобразование Фишера для формирования ограниченного осциллятора.

В отдельном окне отображаются две линии: основная линия с результатом обратного преобразования Фишера и линия-триггер, которая переключается между уровнями HiTrigger и LoTrigger в зависимости от знака значения. Это позволяет визуально отслеживать пересечения триггерных уровней.

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

Код написан для платформы MetaTrader 5 в языке MQL5 и использует стандартные индикаторные буферы для отрисовки линий в отдельном подокне графика.

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

НастройкаОписание
default=5 (RsiBars) Период RSI — Количество баров, используемых для расчёта значения RSI. Допустимый диапазон: от 0 до 50.
default=9 (WmaBars) Период WMA — Количество баров, используемых для взвешенного скользящего среднего, сглаживающего рассчитанное значение перед преобразованием Фишера.
default=0.5 (HiTrigger) Верхний триггер — Верхний триггерный уровень, при пересечении которого основной линией формируется сигнал. Допустимый диапазон: от 0 до 1.
default=-0.5 (LoTrigger) Нижний триггер — Нижний триггерный уровень, при пересечении которого основной линией формируется сигнал. Допустимый диапазон: от -1 до 0.
default=0 (info) Справка — Логический переключатель для вывода справочной информации о работе индикатора в журнал (в текущей версии блок вывода закомментирован).
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 DimGray

 extern int  RsiBars=5; // default=5
 extern int  WmaBars=9; // default=9
 extern int  HiTrigger=0.5; // default=0.5
 extern int  LoTrigger=-0.5; // default=-0.5
 extern bool  info=0; // default=0

double ExtMapBuffer1[];
double ExtMapBuffer2[];

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

int deinit()
  {

   return(0);
  }

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

int  shift;
int  loopBegin;
bool is_First=True;
double   prevbars;
int   count;

double   Value2;
double    IFish;

double    SumUp;
double    SumDn;
double    AvgUp;
double    AvgDn;
double   Delta;
double   RSI;

double   WmaNumerator;
double   WmaDenominator;
datetime LastTime;
double   PrevAvgUp;
double   PrevAvgDn;
int      cntdown;

   double Value1[40];

/*[if (info ) {
   Alert(\"See Terminal>Journal Tab for ( usage of \\n\",Name);
   Print(\"|___________________\");
   Print(\"|* \",Name,\" *\");
   Print(\"|  \",\"Sell: cross under HiTrigger (or under LoTrigger if (no prior cross under  HiTrigger)\");
   Print(\"|  \",\"Buy: cross over LoTrigger (or over HiTrigger if (no prior cross over LoTrigger)\");
   Print(\"|* \",Name,\" *\");
   Print(\"|```````````````````\");
   }]*/

if (0>HiTrigger || HiTrigger>1 ) {
   Alert("Input Error:  must be 0< HiTrigger <1, Cannot=",HiTrigger);
   return(0);
}
if (-1>LoTrigger || LoTrigger>0 ) {
   Alert("Input Error:  must be -1< LoTrigger <0, Cannot=",LoTrigger);
   return(0);
}
if (0>RsiBars || RsiBars>50 ) {
   Alert("Input Error:  must be 0< RsiBars <50, Cannot=",RsiBars);
   return(0);
}

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

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

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

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

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

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

Стоимость полного кода
290,70₽ ≈ $3.55