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

RsiOma_Db

rsioma_db_v1_03.mq5
Вы автор или правообладатель?

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

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

О программе

RsiOma_Db — пользовательский индикатор для MetaTrader 5, который выводит на график сводную панель состояния сигналов внешнего индикатора RSIOMA (2) по нескольким таймфреймам. Индикатор не выполняет торговых операций и не строит собственную кривую: он периодически считывает значения внешнего индикатора через iCustom и отображает результат в виде набора текстовых меток и графических значков в окне графика.

Панель формируется по таймфреймам, которые можно включать и выключать настройками showMonth, showWeek, showDay, showH4, showH1, showM30, showM15, showM5 и showM1. Для каждого включённого таймфрейма выводится буквенная метка, цветной квадрат и стрелка, отражающие текущее состояние сигнала. Внешний вид панели настраивается параметрами xAnchor, yAnchor, fontSize, squareSize, squareSpace, textColor, xOutline, arrowOutlineX и arrowOutlineY.

Обновление данных выполняется по таймеру с интервалом UpdateTimerInSeconds. Дополнительно индикатор может отслеживать пересечения уровней на M5 при включённом M5_RsiOma_Crossing_Enabled и выдавать предупреждение Alert. Параметры NbrOfBarsForCrossing, b80Level, _d80Level и _d50Level управляют условиями этого контроля. Для корректной работы требуется наличие внешнего индикатора RSIOMA (2).ex4, а параметр objectpreamble задаёт уникальный префикс имён объектов, чтобы несколько экземпляров индикатора на одном графике не конфликтовали.

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

НастройкаОписание
_Comment Комментарий — Информационная строка, поясняющая необходимость наличия внешнего индикатора RSIOMA (2).ex4.
_Comment_2 Комментарий 2 — Информационная строка, напоминающая, что префикс объектов должен быть уникальным для каждого экземпляра на графике.
objectpreamble Префикс объектов — Уникальный префикс имён графических объектов, позволяющий нескольким экземплярам индикатора работать на одном графике без конфликтов.
UpdateTimerInSeconds Интервал обновления, сек — Интервал в секундах, с которым таймер обновляет данные панели.
chartId Идентификатор графика — Идентификатор графика, для которого создаются объекты панели.
showMonth Показывать месяц — Включает или отключает отображение состояния сигнала по месячному таймфрейму.
showWeek Показывать неделю — Включает или отключает отображение состояния сигнала по недельному таймфрейму.
showDay Показывать день — Включает или отключает отображение состояния сигнала по дневному таймфрейму.
showH4 Показывать H4 — Включает или отключает отображение состояния сигнала по четырёхчасовому таймфрейму.
showH1 Показывать H1 — Включает или отключает отображение состояния сигнала по часовому таймфрейму.
showM30 Показывать M30 — Включает или отключает отображение состояния сигнала по тридцатиминутному таймфрейму.
showM15 Показывать M15 — Включает или отключает отображение состояния сигнала по пятнадцатиминутному таймфрейму.
showM5 Показывать M5 — Включает или отключает отображение состояния сигнала по пятиминутному таймфрейму.
showM1 Показывать M1 — Включает или отключает отображение состояния сигнала по минутному таймфрейму.
useSignalsRank Использовать ранжирование сигналов — Включает или отключает учёт ранжирования сигналов при отображении состояния панели.
xAnchor Позиция по X — Горизонтальная позиция панели на графике.
yAnchor Позиция по Y — Вертикальная позиция панели на графике.
fontSize Размер шрифта — Размер шрифта для текстовых меток панели.
squareSize Размер квадрата — Размер квадратных значков панели.
squareSpace Расстояние между квадратами — Расстояние между соседними значками панели по горизонтали.
textColor Цвет текста — Цвет текстовых меток панели.
xOutline Смещение квадратов по X — Горизонтальное смещение квадратных значков относительно базовой позиции.
arrowOutlineX Смещение стрелок по X — Горизонтальное смещение стрелок панели относительно базовой позиции.
arrowOutlineY Смещение стрелок по Y — Вертикальное смещение стрелок панели относительно базовой позиции.
M5_RsiOma_Crossing_Enabled Контроль пересечений на M5 — Включает или отключает контроль пересечений уровней на таймфрейме M5 с выдачей предупреждения.
NbrOfBarsForCrossing Число баров для пересечения — Количество последних баров, учитываемых при проверке условий пересечения на M5.
b80Level Использовать уровень 80 — Переключает режим контроля пересечений между уровнем 80 и уровнем 50.
_d80Level Уровень 80 — Числовое значение уровня 80, используемое при контроле пересечений.
_d50Level Уровень 50 — Числовое значение уровня 50, используемое при контроле пересечений, когда контроль по уровню 80 отключён.
Получить полный код

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

