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

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

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

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

О программе

Индикатор для MetaTrader 4, рассчитывающий составной RSI с динамической зоной вероятности. Использует преобразование Хилберта для определения периода и скользящие средние для сглаживания цены. Отображает три линии в отдельном окне: зону покупок, зону продаж и промежуточную линию, а также значения RSI и направление тренда.

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

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

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

НастройкаОписание
PaCycles Циклы PA — Задаёт количество циклов для анализа фазового детектора при расчёте динамического периода RSI.
PaFilter Фильтр PA — Определяет коэффициент фильтрации для сглаживания фазового сигнала перед определением периода.
RsiPrice Цена RSI — Выбирает тип цены или буфера, используемого в качестве исходного значения для расчёта RSI.
RsiDepth Глубина RSI — Задаёт глубину (количество уровней) сравнения при расчёте составного RSI.
RsiFast Быстрый RSI — Переключатель между стандартным и ускоренным методом расчёта составного RSI.
DzLookBack Глубина динамической зоны — Определяет количество баров, используемых для формирования динамических зон вероятности.
DzBuyProbability Вероятность покупки — Порог вероятности для формирования сигнальной зоны покупок динамической зоны.
DzSellProbability Вероятность продажи — Порог вероятности для формирования сигнальной зоны продаж динамической зоны.
Получить полный код

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

#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% кода (символов: 5443)

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

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

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

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

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

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