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

TARGET_LINES

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

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

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

О программе

Индикатор TARGET_LINES — это пользовательский индикатор для платформы MetaTrader 5, который отображает горизонтальные уровневые линии на графике цены. Он рассчитывает уровни на основе данных дневных баров: цена закрытия вчерашнего дня, цена открытия сегодняшнего дня, а также дневные максимумы и минимумы.

Индикатор строит пять горизонтальных линий: линию открытия (Open) по сегодняшней цене открытия, две линии покупок (BUY1, BUY2) выше вчерашнего закрытия и две линии продаж (SELL1, SELL2) ниже вчерашнего закрытия. Расстояние каждой линии от базовой цены задаётся в пунктах через соответствующие параметры.

Для корректного определения границ торговых дней используется сдвиг часового пояса (GMTshift). Каждая линия имеет настраиваемые цвет, толщину и стиль. По желанию пользователя рядом с линиями отображаются текстовые метки с указанием ценовых уровней.

Индикатор перерисовывает линии и метки при каждом обновлении графика, удаляя предыдущие объекты. Расчёт ценовых уровней учитывает количество знаков после запятой у текущего инструмента.

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

НастройкаОписание
GMTshift Сдвиг часового пояса GMT — Сдвиг часового пояса в часах, используемый для определения границ торговых дней при построении уровней.
Show_Line_Labels Показывать метки линий — Переключатель отображения текстовых меток с ценовыми значениями рядом с горизонтальными линиями.
IIIIIIIIIIIIIIII Заголовок раздела линий открытия — Текстовый параметр, используемый как заголовок раздела для линий открытия.
BUY_Area Зона BUY1 (расстояние в пунктах) — Расстояние в пунктах от вчерашнего закрытия до горизонтального уровня BUY1 (первый уровень покупки).
SELL_Area Зона SELL1 (расстояние в пунктах) — Расстояние в пунктах от вчерашнего закрытия до горизонтального уровня SELL1 (первый уровень продажи).
BUY2_Area Зона BUY2 (расстояние в пунктах) — Расстояние в пунктах от вчерашнего закрытия до горизонтального уровня BUY2 (второй уровень покупки).
SELL2_Area Зона SELL2 (расстояние в пунктах) — Расстояние в пунктах от вчерашнего закрытия до горизонтального уровня SELL2 (второй уровень продажи).
Open_Color Цвет линии открытия — Цвет горизонтальной линии открытия, проведённой по цене сегодняшнего открытия.
Open_width Толщина линии открытия — Толщина линии открытия в пикселях.
Open_Line_Type Стиль линии открытия — Стиль линии открытия (целочисленное значение стиля линии).
BUY1_Color Цвет линии BUY1 — Цвет линии BUY1 — горизонтального уровня покупки, расположенного выше вчерашнего закрытия на расстоянии BUY_Area пунктов.
BUY1_width Толщина линии BUY1 — Толщина линии BUY1 в пикселях.
BUY1_Line_Type Стиль линии BUY1 — Стиль линии BUY1 (целочисленное значение, соответствующее стилям линий в MetaTrader 5).
SELL1_Color Цвет линии SELL1 — Цвет линии SELL1 — горизонтального уровня продажи ниже вчерашнего закрытия на расстоянии SELL_Area пунктов.
SELL1_width Толщина линии SELL1 — Толщина линии SELL1 в пикселях.
SELL1_Line_Type Стиль линии SELL1 — Стиль линии SELL1 (целочисленное значение стиля линии).
BUY2_Color Цвет линии BUY2 — Цвет линии BUY2 — второго горизонтального уровня покупки выше вчерашнего закрытия.
BUY2_width Толщина линии BUY2 — Толщина линии BUY2 в пикселях.
BUY2_Line_Type Стиль линии BUY2 — Стиль линии BUY2 (целочисленное значение стиля линии).
SELL2_Color Цвет линии SELL2 — Цвет линии SELL2 — второго горизонтального уровня продажи ниже вчерашнего закрытия.
SELL2_width Толщина линии SELL2 — Толщина линии SELL2 в пикселях.
SELL2_Line_Type Стиль линии SELL2 — Стиль линии SELL2 (целочисленное значение стиля линии).
Получить полный код

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

