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

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

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

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

О программе

Индикатор «_TRO_RSI_MULTI» для платформы MetaTrader 4 отображает значения индикатора RSI сразу по нескольким таймфреймам прямо на графике цены. Поддерживаемые периоды: M1, M5, M15, M30, H1, H4, D1 и W1. Каждый RSI-уровень окрашивается в цвет в зависимости от числового порога, что позволяет визуально оценить состояние рынка по шкале перекупленности/перепроданности.

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

НастройкаОписание
myxstart Начальная X-координата — Задаёт горизонтальную стартовую позицию в пикселях для размещения меток значений RSI на графике
myystart Начальная Y-координата — Задаёт вертикальную стартовую позицию в пикселях для размещения меток значений RSI на графике
Shift_Settings_test_only Разделитель настроек сдвига — Текстовый разделитель, обозначающий начало блока параметров сдвига и формат даты
Shift for test if "test" is true (look_time_shift) Дата и время сдвига — Точка даты и времени, к которой привязываются индикаторы при включённом режиме тестирования
Shift for indicators if "test" is false (shift_indicators) Сдвиг индикаторов — Фиксированное смещение по барам, применяемое к расчётам RSI, когда режим тестирования выключен
test Режим тестирования — Переключатель: при включении индикаторы сдвигаются к указанной дате и времени, при выключении используется фиксированный сдвиг
RSI period (RSIPeriod) Период RSI — Период расчёта индикатора RSI, используемый для всех таймфреймов
v0 Порог верхнего цвета — Верхний числовой порог шкалы RSI, определяющий окраску меток при высоких значениях индикатора
v1 Порог цвета 1 — Порог шкалы RSI для определения цвета меток при высоких значениях индикатора
v2 Порог среднего цвета — Средний порог шкалы RSI, разделяющий зоны окраски меток
v3 Порог цвета 3 — Порог шкалы RSI для определения цвета меток при средних значениях индикатора
v4 Порог цвета 4 — Порог шкалы RSI для определения цвета меток при низких значениях индикатора
v5 Порог нижнего цвета — Нижний числовой порог шкалы RSI, определяющий окраску меток при низких значениях индикатора
Получить полный код

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

#property indicator_chart_window 

extern int myxstart=130 ;
extern int myystart=400 ;

extern string    Shift_Settings_test_only        = "=== Format: 2007.05.07 00:00 ===";
extern datetime  look_time_shift       = D'2007.05.07 00:00';  // Shift for test if "test" is true
extern double    shift_indicators      =                   0;  // Shift for indicators if "test" is false
extern bool      test                  =               false;

string    RSI_Settings          = "=== RSI Settings ===";
extern int       RSIPeriod             =           2;  // RSI  period

extern double v0 =  95 ;
extern double v1 =  80 ;
extern double v2 =  50 ;
extern double v3 =  20 ;
extern double v4 =  5 ;
extern double v5 =  0 ;

 int myPeriod1  = 1 ;
 int myPeriod2  = 5 ;
 int myPeriod3  = 15 ;
 int myPeriod4  = 30 ;
 int myPeriod5  = 60 ;
 int myPeriod6  = 240 ;
 int myPeriod7  = 1440 ;

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

int deinit() 
  { 

      deleteObject();    

   return(0); 
  } 

string Period2Text(int TmPeriod)
{
  switch (TmPeriod)
  {
    case PERIOD_M1  : return("M1");
    case PERIOD_M5  : return("M5");
    case PERIOD_M15 : return("M15");
    case PERIOD_M30 : return("M30");
    case PERIOD_H1  : return("H1");
    case PERIOD_H4  : return("H4");
    case PERIOD_D1  : return("D1");
    case PERIOD_W1  : return("W1");
    case PERIOD_MN1 : return("MN1");
  }      
  return ("ERR");
}

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

