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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.