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

rsi - floating levels - advanced nmc alerts + arrows.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор рассчитывает значение RSI с возможностью выбора пяти методов расчёта (классический RSI, эмпирический, RSX, RSI Эллерса, Cuttler RSI) и отображает плавающие уровни на основе диапазона значений RSI за заданный период. Уровни верхнего и нижнего диапазона определяются пропорционально параметрам LevelUp и LevelDown, а также рассчитывается средняя линия.

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

Встроена система уведомлений с несколькими каналами: всплывающие сообщения, звуковые сигналы, push-уведомления и электронная почта. Уведомления срабатывают при смене направления тренда. Стрелки настраиваются по цвету, типу символа и расстоянию от цены.

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

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм для расчёта индикатора (Current time frame или конкретный)
RsiPeriod Период RSI — Период расчёта основного значения RSI
RsiPrice Цена RSI — Тип цены для расчёта RSI (0 — Close, 1 — Open, 2 — High, 3 — Low и другие)
RsiMethod Метод RSI — Метод расчёта RSI: 0 — классический RSI, 1 — эмпирический, 2 — RSX, 3 — RSI Эллерса, 4 — Cuttler RSI
MinMaxPeriod Период диапазона — Количество баров для расчёта минимального и максимального диапазона RSI
LevelUp Верхний уровень — Верхний плавающий уровень RSI в процентах от диапазона за период MinMaxPeriod
LevelDown Нижний уровень — Нижний плавающий уровень RSI в процентах от диапазона за период MinMaxPeriod
SmoothPeriod Период сглаживания — Период сглаживания значения RSI
SmoothPhase Фаза сглаживания — Фазовый параметр сглаживания, влияющий на скорость реакции
Interpolate Интерполяция — Включает или отключает интерполяцию значений индикатора между барами разных таймфреймов
alertsOn Уведомления включены — Общий переключатель включения системы уведомлений
alertsOnCurrent Уведомления на текущем баре — Определяет, на каком баре срабатывают уведомления: текущий бар или предыдущий
alertsMessage Всплывающие сообщения — Всплывающие сообщения на графике при смене тренда
alertsSound Звуковые уведомления — Воспроизведение звукового сигнала при смене тренда
alertsNotify Push-уведомления — Push-уведомления на мобильное устройство при смене тренда
alertsEmail Email-уведомления — Отправка уведомлений по электронной почте при смене тренда
soundfile Звуковой файл — Имя звукового файла для воспроизведения при срабатывании уведомления
ShowArrows Показывать стрелки — Отображение стрелок на графике при смене направления тренда
arrowsIdentifier Идентификатор стрелок — Идентификатор стрелок для их создания и удаления на графике
arrowsUpperGap Отступ стрелки вверх — Отступ стрелки восходящего тренда от цены в долях ATR(20)
arrowsLowerGap Отступ стрелки вниз — Отступ стрелки нисходящего тренда от цены в долях ATR(20)
arrowsUpColor Цвет стрелки вверх — Цвет стрелки восходящего тренда
arrowsDnColor Цвет стрелки вниз — Цвет стрелки нисходящего тренда
arrowsUpCode Код стрелки вверх — Код стрелки восходящего тренда (тип графического объекта OBJ_ARROW)
arrowsDnCode Код стрелки вниз — Код стрелки нисходящего тренда (тип графического объекта OBJ_ARROW)
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color3  DeepSkyBlue  
#property indicator_color4  DimGray
#property indicator_color5  PaleVioletRed
#property indicator_color6  DeepSkyBlue
#property indicator_width6  2
#property indicator_style3  STYLE_DOT
#property indicator_style4  STYLE_DOT
#property indicator_style5  STYLE_DOT

extern string TimeFrame       = "Current time frame";
extern int    RsiPeriod       =  14;
extern int    RsiPrice        =  PRICE_CLOSE;
extern int    RsiMethod       =   0;
extern int    MinMaxPeriod    = 100;
extern double LevelUp         =  80;
extern double LevelDown       =  20;
extern double SmoothPeriod    =   8;
extern double SmoothPhase     =   0;
extern bool   Interpolate     = true;

extern bool   alertsOn        = true;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsSound     = true;
extern bool   alertsNotify    = false;
extern bool   alertsEmail     = false;
extern string soundfile       = "alert2.wav";

extern bool   ShowArrows      = true;
extern string arrowsIdentifier= "RSI Arrows1";
extern double arrowsUpperGap  = 0.5;
extern double arrowsLowerGap  = 0.5;
extern color  arrowsUpColor   = LimeGreen;
extern color  arrowsDnColor   = Red;
extern int    arrowsUpCode    = 241;
extern int    arrowsDnCode    = 242;

double rsiMin[];
double rsiMax[];
double rsiLUp[];
double rsiLMi[];
double rsiLDn[];
double rsi[];
double trend[];

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

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

   if (!calculateValue && ShowArrows) deleteArrows();

return(0); 
}

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

string rsiMethodNames[] = {"rsi","empasized","rsx","Ehlers rsi","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

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

   workRsi[r][z+_price] = price;
   switch (rsiMode)
   {
      case 0:
         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] =                                         sum/MathMax(k,1);
            }
         else
            {
               double change = workRsi[r][z+_price]-workRsi[r-1][z+_price];
                               workRsi[r][z+_change] = workRsi[r-1][z+_change] + alpha*(        change  - workRsi[r-1][z+_change]);
                               workRsi[r][z+_changa] = workRsi[r-1][z+_changa] + alpha*(MathAbs(change) - workRsi[r-1][z+_changa]);
            }
         if (workRsi[r][z+_changa] != 0)
               return(50.0*(workRsi[r][z+_change]/workRsi[r][z+_changa]+1));
         else  return(50.0);

      case 1:
         workRsi[r][z+1] = iSmma(0.5*(MathAbs(workRsi[r][z+_price]-workRsi[r-1][z+_price])+(workRsi[r][z+_price]-w

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

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

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

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

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

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

Стоимость полного кода
1 264,50₽ ≈ $15.45