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

OnChart DSS Bressert Rsi

onchart_dss_bressert_-_rsi_nmc.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор «OnChart DSS Bressert Rsi» отображает на графике MetaTrader 5 четыре буфера: линию скользящей средней, верхнюю и нижнюю полосы на основе ATR с заданными уровнями перекупленности и перепроданности, а также сигнальную линию, рассчитанную через DSS (Dynamic Swing System) на базе RSI. Индикатор применяет настраиваемые параметры сглаживания, периодов и ценовых типов для гибкой аналитики.

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

Все расчёты выполняются на основе стандартных функций MetaTrader: iRSI, iMA, iATR и пользовательской функции iDss. Индикатор не использует торговые API и предназначен исключительно для технического анализа ценовых данных.

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

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

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

#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,indicatorFile

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

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

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

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

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

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

Стоимость полного кода
478,10₽ ≈ $5.84