# - # - session h-line ez - mod - 3.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «# - # - session h-line ez - mod - 3.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот индикатор отображает на графике горизонтальную базовую линию по цене открытия бара, соответствующего начальному времени заданной сессии. При необходимости строятся дальний и ближний целевые уровни на указанном расстоянии в пунктах от базовой цены. Тип линий (горизонтальные или трендовые) выбирается соответствующей настройкой.
В рамках заданного временного окна индикатор отслеживает пересечение цены базовой линии и целевых уровней и отправляет уведомления. Для каждого типа пересечения можно включить или отключить оповещения, а также ограничить максимальное количество сообщений за сессию.
Поддерживаются стандартные звуковые уведомления (Alert) и push-уведомления на мобильное устройство. Время начала и окончания сессии задаётся в текстовом формате, таймфрей определяется автоматически по текущему графику.
Настройки программы
| Настройка | Описание |
|---|---|
| Start_Time | Время начала сессии в текстовом формате (например, "8:00"), определяющее начало построения базовой линии. |
| End_Time | Время окончания сессии в текстовом формате (например, "23:58"), определяющее конец построения линий. |
| Base_Line_Color | Цвет базовой горизонтальной линии, проведённой по цене открытия в начале сессии. |
| Extend_Lines | Переключатель типа линий: при выключении используются горизонтальные линии (OBJ_HLINE), при включении — трендовые (OBJ_TREND). |
| Show_Target_Lines | Отображение целевых линий (дального и ближнего уровней) относительно базовой цены. |
| Long_Target_Color | Цвет линии дальнего целевого уровня (выше базовой цены). |
| Short_Target_Color | Цвет линии ближнего целевого уровня (ниже базовой цены). |
| Long_Target | Расстояние в пунктах от базовой цены для построения линии дальнего целевого уровня. |
| Short_Target | Расстояние в пунктах от базовой цены для построения линии ближнего целевого уровня. |
| Line_Width | Толщина линий на графике в пикселях. |
| Line_Style | Стиль линий на графике (целочисленное значение стиля линии). |
| ALERTS | Текстовый параметр заголовка уведомлений, отображаемый перед сообщениями о пересечении уровней. |
| Push_Notifications | Включение и отключение отправки push-уведомлений при пересечении уровней. |
| Base_Line_cross | Включение уведомлений при пересечении цены базовой линии. |
| Base_cross_max_count | Максимальное количество уведомлений о пересечении базовой линии за одну сессию. |
| Long_Target_cross | Включение уведомлений при пересечении дальнего целевого уровня. |
| Long_Target_cross_max_count | Максимальное количество уведомлений о пересечении дальнего целевого уровня за одну сессию. |
| Short_Target_cross | Включение уведомлений при пересечении ближнего целевого уровня. |
| Short_Target_cross_max_count | Максимальное количество уведомлений о пересечении ближнего целевого уровня за одну сессию. |
Поиск по коду файла
#property indicator_chart_window
#property strict
extern string Start_Time = "8:00";
extern string End_Time = "23:58";
extern color Base_Line_Color = DodgerBlue;
extern bool Extend_Lines = false;
extern bool Show_Target_Lines = true;
extern color Long_Target_Color = Green;
extern color Short_Target_Color = Red;
extern int Long_Target = 420;
extern int Short_Target = 420;
extern int Line_Width = 2;
extern int Line_Style = 1;
extern string ALERTS = "* * * ALERTS * * * ";
extern bool Push_Notifications = false;
extern bool Base_Line_cross = false;
extern int Base_cross_max_count = 5;
extern bool Long_Target_cross = false;
extern int Long_Target_cross_max_count = 5;
extern bool Short_Target_cross = false;
extern int Short_Target_cross_max_count = 5;
int Base_Line_OBJ, Long_Target_OBJ, Short_Target_OBJ, i;
string TM;
int Count=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectDelete("BLEZ");
ObjectDelete("LTEZ");
ObjectDelete("STEZ");
return(0);
}
int start()
{
// код доступен только после оплаты
}
datetime start_time = StrToTime(Start_Time);
datetime end_time = StrToTime(End_Time);
int shift_start_time = iBarShift(Symbol(),0,start_time);
double base_open = iOpen(Symbol(), 0, shift_start_time);
double base_open_long_target = iOpen(Symbol(), 0, shift_start_time) + Long_Target*Point;
double base_open_short_target = iOpen(Symbol(), 0, shift_start_time) - Short_Target*Point;
ObjectCreate(0,"BLEZ", Base_Line_OBJ, 0, 0, 0, 0, 0);
ObjectSet("BLEZ", OBJPROP_COLOR, Base_Line_Color);
ObjectSet("BLEZ", OBJPROP_WIDTH, Line_Width);
ObjectSet("BLEZ", OBJPROP_STYLE, Line_Style);
ObjectSet("BLEZ", OBJPROP_TIME1, start_time);
ObjectSet("BLEZ", OBJPROP_TIME2, end_time);
ObjectSet("BLEZ", OBJPROP_PRICE1, Open[shift_start_time]);
ObjectSet("BLEZ", OBJPROP_PRICE2, Open[shift_start_time]);
ObjectSet("BLEZ", OBJPROP_RAY, false);
if(Show_Target_Lines == true)
{
ObjectCreate(0, "LTEZ", Long_Target_OBJ, 0, 0, 0, 0, 0);
ObjectSet("LTEZ", OBJPROP_COLOR, Long_Target_Color);
ObjectSet("LTEZ", OBJPROP_WIDTH, Line_Width);
ObjectSet("LTEZ", OBJPROP_STYLE, Line_Style);
ObjectSet("LTEZ", OBJPROP_TIME1, start_time);
ObjectSet("LTEZ", OBJPROP_TIME2, end_time);
ObjectSet("LTEZ", OBJPROP_PRICE1, base_open_long_target );
ObjectSet("LTEZ", OBJPROP_PRICE2, base_open_long_target );
ObjectSet("LTEZ", OBJPROP_RAY, false);
ObjectCreate(0, "STEZ", Short_Target_OBJ, 0, 0, 0, 0, 0);
ObjectSet("STEZ", OBJPROP_COLOR, Short_Target_Color);
ObjectSet("STEZ", OBJPROP_WIDTH, Line_Width);
ObjectSet("STEZ", OBJPROP_STYLE, Line_Style);
ObjectSet("STEZ", OBJPROP_TIME1, start_time);
ObjectSet("STEZ", OBJPROP_TIME2, end_time);
ObjectSet("STEZ", OBJPROP_PRICE1, base_open_short_target );
ObjectSet("STEZ", OBJPROP_PRICE2, base_open_short_target );
ObjectSet("STEZ", OBJPROP_RAY, false);
}
double Price = Bid;
Count++;
double b_blag = (Bid < base_open && Ask > base_open);
double b_blal = (Bid < base_open && Ask < base_open);
double b_bgag = (Bid > base_open && Ask > base_open);
double tl_blag = (Bid < base_open_long_target && Ask > base_open_long_target);
double tl_blal = (Bid < base_open_long_target && Ask < base_open_long_targetПоказано первые 50% кода (символов: 5932)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.