#property version   "1.00"
#property strict
#property indicator_chart_window

sinput string _Comment="RSIOMA (2).ex4 is needed";
sinput string _Comment_2="Preamble must be unique for evere instance in chart";
sinput string objectpreamble="rsioma_db_";
sinput int UpdateTimerInSeconds=5;
sinput long chartId=0;
sinput bool showMonth= false;
sinput bool showWeek = true;
sinput bool showDay= true;
sinput bool showH4 = true;
sinput bool showH1 = true;
sinput bool showM30 = false;
sinput bool showM15 = true;
sinput bool showM5 = true;
sinput bool showM1 = false;

sinput bool useSignalsRank=false;

sinput int xAnchor = 1250;
sinput int yAnchor = 200;
sinput int fontSize= 6;
sinput int squareSize=14;
sinput int squareSpace=5;

sinput color textColor=clrOrange;
sinput int xOutline=3;
sinput int arrowOutlineX = 3;
sinput int arrowOutlineY = 3;
double multiplier=1.65;

sinput bool M5_RsiOma_Crossing_Enabled=true;
sinput int NbrOfBarsForCrossing=1;
sinput bool b80Level=true;
sinput double _d80Level = 80.0;
sinput double _d50Level = 50.0;

int yOffsetArrow;

string preamble;
static datetime _M5Crossing=0;

double tmpValue_1,tmpValue_2,tmpValue_3,tmpValue_4,tmpValue_5,tmpValue_6;

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

void OnDeinit(const int reason)
  {

   EventKillTimer();

   string name;
   string s=preamble;

   for(int i=ObjectsTotal()-1; i>=0; i--)
     {
      name=ObjectName(i);
      if(StringSubstr(name,0,StringLen(s))==s)
        {
         ObjectDelete(name);
        }
     }

  }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
      // код доступен только после оплаты
   }

