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

dynamic_zones_rsi_accumulated_2_4_y_alerts.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 за заданное количество периодов и рассчитывает динамические зоны анализа на основе внешней библиотеки dynamicZone.dll, отображая уровни покупки и продажи в виде цветных линий и точек на графике.

Индикатор поддерживает несколько вариантов расчёта RSI, включая стандартный, замедленный, быстрый, Хэрриса, RSX и Cuttler RSI, а также различные типы ценовых данных — от стандартных (Close, Open, High, Low) до цен Хейкин Аши. Доступна работа с несколькими таймфреймами с возможностью интерполяции данных.

Система уведомлений позволяет настраивать вывод всплывающих сообщений, звуковых сигналов и email-уведомлений при изменении состояния зон. Параметры полностью настраиваются через входные параметры индикатора.

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

НастройкаОписание
Time frame to use (TimeFrame) Таймфрейм — Таймфрейм для анализа
Rsi period to use (RsiPeriod) Период RSI — Период расчёта RSI
Price to use (RsiPrice) Цена для RSI — Тип цены, используемой для расчёта RSI
Rsi price filter (RsiPriceFilter) Фильтр цены RSI — Период фильтра цены для сглаживания
Rsi price filter type (RsiPriceFilterType) Тип фильтра цены — Тип скользящей средней для фильтра цены
Rsi type to use (RsiType) Тип RSI — Вариант расчёта RSI (стандартный, замедленный, быстрый, Хэрриса, RSX, Cuttler)
Accumulate last n rsi values (AccPeriod) Период накопления — Количество значений RSI, суммируемых для накопления
Level up (%) (LevelUp) Уровень вверх — Процентное значение верхнего динамического уровня
Level down (%) (LevelDown) Уровень вниз — Процентное значение нижнего динамического уровня
Look back bars no (LookBackBars) Количество баров назад — Количество баров, используемых для анализа динамических зон
Turn alerts on (alertsOn) Включить уведомления — Включение или отключение системы уведомлений
Alerts on current (still opened) bar? (alertsOnCurrent) Уведомления на текущем баре — Определяет, применять ли уведомления к текущему незакрытому бару
Alerts should display a pop-up message (alertsMessage) Всплывающие сообщения — Отображение всплывающих сообщений при срабатывании условий
Alerts should play an alert sound? (alertsSound) Звуковые уведомления — Воспроизведение звукового сигнала при срабатывании условий
Alerts should send an email? (alertsEmail) Email-уведомления — Отправка уведомлений по email при срабатывании условий
Interpolate in multi time frame mode? (Interpolate) Интерполяция — Включает интерполяцию при работе с несколькими таймфреймами
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1  clrLimeGreen
#property indicator_color2  clrPaleVioletRed
#property indicator_color3  clrSilver
#property indicator_color4  clrLimeGreen
#property indicator_color5  clrLimeGreen
#property indicator_color6  clrPaleVioletRed
#property indicator_color7  clrPaleVioletRed
#property indicator_width3  2
#property indicator_width4  3
#property indicator_width5  3
#property indicator_width6  3
#property indicator_width7  3
#property indicator_style1  STYLE_DOT
#property indicator_style2  STYLE_DOT
#property strict

#import "dynamicZone.dll"
   double dzBuyP(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i,double precision);
   double dzSellP(double& sourceArray[],double probabiltyValue, int lookBack, int bars, int i,double precision);
#import
enum enPrices
{
   pr_close,      // Close
   pr_open,       // Open
   pr_high,       // High
   pr_low,        // Low
   pr_median,     // Median
   pr_typical,    // Typical
   pr_weighted,   // Weighted
   pr_average,    // Average (high+low+open+close)/4
   pr_medianb,    // Average median body (open+close)/2
   pr_tbiased,    // Trend biased price
   pr_haclose,    // Heiken ashi close
   pr_haopen ,    // Heiken ashi open
   pr_hahigh,     // Heiken ashi high
   pr_halow,      // Heiken ashi low
   pr_hamedian,   // Heiken ashi median
   pr_hatypical,  // Heiken ashi typical
   pr_haweighted, // Heiken ashi weighted
   pr_haaverage,  // Heiken ashi average
   pr_hamedianb,  // Heiken ashi median body
   pr_hatbiased   // Heiken ashi trend biased price
};
enum enRsiTypes
{
   rsi_rsi,  // Regular RSI
   rsi_slow, // Slow RSI
   rsi_rap,  // Rapid RSI
   rsi_har,  // Harris RSI
   rsi_rsx,  // RSX
   rsi_cut   // Cuttlers RSI
};

extern ENUM_TIMEFRAMES    TimeFrame       = PERIOD_CURRENT; // Time frame to use
extern int                RsiPeriod       = 14;           // Rsi period to use
extern enPrices           RsiPrice        = pr_close;     // Price to use
extern int                RsiPriceFilter  = 1;            // Rsi price filter
extern ENUM_MA_METHOD     RsiPriceFilterType = MODE_EMA;  // Rsi price filter type
extern enRsiTypes         RsiType         = rsi_rsi;      // Rsi type to use
extern int                AccPeriod       = 5;            // Accumulate last n rsi values
extern double             LevelUp         = 90;           // Level up (%)
extern double             LevelDown       = 10;           // Level down (%)
extern int                LookBackBars    = 25;           // Look back bars no
extern bool               alertsOn        = false;        // Turn alerts on
extern bool               alertsOnCurrent = false;        // Alerts on current (still opened) bar?
extern bool               alertsMessage   = true;         // Alerts should display a pop-up message
extern bool               alertsSound     = true;         // Alerts should play an alert sound?
extern bool               alertsEmail     = false;        // Alerts should send an email?
extern bool               Interpolate     = true;         // Interpolate in multi time frame mode?

double rsi[],rsic[],rsicDa[],rsicDb[],rsicUa[],rsicUb[];
double up[],down[],bellow[],prices[];
string indicatorFileName;
bool   returnBars;

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

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

string rsiMethodNames[] = {"RSI","Slow RSI","Rapid RSI","Harris RSI","RSX","Cuttler RSI"};
string getRsiName(int method)
{
   int max = ArraySize(rsiMethodNames)-1;
      method=MathMax(MathMin(method,max),0); return(rsiMethodNames[method]);
}

double workRsi[][13];
#define _price  0
#define _change 1
#define _changa 2
#define _rsival 1
#define _rsval  1

double iRsi(int rsiMode, double price, double period, int i, int instanceNo=0)
{
   if (ArrayRange(workRsi,0)!=Bars) ArrayResize(workRsi,Bars);
      int z = instanceNo*13; 
      int r = Bars-i-1;

   workRsi[r][z+_price] = price;
   period = MathMax(period,1);
   switch (rsiMode)
   {
      case rsi_rsi:
         {
            double alpha = 1.0/period; 
            if (r<period)
               {
                  int k; double sum = 0; for (k=0; k<period && (r-k-1)>=0; k++) sum += MathAbs(workRsi[r-k][z+_price]-workRsi[r-k-1][z+_price]);
                     workRsi[r][z+_change] = (workRsi[r][z+_price]-workRsi[0][z+_price])/MathMax(k,1);
                     workRsi[r][z+_changa] =    

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

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

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

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

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

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

Стоимость полного кода
1 220,30₽ ≈ $14.91