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

smoothed_rsi_v011_mtf.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 v011 MTF — это пользовательский индикатор для MetaTrader 5, отображающий сглаженный индикатор относительной силы (RSI) в отдельном окне. Индикатор рассчитывает RSI на основе выбранного типа цены и периода, при необходимости применяет сглаживание и визуализирует направление тренда через цветные точки: зелёные — восходящий тренд, оранжевые — нисходящий.

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

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

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

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

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

#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;

    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,0,y);
                  trend[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,Length,Price,LevelUp,LevelDown,SmoothLength,6,y);
                  rsiUa[i] = EMPTY_VALUE;
         

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

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

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

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

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

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

Стоимость полного кода
458,40₽ ≈ $5.60