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

OnChart DSS Bressert Rsi

onchart_dss_bressert_-_rsi.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 5 отображает на графике четыре буфера, объединяющих анализ скользящей средней, полос перекупленности/перепроданности на основе ATR и сглаженный стохастический показатель DSS, рассчитанный на базе RSI. Первая линия представляет собой значение скользящей средней заданного периода и метода. Вторая и третья линии формируют верхнюю и нижнюю границы, вычисляемые как отклонения от средней, пропорциональные средней истинной амплитуде (ATR) и заданным уровням перекупленности и перепроданности. Четвёртый буфер отображает значение DSS — двойно сглаженного стохастика на основе RSI. Параметр TimeFrame позволяет выбрать таймфрейм расчёта, а также поддерживается межтаймфреймовой анализ через вызов iCustom.

Индикатор работает в текущем графике (indicator_chart_window) и использует четыре буфера с разными цветами: красный пунктир для скользящей средней, золотистый для полос и глубокий синий для DSS-линии. При выборе таймфрейма, отличного от текущего, расчёт ATR выполняется на одном таймфрейме выше, а данные берутся через вызов iCustom. Дополнительно параметр TimeFrame поддерживает специальные значения «calculateValue» и «returnBars» для вспомогательных режимов работы.

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

НастройкаОписание
TimeFrame Таймфрейм, на котором выполняется расчёт индикатора. Поддерживается выбор таймфрейма из стандартных значений, а также специальные режимы calculateValue и returnBars.
RsiPeriod Период расчёта индикатора RSI, определяющий количество баров для вычисления показателя.
RsiPrice Тип цены, используемой для расчёта RSI (например, закрытие, открытие, высокая, низкая и т.д.).
StochasticLength Длина расчёта сглаженного стохастического показателя, используемая в DSS-формуле.
SmoothEMA Параметр сглаживания экспоненциальной средней, применяемой при расчёте DSS-стохастика.
maPeriod Период расчёта скользящей средней, отображаемой в качестве основной линии индикатора.
maMethod Метод расчёта скользящей средней (например, простая, экспоненциальная, сглаженная, линейное взвешивание).
maPrice Тип цены, используемой для расчёта скользящей средней.
AtrLength Период расчёта средней истинной амплитуды (ATR), используемой для формирования полос перекупленности/перепроданности и масштабирования DSS-линии.
overBought Верхний уровень перекупленности, определяющий верхнюю полосу индикатора как отклонение от скользящей средней в единицах ATR.
overSold Нижний уровень перепроданности, определяющий нижнюю полосу индикатора как отклонение от скользящей средней в единицах ATR.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1  Crimson
#property indicator_color2  Goldenrod
#property indicator_color3  Goldenrod
#property indicator_color4  DeepSkyBlue
#property indicator_width4  2
#property indicator_style1  STYLE_DASH

extern string TimeFrame        = "Current time frame";
extern int    RsiPeriod        = 14;
extern int    RsiPrice         = PRICE_CLOSE;
extern int    StochasticLength = 55;
extern int    SmoothEMA        = 15;
extern int    maPeriod         = 20;
extern int    maMethod         = 1;
extern int    maPrice          = 0;
extern int    AtrLength        = 120;
extern int    overBought       = 90;
extern int    overSold         = 10;

double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];

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

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) { Buffer1[0] = MathMin(limit+1,Bars-1); return(0); }

   if (calculateValue || timeFrame == Period())
   {
      for (int i=limit; i>=0; i--) 
      {
         int r = iBarShift(NULL,atrTimeFrame,Time[i]);
            double avgRange   = iATR(NULL,atrTimeFrame,AtrLength,r);
            double maValue    = iMA(NULL,0,maPeriod,0,maMethod,maPrice,i);
            double rsi        = iRSI(NULL,0,RsiPeriod,RsiPrice,i);
 	         double stochValue = iDss(rsi,rsi,rsi,StochasticLength,SmoothEMA,i);

            Buffer1[i] = maValue;
            Buffer2[i] = maValue+(avgRange*(overBought-50)/100);
            Buffer3[i] = maValue-(avgRange*(50-  overSold)/100);
            Buffer4[i] = maValue+(stochValue -50)/100*avgRange;

     }
   return(0);
   } 

   limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicato

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

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

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

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

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

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

Стоимость полного кода
477,20₽ ≈ $5.83