void initGraph()
  {
   deleteObject();

int xstart=myxstart, xinc=20;

int ystart=myystart, yinc=8;
int ystart1=ystart+yinc;
int ystart2=ystart+yinc*2;
int ystart3=ystart+yinc*3;
int ystart4=ystart+yinc*4;
int ystart5=ystart+yinc*5;

   objectCreate("RSI_1_0",xstart,ystart5);
   objectCreate("RSI_1_1",xstart,ystart4);
   objectCreate("RSI_1_2",xstart,ystart3);
   objectCreate("RSI_1_3",xstart,ystart2);
   objectCreate("RSI_1_4",xstart,ystart1);   
   objectCreate("RSI_1_5",xstart,ystart);
   objectCreate("RSI_1",xstart+2,ystart+1,Period2Text(myPeriod1),9,"Arial Narrow",SkyBlue);
   objectCreate("RSI_1p",xstart+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);   

int xstart2 =  xstart - xinc ;

   objectCreate("RSI_2_0",xstart2,ystart5);
   objectCreate("RSI_2_1",xstart2,ystart4);
   objectCreate("RSI_2_2",xstart2,ystart3);
   objectCreate("RSI_2_3",xstart2,ystart2);
   objectCreate("RSI_2_4",xstart2,ystart1);   
   objectCreate("RSI_2_5",xstart2,ystart);
   objectCreate("RSI_2",xstart2+2,ystart+1,Period2Text(myPeriod2),9,"Arial Narrow",SkyBlue);
   objectCreate("RSI_2p",xstart2+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart3 =  xstart2 - xinc ;

   objectCreate("RSI_3_0",xstart3,ystart5);
   objectCreate("RSI_3_1",xstart3,ystart4);
   objectCreate("RSI_3_2",xstart3,ystart3);
   objectCreate("RSI_3_3",xstart3,ystart2);
   objectCreate("RSI_3_4",xstart3,ystart1);   
   objectCreate("RSI_3_5",xstart3,ystart);
   objectCreate("RSI_3",xstart3+2,ystart+1,Period2Text(myPeriod3),8,"Arial Narrow",SkyBlue);
   objectCreate("RSI_3p",xstart3+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart4 =  xstart3 - xinc ;

   objectCreate("RSI_4_0",xstart4,ystart5);
   objectCreate("RSI_4_1",xstart4,ystart4);
   objectCreate("RSI_4_2",xstart4,ystart3);
   objectCreate("RSI_4_3",xstart4,ystart2);
   objectCreate("RSI_4_4",xstart4,ystart1);   
   objectCreate("RSI_4_5",xstart4,ystart);
   objectCreate("RSI_4",xstart4+2,ystart+1,Period2Text(myPeriod4),8,"Arial Narrow",SkyBlue);
   objectCreate("RSI_4p",xstart4+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart5 =  xstart4 - xinc ;

   objectCreate("RSI_5_0",xstart5,ystart5);
   objectCreate("RSI_5_1",xstart5,ystart4);
   objectCreate("RSI_5_2",xstart5,ystart3);
   objectCreate("RSI_5_3",xstart5,ystart2);
   objectCreate("RSI_5_4",xstart5,ystart1);   
   objectCreate("RSI_5_5",xstart5,ystart);
   objectCreate("RSI_5",xstart5+2,ystart+1,Period2Text(myPeriod5),9,"Arial Narrow",SkyBlue);
   objectCreate("RSI_5p",xstart5+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart6 =  xstart5 - xinc ;   

   objectCreate("RSI_6_0",xstart6,ystart5);
   objectCreate("RSI_6_1",xstart6,ystart4);
   objectCreate("RSI_6_2",xstart6,ystart3);
   objectCreate("RSI_6_3",xstart6,ystart2);
   objectCreate("RSI_6_4",xstart6,ystart1);   
   objectCreate("RSI_6_5",xstart6,ystart);
   objectCreate("RSI_6",xstart6+2,ystart+1,Period2Text(myPeriod6),9,"Arial Narrow",SkyBlue);
   objectCreate("RSI_6p",xstart6+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

int xstart7 =  xstart6 - xinc ;  

   objectCreate("RSI_7_0",xstart7,ystart5);
   objectCreate("RSI_7_1",xstart7,ystart4);
   objectCreate("RSI_7_2",xstart7,ystart3);
   objectCreate("RSI_7_3",xstart7,ystart2);
   objectCreate("RSI_7_4",xstart7,ystart1);   
   objectCreate("RSI_7_5",xstart7,ystart);
   objectCreate("RSI_7",xstart7+2,ystart+1,Period2Text(myPeriod7),9,"Arial Narrow",SkyBlue);
   objectCreate("RSI_7p",xstart7+4,ystart+10,DoubleToStr(9,1),8,"Arial Narrow",Silver);

   string tRSI = "RSI("+RSIPeriod+")" ;

   objectCreate("RSI_L97",xstart7,ystart+70,tRSI,10,"Arial",DimGray);
   objectCreate("RSI_sign",xstart7,ystart-10,"??? RSI METER ? ???",8,"Arial Narrow",DimGray);

    }

void objectCreate(string name,int x,int y,string text="-",int size=42,
                  string font="Arial",color colour=CLR_NONE)
  {
   ObjectCreate(name,OBJ_LABEL,0,0,0);
   ObjectSet(name,OBJPROP_CORNER,3);
   ObjectSet(name,OBJPROP_COLOR,colour);
   ObjectSet(name,OBJPROP_XDISTANCE,x);
   ObjectSet(name,OBJPROP_YDISTANCE,y);
   ObjectSetText(name,text,size,font,colour);
  }

void deleteObject()
  {  

   ObjectDelete("RSI_sign"); 
   ObjectDelete("RSI_L97"); 

   ObjectDelete("RSI_1_0"); 
   ObjectDelete("RSI_1_1");
   ObjectDelete("RSI_1_2");
   ObjectDelete("RSI_1_3");
   ObjectDelete("RSI_1_4");  
   ObjectDelete

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

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

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

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

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

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

Стоимость полного кода
1 330,40₽ ≈ $16.26