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

0 - daily_open_line_and_target_levels - mod - 1.mq5

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

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, написанный на языке MQL5. Его основное назначение — отображение на графике горизонтальных уровней, привязанных к цене открытия текущего торгового дня.

Индикатор рассчитывает и отрисовывает 9 линий: центральную линию открытия дня, 4 верхних и 4 нижних целевых уровня. Расстояние каждого уровня от цены открытия определяется параметром Target в пунктах.

Обнаружение смены торгового дня выполняется с учётом смещения часового пояса, задаваемого параметрами Hour_ и Minutes. При обнаружении смены дня уровни пересчитываются по текущей цене открытия, а в остальное время линии продолжаются горизонтально.

Встроена проверка корректности ввода: если значение часа превышает 23 или значение минут — 59, пользователю выводится предупреждение, и инициализация индикатора прерывается.

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

НастройкаОписание
Hour_ Часовой компонент смещения часового пояса для определения смены торгового дня. Используется при расчёте временного сдвига. Допустимые значения от 0 до 23; при превышении 23 выводится предупреждение.
Minutes Минутный компонент смещения часового пояса для определения смены торгового дня. Используется при расчёте временного сдвига. Допустимые значения от 0 до 59; при превышении 59 выводится предупреждение.
Shift Горизонтальный сдвиг индикаторных линий в барах относительно стандартного положения.
Target Шаг целевых уровней в пунктах. Определяет расстояние верхних и нижних уровней от цены открытия дня (1×Target, 2×Target, 3×Target, 4×Target).
Получить полный код

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

#property strict

#property indicator_chart_window
#property indicator_buffers 9

#property indicator_color1 Green
#property indicator_style1 0
#property indicator_width1 0

#property indicator_color2 Orange
#property indicator_style2 0
#property indicator_width2 0

#property indicator_color3 Maroon
#property indicator_style3 0
#property indicator_width3 0

#property indicator_color4 Green
#property indicator_style4 0
#property indicator_width4 0

#property indicator_color5 Green
#property indicator_style5 0
#property indicator_width5 0

#property indicator_color6 Maroon
#property indicator_style6 0
#property indicator_width6 0

#property indicator_color7 Maroon
#property indicator_style7 0
#property indicator_width7 0

#property indicator_color8 Green
#property indicator_style8 0
#property indicator_width8 0

#property indicator_color9 Maroon
#property indicator_style9 0
#property indicator_width9 0

input int Hour_= 5; // Hours
input int Minutes = 0; 
input int Shift = 0;
input int Target = 300; // Target Levels (in points)

double TodayOpenBufferU4[];
double TodayOpenBufferU3[];
double TodayOpenBufferU2[];
double TodayOpenBufferU1[];
double TodayOpenBufferM[];
double TodayOpenBufferL1[];
double TodayOpenBufferL2[];
double TodayOpenBufferL3[];
double TodayOpenBufferL4[];

int init()

{
      // код доступен только после оплаты
   }
   if (Hour_>23){
   Alert ("Please enter a value lower than 24 hours");
   return(0);}

   if (Minutes>59){
   Alert ("Please enter a value lower than 60 minutes");
   return (0);}

   SetIndexStyle(4,DRAW_LINE);
	SetIndexBuffer(4,TodayOpenBufferU3);
	SetIndexLabel(4,"Open");
	SetIndexEmptyValue(4,0.0);
	SetIndexShift(4, Shift);

	SetIndexStyle(3,DRAW_LINE);
	SetIndexBuffer(3,TodayOpenBufferU2);
	SetIndexLabel(3,"Open");
	SetIndexEmptyValue(3,0.0);
	SetIndexShift(3, Shift);

	SetIndexStyle(0,DRAW_LINE);
	SetIndexBuffer(0,TodayOpenBufferU1);
	SetIndexLabel(0,"Open");
	SetIndexEmptyValue(0,0.0);
	SetIndexShift(0, Shift);

	SetIndexStyle(1,DRAW_LINE);
	SetIndexBuffer(1,TodayOpenBufferM);
	SetIndexLabel(1,"Open");
	SetIndexEmptyValue(1,0.0);
	SetIndexShift(1, Shift);

	SetIndexStyle(2,DRAW_LINE);
	SetIndexBuffer(2,TodayOpenBufferL1);
	SetIndexLabel(2,"Open");
	SetIndexEmptyValue(2,0.0);
	SetIndexShift(2, Shift);

	SetIndexStyle(5,DRAW_LINE);
	SetIndexBuffer(5,TodayOpenBufferL2);
	SetIndexLabel(5,"Open");
	SetIndexEmptyValue(5,0.0);
	SetIndexShift(5, Shift);

	SetIndexStyle(6,DRAW_LINE);
	SetIndexBuffer(6,TodayOpenBufferL3);
	SetIndexLabel(6,"Open");
	SetIndexEmptyValue(6,0.0);
	SetIndexShift(6, Shift);

	SetIndexStyle(7,DRAW_LINE);
	Set

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

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

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

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

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

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

Стоимость полного кода
432₽ ≈ $6