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

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

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

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

О программе

Данный индикатор для MetaTrader 5 рассчитывает вариант индекса относительной силы с последующим применением двойной стохастической обработки и экспоненциального сглаживания. Результат отображается в отдельном окне с возможностью смены цвета линии в зависимости от заданных условий.

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

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

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

НастройкаОписание
RSI period (RSIPeriod) Период RSI — Задаёт количество баров, используемых для расчёта RSI.
Rsi type (RsiMethod) Метод расчёта RSI — Определяет вариант индекса относительной силы (обычный, медленный, быстрый и др.).
RSI applied to price (Price) Применяемая цена для RSI — Задаёт тип ценовых данных, используемый при расчёте RSI.
Stochastic period 1 (less than 2 - no stochastic) (StoPeriod1) Период стохастика 1 — Первый период для расчёта стохастического компонента. При значении менее 2 стохастик не рассчитывается.
Stochastic period 2 (less than 2 - no stochastic) (StoPeriod2) Период стохастика 2 — Второй период для расчёта двойного стохастического компонента. При значении менее 2 стохастик не рассчитывается.
Smoothing period (less than 2 - no smoothing) (EMAPeriod) Период сглаживания — Период экспоненциального сглаживания. При значении менее 2 сглаживание не применяется.
Floating levels look back period (flLookBack) Период обзора для плавающих уровней — Количество баров, используемых для определения плавающих уровней.
Floating levels up level % (flLevelUp) Верхний плавающий уровень, % — Процентное значение верхнего плавающего уровня.
Floating levels down level % (flLevelDown) Нижний плавающий уровень, % — Процентное значение нижнего плавающего уровня.
Color change on : (ColorOn) Режим смены цвета — Определяет условие смены цвета линии индикатора.
Color for nuetral (ColorNu) Цвет нейтральный — Цвет линии индикатора в нейтральном состоянии.
Color for up (ColorUp) Цвет восходящий — Цвет линии индикатора при восходящем тренде.
Color for down (ColorDown) Цвет нисходящий — Цвет линии индикатора при нисходящем тренде.
Main line width (LineWidth) Толщина основной линии — Толщина отображаемой линии индикатора.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1  clrSilver
#property indicator_color2  clrSilver
#property indicator_color3  clrSilver
#property indicator_style2  STYLE_DOT
#property indicator_minimum  -1
#property indicator_maximum 101
#property strict

enum enPrices
{
   pr_close,      // Close
   pr_open,       // Open
   pr_high,       // High
   pr_low,        // Low
   pr_median,     // Median
   pr_typical,    // Typical
   pr_weighted,   // Weighted
   pr_average,    // Average (high+low+open+close)/4
   pr_medianb,    // Average median body (open+close)/2
   pr_tbiased,    // Trend biased price
   pr_highlow,    // High/low
   pr_tbiased2,   // Trend biased (extreme) price
   pr_haclose,    // Heiken ashi close
   pr_haopen ,    // Heiken ashi open
   pr_hahigh,     // Heiken ashi high
   pr_halow,      // Heiken ashi low
   pr_hamedian,   // Heiken ashi median
   pr_hatypical,  // Heiken ashi typical
   pr_haweighted, // Heiken ashi weighted
   pr_haaverage,  // Heiken ashi average
   pr_hamedianb,  // Heiken ashi median body
   pr_hatbiased,  // Heiken ashi trend biased price
   pr_hatbiased2, // Heiken ashi trend biased (extreme) price
   pr_hahighlow   // Heiken ashi high/low
};

enum enRsiTypes
{
   rsi_rsi,  // Regular RSI
   rsi_wil,  // Slow RSI
   rsi_rap,  // Rapid RSI
   rsi_har,  // Harris RSI
   rsi_rsx,  // RSX
   rsi_cut   // Cuttlers RSI
};
enum enColorOn
{
   cc_onSlope,   // Change color on slope change
   cc_onMiddle,  // Change color on middle line cross
   cc_onLevels   // Change color on outer levels cross
};

extern int        RSIPeriod   = 14;             // RSI period
extern enRsiTypes RsiMethod   = rsi_rsx;        // Rsi type
extern enPrices   Price       = pr_close;       // RSI applied to price
extern int        StoPeriod1  = 55;             // Stochastic period 1 (less than 2 - no stochastic)
extern int        StoPeriod2  = 55;             // Stochastic period 2 (less than 2 - no stochastic)
extern int        EMAPeriod   = 15;             // Smoothing period (less than 2 - no smoothing)
extern int        flLookBack  = 25;             // Floating levels look back period
extern double     flLevelUp   = 90;             // Floating levels up level %
extern double     flLevelDown = 10;             // Floating levels down level %
extern enColorOn  ColorOn     = cc_onLevels;    // Color change on :
extern color      ColorNu     = clrDodgerBlue;  // Color for nuetral
extern color      ColorUp     = clrDodgerBlue;  // Color for up
extern color      ColorDown   = clrSandyBrown;  // Color for down
extern int        LineWidth   = 3;              // Main line width

double RsiBuffer[],Stoch[],StcBuffer[],levup[],levmi[],levdn[],valUa[],valUb[],valDa[],valDb[],trend[];

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

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

string rsiMethodNames[] = {"RSI","Slow RSI","Rapid RSI","Harris RSI","RSX","Cuttler RSI"};
string getRsiName(int method)
{
   int max = ArraySize(rsiMethodNames)-1;
      method=fmax(fmin(method,max),0); return(rsiMethodNames[method]);
}

#define rsiInstances 1
double workRsi[][rsiInstances*13];
#define _price  0
#define _change 1
#define _changa 2
#define _rsival 1
#define _rsval  1

double iRsi(int rsiMode, double price, double period, int i, int instanceNo=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 rsi_rsi:
         {
         double alpha = 1.0/fmax(period,1); 
         if (r<period)
            {
               int k; double sum = 0; for (k=0; k<period && (r-k-1)>=0; k++) sum += fabs(workRsi[r-k][z+_price]-workRsi[r-k-1][z+_price]);
                  workRsi[r][z+_change] = (workRsi[r][z+_price]-workRsi[0][z+_price])/fmax(k,1);
                  workRsi[r][z+_changa] =                                         sum/fmax(k,1);
            }
         else
            {
               double change = workRsi[r][z+_price]-workRsi[r-1][z+_price];
                               workRsi[r][z+_change] = workRsi[r-1][z+_chan

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

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

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

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

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

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

Стоимость полного кода
1 010₽ ≈ $12.34