#property indicator_chart_window

extern int GMTshift=3;
extern bool Show_Line_Labels = true;

extern string IIIIIIIIIIIIIIII="<<< Open Lines >>>>>"; 
extern int BUY_Area =25;
extern int SELL_Area = 25;
extern int BUY2_Area =55;
extern int SELL2_Area = 55;

#define Open_ "Open_"
#define BUY1 "BUY1"
#define SELL1 "SELL1"
#define BUY2 "BUY2"
#define SELL2 "SELL2"

extern color Open_Color = Red;
extern int Open_width = 1;
extern int Open_Line_Type = 0;

extern color BUY1_Color = Lime;
extern int BUY1_width = 1;
extern int BUY1_Line_Type = 0;

extern color SELL1_Color = Lime;
extern int SELL1_width = 1;
extern int SELL1_Line_Type = 0;

extern color BUY2_Color = CornflowerBlue;
extern int BUY2_width = 1;
extern int BUY2_Line_Type = 0;

extern color SELL2_Color = CornflowerBlue;
extern int SELL2_width = 1;
extern int SELL2_Line_Type = 0;

double P, S1, B1, S2, B2, S3, B3;

double day_high;
double day_low;
double yesterday_open;
double today_open;
double cur_day;
double prev_day;

double yesterday_high=0;
double yesterday_low=0;
double yesterday_close=0;
double tmp=0;
double Poin;

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

int deinit()
  {

    ObjectsDeleteAll(0,OBJ_HLINE);
   ObjectDelete("Open_Label");
   ObjectDelete("Buy_Label_Open");ObjectDelete("Buy2_Label_Open");
   ObjectDelete("Sell_Label_Open");ObjectDelete("Sell2_Label_Open");

   return(0);
  }

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

void CreateLine(string Line, double start, double end,double w, double s,color clr)
  {
   ObjectCreate(Line, OBJ_HLINE, 0, iTime(NULL,1440,0)+GMTshift*3600, start, Time[0],w,s, end);
   ObjectSet(Line, OBJPROP_COLOR, clr);
   ObjectSet(Line,OBJPROP_RAY,TRUE);
   ObjectSet(Line,OBJPROP_WIDTH,w);
   ObjectSet(Line,OBJPROP_STYLE,s);
     }
        void DeleteLine()
   { 

  ObjectDelete(BUY1); ObjectDelete(SELL1);ObjectDelete(Open_);
  ObjectDelete(BUY2); ObjectDelete(SELL2);
   }
   void CreatePVT()
   {
    DeleteLine();
   double day_high=iHigh(NULL,1440,0);
   double day_low=iLow(NULL,1440,0);
   double yesterday_open=iOpen(NULL,1440,1);
   double today_open=iOpen(NULL,1440,0);

   double yesterday_high = iHigh(NULL,1440,1);
   double yesterday_low = iLow(NULL,1440,1);
   double yesterday_close = iClose(NULL,1440,1);

   cur_day=0;
   prev_day=0;

   int cnt=720;

   while (cnt!= 0)
   {
	  if (TimeDayOfWeek(Time[cnt]) == 0)
	  {
        cur_day = prev_day;
	  }
	  else
	  {
        cur_day = TimeDay(Time[cnt]-(GMTshift*3600));
	  }

  	  if (prev_day != cur_day)
	  {
		 yesterday_close = Close[cnt+1];
		 today_open = Open[cnt];
		 yesterday_high = iHi

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

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

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

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

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

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

Стоимость полного кода
434,60₽ ≈ $5.31