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

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

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

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

О программе

Индикатор «Smoothed RSI» для MetaTrader 5 рассчитывает стандартный RSI на выбранной цене и при необходимости сглаживает его с помощью пользовательской функции сглаживания. Результат отображается в отдельном окне в диапазоне от 0 до 1: линия основного значения — серым, точки восходящего тренда — зелёным, нисходящего — оранжевым.

Поддерживается мног таймфреймовый анализ: индикатор способен брать данные с другого таймфрейма текущего графика и при необходимости интерполировать значения между барами. Уровни переключения тренда (верхний и нижний) задаются пользователем отдельными параметрами.

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

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

НастройкаОписание
TimeFrame Таймфрейм, на котором производится расчёт индикатора. По умолчанию — текущий таймфрейм графика.
Length Период расчёта индикатора RSI (количество баров).
Price Тип цены, на основе которой рассчитывается RSI (Close, Open, High, Low, Median, Typical или Weighted).
LevelUp Верхний уровень, выше которого RSI считается находящимся во восходящем тренде.
LevelDown Нижний уровень, ниже которого RSI считается находящимся в нисходящем тренде.
SmoothLength Период сглаживания значений RSI. Если значение больше 1, применяется дополнительное сглаживание.
AlertsOn Включает или отключает всю систему уведомлений индикатора.
AlertsOnCurrent Определяет, на каком баре отслеживать смену тренда: на текущем открытом баре или на уже закрытом.
AlertsMessage Включает или отключает отображение текстовых сообщений-уведомлений на экране.
AlertsSound Включает или отключает воспроизведение звукового сигнала при смене тренда.
AlertsEmail Включает или отключает отправку электронных писем при смене направления тренда.
Interpolate Включает или отключает интерполяцию значений между барами при мног таймфреймовом расчёте.
Получить полный код

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

#property indicator_separate_window
    #property indicator_buffers 5
    #property indicator_color1 Gray
    #property indicator_color2 LimeGreen
    #property indicator_color3 LimeGreen
    #property indicator_color4 Orange
    #property indicator_color5 Orange
    #property indicator_width2 3
    #property indicator_width3 3
    #property indicator_width4 3
    #property indicator_width5 3
    #property indicator_minimum 0
    #property indicator_maximum 1

    extern ENUM_TIMEFRAMES    TimeFrame    = PERIOD_CURRENT;
    extern int                Length       = 14;
    extern ENUM_APPLIED_PRICE Price        = PRICE_CLOSE;
    extern double             LevelUp      = 0.70;
    extern double             LevelDown    = 0.30;
    extern double             SmoothLength = 20;
    extern bool            AlertsOn        = false;          // Turn alerts on?
    extern bool            AlertsOnCurrent = true;           // Alerts on current (still opened) bar?
    extern bool            AlertsMessage   = true;           // Alerts should display message?
    extern bool            AlertsSound     = false;          // Alerts should play alert sound?
    extern bool            AlertsEmail     = false;          // Alerts should send email?
    extern bool               Interpolate  = true;

    double rsi[];
    double rsiUa[];
    double rsiUb[];
    double rsiDa[];
    double rsiDb[];
    double prc[];
    double trend[];
string indicatorFileName;
bool   returnBars;

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

    int deinit()
    {
    return(0);
    }

    int start()
    {
      // код доступен только после оплаты
   }
    int counted_bars=IndicatorCounted();
    if(counted_bars<0) return(-1);
    if(counted_bars>0) counted_bars--;
    int limit = MathMin(Bars-counted_bars,Bars-1);
         if (returnBars) { rsi[0] = limit+1; return(0); }
         if (TimeFrame!=Period())
         {
            limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,indicatorFileName,-99,0,0)*TimeFrame/Period()));
            if (trend[limit]== 1) CleanPoint(limit,rsiUa,rsiUb);
            if (trend[limit]==-1) CleanPoint(limit,rsiDa,rsiDb);
            for (int i=limit;i>=0; i--)
            {
               int y = iBarShift(NULL,TimeFrame,Time[i]);
                  rsi[i]   = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,Length,Price,LevelUp,LevelDown,SmoothLength,AlertsOn,AlertsOnCurrent,AlertsMessage,AlertsSound,AlertsEmail,0,y);
                  trend[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,Length,Price,LevelUp,LevelDown,SmoothLength,AlertsOn,AlertsOnCurrent,AlertsMessage,AlertsSound,AlertsEmail,6,y);
                  rsiUa[i] = EMPTY_VALUE;
                  rsiUb[i] = EMPTY_VALUE;
                  rsiDa[i] = EMPTY_VALUE;
                  rsiDb[i] = EMPTY_VALUE;

                  if (!Interpolate || (i>0 && y==iBarShift(NULL,TimeFrame,Time[i-1]))) continue;

                  datetime time = iTime(NULL,TimeFrame,y);
                     for(int n = 1; i+n < Bars && Time[i+n] >= time; n++) continue;	
                     fo

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

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

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

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

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

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

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