void OnTimer()
  {

   int xOffset = xAnchor;
   int yOffset = yAnchor;
   if(showMonth)
     {
      tmpValue_1 = iCustom(Symbol(),PERIOD_MN1,"RSIOMA (2)", 0, 0);
      tmpValue_2 = iCustom(Symbol(),PERIOD_MN1,"RSIOMA (2)", 5, 0);
      tmpValue_3 = iCustom(Symbol(),PERIOD_MN1,"RSIOMA (2)", 0, 1);

      SetText(chartId,preamble+"MN1_label_"+Symbol(),"M",xOffset,yOffset,textColor,fontSize);
      if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>80.0)
        {
         SetObjText(chartId,preamble+"square_MN1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrLime,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>50.0)
        {
         SetObjText(chartId,preamble+"square_MN1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGreen,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<20.0)
        {
         SetObjText(chartId,preamble+"square_MN1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrRed,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<50.0)
        {
         SetObjText(chartId,preamble+"square_MN1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrOrange,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else
        {
         SetObjText(chartId,preamble+"square_MN1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGray,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_MN1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }

        }

      xOffset=xOffset+squareSize+squareSpace;
     }

   if(showWeek)
     {
      tmpValue_1 = iCustom(Symbol(),PERIOD_W1,"RSIOMA (2)", 0, 0);
      tmpValue_2 = iCustom(Symbol(),PERIOD_W1,"RSIOMA (2)", 5, 0);
      tmpValue_3 = iCustom(Symbol(),PERIOD_W1,"RSIOMA (2)", 0, 1);

      SetText(chartId,preamble+"W1_label_"+Symbol(),"W",xOffset,yOffset,textColor,fontSize);
      if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>80.0)
        {
         SetObjText(chartId,preamble+"square_W1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrLime,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>50.0)
        {
         SetObjText(chartId,preamble+"square_W1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGreen,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<20.0)
        {
         SetObjText(chartId,preamble+"square_W1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrRed,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<50.0)
        {
         SetObjText(chartId,preamble+"square_W1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrOrange,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else
        {
         SetObjText(chartId,preamble+"square_W1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGray,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_W1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
        }

      xOffset=xOffset+squareSize+squareSpace;
     }

   if(showDay)
     {
      tmpValue_1 = iCustom(Symbol(),PERIOD_D1,"RSIOMA (2)", 0, 0);
      tmpValue_2 = iCustom(Symbol(),PERIOD_D1,"RSIOMA (2)", 5, 0);
      tmpValue_3 = iCustom(Symbol(),PERIOD_D1,"RSIOMA (2)", 0, 1);

      SetText(chartId,preamble+"D1_label_"+Symbol(),"D",xOffset,yOffset,textColor,fontSize);
      if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>80.0)
        {
         SetObjText(chartId,preamble+"square_D1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrLime,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>50.0)
        {
         SetObjText(chartId,preamble+"square_D1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGreen,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<20.0)
        {
         SetObjText(chartId,preamble+"square_D1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrRed,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<50.0)
        {
         SetObjText(chartId,preamble+"square_D1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrOrange,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else
        {
         SetObjText(chartId,preamble+"square_D1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGray,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_D1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
        }

      xOffset=xOffset+squareSize+squareSpace;
     }

   if(showH4)
     {
      tmpValue_1 = iCustom(Symbol(),PERIOD_H4,"RSIOMA (2)", 0, 0);
      tmpValue_2 = iCustom(Symbol(),PERIOD_H4,"RSIOMA (2)", 5, 0);
      tmpValue_3 = iCustom(Symbol(),PERIOD_H4,"RSIOMA (2)", 0, 1);

      SetText(chartId,preamble+"H4_label_"+Symbol(),"H4",xOffset,yOffset,textColor,fontSize);
      if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>80.0)
        {
         SetObjText(chartId,preamble+"square_H4_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrLime,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>50.0)
        {
         SetObjText(chartId,preamble+"square_H4_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGreen,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<20.0)
        {
         SetObjText(chartId,preamble+"square_H4_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrRed,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1<tmpValue_2 || !useSignalsRank) && tmpValue_1<50.0)
        {
         SetObjText(chartId,preamble+"square_H4_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrOrange,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else
        {
         SetObjText(chartId,preamble+"square_H4_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrGray,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H4_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
        }

      xOffset=xOffset+squareSize+squareSpace;
     }

   if(showH1)
     {
      tmpValue_1 = iCustom(Symbol(),PERIOD_H1,"RSIOMA (2)", 0, 0);
      tmpValue_2 = iCustom(Symbol(),PERIOD_H1,"RSIOMA (2)", 5, 0);
      tmpValue_3 = iCustom(Symbol(),PERIOD_H1,"RSIOMA (2)", 0, 1);

      SetText(chartId,preamble+"H1_label_"+Symbol(),"H1",xOffset,yOffset,textColor,fontSize);
      if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>80.0)
        {
         SetObjText(chartId,preamble+"square_H1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+fontSize+4,clrLime,squareSize);
         if(tmpValue_1>tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H1_"+Symbol(),CharToStr(233),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrLime,fontSize);
           }
         else if(tmpValue_1<tmpValue_3)
           {
            SetObjText(chartId,preamble+"arrow_H1_"+Symbol(),CharToStr(234),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier+yOffsetArrow,clrRed,fontSize);
           }
         else
           {
            SetObjText(chartId,preamble+"arrow_H1_"+Symbol(),CharToStr(243),xOffset+arrowOutlineX,yOffset+fontSize+squareSize*multiplier,clrOrange,fontSize);
           }
        }
      else if((tmpValue_1>tmpValue_2 || !useSignalsRank) && tmpValue_1>50.0)
        {
         SetObjText(chartId,preamble+"square_H1_"+Symbol(),CharToStr(110),xOffset-xOutline,yOffset+

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

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

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

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

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

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

Стоимость полного кода
3 350,70₽ ≈ $40.95