rsi_2sigmas_mtf__histo.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_2sigmas_mtf__histo.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор RSI_2SigMA (Multi-Timeframe Histogram) рассчитывает значение RSI с заданным периодом и типом цены, вычитая из него 50, после чего применяет две скользящие средние с разными периодами и методами. Разность между первой и второй скользящей средней отображается в виде гистограммы и линии в отдельном окне.
Индикатор поддерживает работу на различных таймфреймах через параметр TimeFrame, включая возможность отображения данных с более высоких таймфреймов на текущем графике. Визуально используются четыре цвета гистограмм для отображения различных комбинаций направления тренда и его изменения, а также линия текущей разности скользящих средних.
При значениях разности выше уровня +20 или ниже -20 индикатор окрашивает гистограммы в соответствующие цвета, что позволяет визуально оценить силу и направление импульса. Доступны специальные режимы работы для межиндикаторного обмена данными (returnBars и calculateValue).
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм для расчёта индикатора (Current time frame, M1, M5, M15, M30, H1, H4, D1, W1, MN) или специальные режимы returnBars и calculateValue |
| RSI_Period | Период индикатора RSI |
| RSI_Price | Тип цены для расчёта RSI (0 — Close, 1 — Open, 2 — High, 3 — Low и др.) |
| MA1_Period | Период первой скользящей средней, применяемой к значениям RSI |
| MA1_Mode | Метод скользящей средней для первой MA (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA) |
| MA2_Period | Период второй скользящей средней, применяемой к первой MA |
| MA2_Mode | Метод скользящей средней для второй MA (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA) |
| MA_Method_Price | Тип цены для расчёта скользящих средних (справочник допустимых значений) |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 LimeGreen
#property indicator_color2 LimeGreen
#property indicator_color3 PaleVioletRed
#property indicator_color4 PaleVioletRed
#property indicator_color5 DimGray
#property indicator_color6 RoyalBlue
#property indicator_color7 Green
#property indicator_color8 Red
#property indicator_width1 2
#property indicator_width3 2
#property indicator_width6 3
#property indicator_width7 2
#property indicator_width8 2
#property indicator_level1 20
#property indicator_level2 0
#property indicator_level3 -20
#property indicator_levelcolor DarkOliveGreen
extern string TimeFrame = "Current time frame";
extern int RSI_Period = 14;
extern int RSI_Price = 0;
extern int MA1_Period = 3;
extern int MA1_Mode = 1;
extern int MA2_Period = 5;
extern int MA2_Mode = 1;
extern string TimeFrames="M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF";
extern string MA_Method_Price="SMA0 EMA1 SMMA2 LWMA3||0C,1O 2H3L,4Md 5Tp 6WghC: Md(HL/2)4,Tp(HLC/3)5,Wgh(HLCC/4)6";
double RSI_Buffer[];
double MA1_Buffer[];
double MA2_Buffer[];
double hiUu[];
double hiUd[];
double hiDd[];
double hiDu[];
double hiLi[];
string indicatorFileName;
bool returnBars;
bool calculateValue;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
double work[][2];
#define _trend 0
#define _slope 1
int start()
{
// код доступен только после оплаты
}
int i,r,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) { hiUu[0] = MathMin(limit+1,Bars-1); return(0); }
if (ArrayRange(work,0)!=Bars) ArrayResize(work,Bars);
if (calculateValue || timeFrame == Period())
{
for(i=limit; i>=0;i--) RSI_Buffer[i] = iRSI(NULL, TimeFrame, RSI_Period, RSI_Price, i)-50;
for(i=limit; i>=0;i--) MA1_Buffer[i] = iMAOnArray(RSI_Buffer,0,MA1_Period,0,MA1_Mode,i);
for(i=limit,r=Bars-i-1;i>=0;i--,r++){ MA2_Buffer[i] = iMAOnArray(MA1_Buffer,0,MA2_Period,0,MA2_Mode,i);
hiLi[i] = MA1_Buffer[i]-MA2_Buffer[i];
hiUu[i] = EMPTY_VALUE;
hiUd[i] = EMPTY_VALUE;
hiDd[i] = EMPTY_VALUE;
hiDu[i] = EMPTY_VALUE;
work[r][_trend] = work[r-1][_trend];
work[r][_slope] = worПоказано первые 50% кода (символов: 4754)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.