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

Composite RSI

dynamic_zones_pa_composite_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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор Composite RSI отображает в отдельном окне MetaTrader 5 рассчитанные значения аналитического индикатора RSI совместно с зонами динамических вероятностей. Он использует адаптивный определитель цикла на основе преобразования Хилберта для автоматической подстройки периода расчёта RSI, а также привлекает внешнюю библиотеку dynamicZone.dll для вычисления вероятностных уровней покупок и продаж.

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

Параметры PaCycles и PaFilter управляют работой детектора цикла, определяющего текущий период рынка. Результат расчёта RSI зависит от этих параметров и от заданной глубины. Вероятностные зоны рассчитываются на основе истории значений RSI за заданное число баров.

Индикатор предназначен для визуального анализа ценовых данных и технических показателей. Он не выполняет автоматическую торговлю и не гарантирует конкретные результаты использования.

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

НастройкаОписание
PaCycles Параметр количества циклов для детектора фазы Хилберта. Влияет на определение текущего периода рынка и, как следствие, на период расчёта RSI.
PaFilter Параметр фильтра для детектора фазы Хилберта. Участвует в сглаживании определения периода и влияет на адаптивность расчёта.
RsiPrice Тип цены, используемый в качестве исходных данных для расчёта индикатора. Соответствует стандартным типам цен MetaTrader 5.
RsiDepth Глубина усреднения при расчёте составного RSI. Ограничивается диапазоном от 2 до 25. Чем больше значение, тем более сглажена линия индикатора.
RsiFast Переключатель режима сглаживания RSI. При включении используется формула быстрого скользящего среднего, при выключении — стандартная формула экспоненциального сглаживания.
DzLookBack Количество баров, используемых для расчёта зон динамических вероятностей. Задаёт глубину анализа истории индикатора.
DzBuyProbability Пороговое значение вероятности для отображения зоны покупок. Определяет уровень, при котором рассчитывается верхняя граница зоны покупок на основе истории RSI.
DzSellProbability Пороговое значение вероятности для отображения зоны продаж. Определяет уровень, при котором рассчитывается нижняя граница зоны продаж на основе истории RSI.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1  DarkGray
#property indicator_color2  PaleVioletRed
#property indicator_color3  LimeGreen
#property indicator_color4  LimeGreen
#property indicator_color5  PaleVioletRed
#property indicator_color6  PaleVioletRed
#property indicator_style1  STYLE_DOT
#property indicator_style2  STYLE_DOT
#property indicator_style3  STYLE_DOT
#property indicator_width4  2
#property indicator_width5  2
#property indicator_width6  2
#property indicator_minimum -0.1
#property indicator_maximum  1.1
#property indicator_levelcolor DarkGray

#import "dynamicZone.dll"
   double dzBuyP(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i, double precission );
   double dzSellP(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i, double precission );
#import

extern double PaCycles          = 1.0;
extern double PaFilter          = 1.0;
extern int    RsiPrice          = 0;
extern int    RsiDepth          = 10;
extern bool   RsiFast           = false;
extern int    DzLookBack        = 35;
extern double DzBuyProbability  = 0.90;
extern double DzSellProbability = 0.90;

double rsi[];
double zli[];
double bli[];
double sli[];
double rsiDa[];
double rsiDb[];
double slope[];

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

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

double workCompRsi[][26];

double iCompRsi(double price, double period, int depth, bool fast, int i, int instanceNo=0)
{
   if (ArrayRange(workCompRsi,0) !=Bars) ArrayResize(workCompRsi,Bars);
   if (!fast)
        double alpha = 2.0/(1.0 + period);
   else        alpha = 2.0/(2.0 + (period-1.0)/2.0);
   instanceNo *= 26; i = Bars-i-1;

   double CU = 0;
   double CD = 0;
   for (int k=0; k<=depth; k++)
   {
      if (i == 0)
            workCompRsi[i][instanceNo+k] = price;
      else  workCompRsi[i][instanceNo+k] = workCompRsi[i-1][instanceNo+k]+alpha*(price-workCompRsi[i-1][instanceNo+k]);

      price = workCompRsi[i][k+instanceNo];
      if (k>0)
         if (workCompRsi[i][instanceNo+k-1] >= workCompRsi[i][instanceNo+k])
              CU += workCompRsi[i]

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

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

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

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

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

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

Стоимость полного кода
544₽ ≈ $6.65