RSI Filter
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_filter_vx2d2alert_mtf.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор RSI Filter рассчитывает значение RSI заданного периода на указанном таймфрейме и отображает его в отдельном окне графика MetaTrader 4. Помимо основной линии RSI, индикатор формирует четыре буфера классификации тренда (UpTrend, Mild UpTrend, Mild DownTrend, DownTrend), которые визуально отражают положение RSI относительно верхнего и нижнего триггерных уровней и уровня 50.
Индикатор поддерживает мультитаймфрейный режим, позволяя отображать данные RSI с более высоких таймфреймов на графике текущего инструмента. При пересечении RSI ключевых уровней (50, UpperTriggerLevel, LowerTriggerLevel) возможна генерация настольных уведомлений с указанием направления пересечения, текущего символа и цены закрытия.
Визуализация включает линейное отображение RSI и трендовых зон, а также опциональные стрелки-метки (dots) и гистограммы. Настройки позволяют управлять периодом RSI, ценовым типом, триггерными уровнями, шириной линий и отображением уведомлений.
Настройки программы
| Настройка | Описание |
|---|---|
| RSI_Period | Период RSI — Период усреднения индикатора RSI. |
| RSI_Price | Тип цены для RSI — Тип цены, используемый для расчёта RSI (0 — Close, 1 — Open, 2 — High, 3 — Low и т. д.). |
| UpperTriggerLevel | Верхний триггерный уровень — Верхний триггерный уровень RSI, при пересечении которого генерируются сигналы и изменяется визуализация. |
| LowerTriggerLevel | Нижний триггерный уровень — Нижний триггерный уровень RSI, при пересечении которого генерируются сигналы и изменяется визуализация. |
| TimeFrame | Таймфрейм RSI — Таймфрейм, на котором рассчитывается RSI. Значение 0 означает текущий таймфрейм графика. |
| ShowBARS | Показывать полосы — Переключатель режима отображения: при включении трендовые зоны показываются в виде гистограмм вместо линий. |
| BarWidth | Ширина полос — Ширина столбцов гистограммы при включённом режиме отображения полос (ShowBARS). |
| LineWidth | Толщина линий — Толщина линий отображения RSI и трендовых зон. |
| Show_Dots | Показывать точки-стрелки — Включает или отключает отображение стрелок-меток (dots) при пересечении ключевых уровней RSI. |
| ZeroCrossAlerts | Уведомления при пересечении нуля — Включает или отключает уведомления при пересечении RSI уровня 50. |
| LevelCrossAlerts | Уведомления при пересечении уровней — Включает или отключает уведомления при пересечении RSI верхнего и нижнего триггерных уровней. |
| MaxBarsToCount | Максимальное количество баров для расчёта — Максимальное количество баров, обрабатываемых индикатором за один расчёт. |
| note_Price | Примечание по ценам — Текстовый параметр с пояснением формата обозначения ценовых типов. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 SlateGray
#property indicator_color2 Lime
#property indicator_color3 DarkTurquoise
#property indicator_color4 Tomato
#property indicator_color5 Red
#property indicator_color6 Magenta
#property indicator_color7 ForestGreen
#property indicator_color8 Yellow
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 2
#property indicator_width6 1
#property indicator_width7 1
#property indicator_width8 1
#property indicator_level1 70
#property indicator_level2 50
#property indicator_level3 30
#property indicator_levelcolor DarkSlateGray
extern int RSI_Period = 14;
extern int RSI_Price = 0;
extern int UpperTriggerLevel = 70;
extern int LowerTriggerLevel = 30;
extern int TimeFrame = 0;
extern string TimeFrames = "M1;5,15,30,60H1;240H4;1440D1;10080W1;43200MN|0-CurrentTF";
extern bool ShowBARS = false;
extern int BarWidth = 4;
extern int LineWidth = 2;
extern bool Show_Dots = true;
extern bool ZeroCrossAlerts = true;
extern bool LevelCrossAlerts = true;
extern string ZeroCrossUpAlert = "RSI Level 50 Cross Up; ";
extern string ZeroCrossDnAlert = "RSI Level 50 Cross Dn; ";
extern string UpperTriggerBuyAlert = "RSI Upper Trigger CrossUp; ";
extern string UpperTriggerSellAlert = "RSI Upper Trigger CrossDn; ";
extern string LowerTriggerBuyAlert = "RSI Lower Trigger CrossUp; ";
extern string LowerTriggerSellAlert = "RSI Lower Trigger CrossDn; ";
extern int MaxBarsToCount = 1500;
extern string note_Price = "Price(C O1 H2 3L 4M 5T W6)";
double RSI[];
double UpBuffer1[];
double UpBuffer2[];
double DnBuffer1[];
double DnBuffer2[];
double DnArr[];
double UpArr[];
double RSI_Dot[];
int init()
{
// код доступен только после оплаты
}
IndicatorBuffers(8);
SetIndexStyle(0,DRAW_LINE,0,LineWidth);
SetIndexStyle(1,DRAW_LINE,0,LineWidth);
SetIndexStyle(2,DRAW_LINE,0,LineWidth);
SetIndexStyle(3,DRAW_LINE,0,LineWidth);
SetIndexStyle(4,DRAW_LINE,0,LineWidth);
if (ShowBARS)
{
SetIndexStyle(1,DRAW_HISTOGRAM,0,BarWidth);
SetIndexStyle(2,DRAW_HISTOGRAM,0,BarWidth);
SetIndexStyle(3,DRAW_HISTOGRAM,0,BarWidth);
SetIndexStyle(4,DRAW_HISTOGRAM,0,BarWidth);
}
SetIndexEmptyValue(5,EMPTY_VALUE);
SetIndexEmptyValue(6,EMPTY_VALUE);
SetIndexStyle (5,DRAW_ARROW);
SetIndexArrow (5,159);
SetIndexBuffer (5,DnArr);
SetIndexStyle (6,DRAW_ARROW);
SetIndexArrow (6,159);
SetIndexBuffer (6,UpArr);
SetIndexEmptyValue(7,EMPTY_VALUE);
SetIndexArrow(7,158); //159 115
SetIndexStyle(7,DRAW_NONE);
if(Show_Dots && !ShowBARS)
SetIndexStyle(7,DRAW_ARROW);
SetIndexBuffer(0,RSI);
SetIndexBuffer(1,UpBuffer1);
SetIndexBuffer(2,UpBuffer2);
SetIndexBuffer(3,DnBuffer1);
SetIndexBuffer(4,DnBuffer2);
SetIndexBuffer(5,DnArr);
SetIndexBuffer(6,UpArr);
SetIndexBuffer(7,RSI_Dot);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
TimeFrame= MathMax(TimeFrame,Period());
switch(TimeFrame)
{
case 1 : string TimeFrameStr= "M1"; break;
case 5 : TimeFrameStr= "M5"; break;
case 15 : TimeFrameStr= "M15"; break;
case 30 : TimeFrameStr= "M30"; break;
case 60 : TimeFrameStr= "H1"; break;
case 240 : TimeFrameStr= "H4"; break;
case 1440 : TimeFrameStr= "D1"; break;
caseПоказано первые 50% кода (символов: 5923)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.