4_time_frame_rsi.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «4_time_frame_rsi.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
4_time_frame_rsi.mq4 — пользовательский индикатор для MetaTrader 4, рассчитывающий RSI одновременно на четырёх выбранных таймфреймах и отображающий результаты в отдельном окне графика. Индикатор использует 8 буферов для отрисовки стрелок, отражающих состояние RSI: рост или падение, а также зоны перекупленности и перепроданности.
Индикатор поддерживает два режима визуализации. В режиме окраски по наклону стрелки окрашиваются в зависимости от направления изменения RSI относительно предыдущего бара. В режиме окраски по уровням стрелки показывают, находится ли RSI выше порога перекупленности или ниже порога перепроданности. Пользователь может задать четыре таймфрейма, включая специальные псевдонимы для автоматического выбора следующих таймфреймов.
На графике отображаются текстовые метки с названиями таймфреймов, положение которых настраивается горизонтальным и вертикальным сдвигом. Индикатор работает с параметрами периода RSI, типа цены и пороговых уровней, что позволяет адаптировать отображение под различные торговые инструменты и стили анализа.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame1 | Таймфрейм 1 — Строковый параметр, задающий первый таймфрейм для расчёта RSI. Может содержать название таймфрейма (например M1, H1), псевдоним NEXT1 для автоматического выбора следующего таймфрейма, или значение returnBars для специального режима. |
| TimeFrame2 | Таймфрейм 2 — Строковый параметр, задающий второй таймфрейм для расчёта RSI с поддержкой тех же псевдонимов, что и TimeFrame1. |
| TimeFrame3 | Таймфрейм 3 — Строковый параметр, задающий третий таймфрейм для расчёта RSI с поддержкой тех же псевдонимов, что и TimeFrame1. |
| TimeFrame4 | Таймфрейм 4 — Строковый параметр, задающий четвёртый таймфрейм для расчёта RSI с поддержкой тех же псевдонимов, что и TimeFrame1. |
| RsiPeriod | Период RSI — Целое число, определяющее период расчёта индикатора RSI (по умолчанию 14). |
| RsiPrice | Цена RSI — Целое число, задающее тип цены, используемой для расчёта RSI (например, цена закрытия). |
| RsiLevelUp | Уровень перекупленности — Числовое значение верхнего порога RSI; при превышении этого уровня индикатор в режиме окраски по уровням отмечает бар как зону перекупленности. |
| RsiLevelDown | Уровень перепроданности — Числовое значение нижнего порога RSI; при снижении ниже этого уровня индикатор в режиме окраски по уровням отмечает бар как зону перепроданности. |
| ColorsForSlope | Окраска по наклону — Переключатель, определяющий режим окраски стрелок: при включённом значении цвета отражают направление изменения RSI (рост/падение), при выключенном — соотношение RSI с пороговыми уровнями перекупленности и перепроданности. |
| UniqueID | Идентификатор — Строковый параметр, используемый как префикс имён объектов-меток на графике для идентификации объектов индикатора. |
| LinesWidth | Ширина линий — Целое число, задающее толщину отображаемых стрелок индикатора (0 — толщина по умолчанию). |
| LabelsColor | Цвет меток — Цвет текстовых меток названий таймфреймов, отображаемых на графике. |
| LabelsHorizontalShift | Горизонтальный сдвиг меток — Целое число, определяющее горизонтальное смещение текстовых меток таймфреймов от текущего бара в единицах баров. |
| LabelsVerticalShift | Вертикальный сдвиг меток — Числовое значение, определяющее вертикальное смещение текстовых меток таймфреймов внутри окна индикатора. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1 LimeGreen
#property indicator_color2 PaleVioletRed
#property indicator_color3 LimeGreen
#property indicator_color4 PaleVioletRed
#property indicator_color5 LimeGreen
#property indicator_color6 PaleVioletRed
#property indicator_color7 LimeGreen
#property indicator_color8 PaleVioletRed
#property indicator_minimum 0
#property indicator_maximum 5
extern string TimeFrame1 = "Current time frame";
extern string TimeFrame2 = "next1";
extern string TimeFrame3 = "next2";
extern string TimeFrame4 = "next3";
extern int RsiPeriod = 14;
extern int RsiPrice = PRICE_CLOSE;
extern double RsiLevelUp = 70;
extern double RsiLevelDown = 30;
extern bool ColorsForSlope = true;
extern string UniqueID = "4 Time RSI 1";
extern int LinesWidth = 0;
extern color LabelsColor = DarkGray;
extern int LabelsHorizontalShift = 5;
extern double LabelsVerticalShift = 1.5;
double rsi1u[];
double rsi1d[];
double rsi2u[];
double rsi2d[];
double rsi3u[];
double rsi3d[];
double rsi4u[];
double rsi4d[];
int timeFrames[4];
bool returnBars;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
for (int t=0; t<4; t++) ObjectDelete(UniqueID+t);
return(0);
}
int start()
{
// код доступен только после оплаты
}
int count,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) { rsi1u[0] = limit+1; return(0); }
if (timeFrames[0] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[0],indicatorFileName,"returnBars",0,0)*timeFrames[0]/Period()));
if (timeFrames[1] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[1],indicatorFileName,"returnBars",0,0)*timeFrames[1]/Period()));
if (timeFrames[2] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[2],indicatorFileName,"returnBars",0,0)*timeFrames[2]/Period()));
if (timeFrames[3] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[3],indicatorFileName,"returnBars",0,0)*timeFrames[3]/Period()));
bool initialized = false;
if (!initialized)
{
initialized = true;
int window = WindowFind(UniqueID);
for (int t=0; t<4; t++)
{
string label = timeFrameToString(timeFrames[t]);
ObjectCreate(UniqueID+t,OBJ_TEXT,window,0,0);
ObjectSet(UniqueID+t,OBJPROP_COLOR,LabelsColor);
Показано первые 50% кода (символов: 5042)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.