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

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

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

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

О программе

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 и перейдите к оплате.

Стоимость полного кода
504,20₽ ≈ $6.16