sessionrangebreakout.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «sessionrangebreakout.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор Session Range Breakout предназначен для визуализации диапазона консолидации азиатской сессии и уровней пробоя лондонской сессии на графике XAUUSD. Он отображает зону диапазона в виде залитого прямоугольника, горизонтальные линии-триггеры пробоя и стрелки при достижении ценой ключевых уровней.
Индикатор рассчитывает максимум и минимум цены в заданном временном окне азиатской сессии, а затем строит линии покупки и продажи с учётом буфера в пунктах. При пробое уровня цена получает визуальный сигнал в виде стрелки, а также отправляется звуковое или push-уведомление в зависимости от настроек.
Работает на таймфрейме M15, хотя может использоваться и на других периодах. Поддерживает отображение диапазонов за ограниченное количество дней с автоматическим удалением устаревших объектов. Все временные параметры задаются в серверном времени.
Настройки программы
| Настройка | Описание |
|---|---|
| InpRangeStartHour | Час начала временного окна диапазона (серверное время). |
| InpRangeStartMin | Минута начала временного окна диапазона (серверное время). |
| InpRangeEndHour | Час окончания временного окна диапазона (серверное время). |
| InpRangeEndMin | Минута окончания временного окна диапазона (серверное время). |
| InpTradeEndHour | Час окончания торгового окна, в котором отображаются уровни и линии-триггеры. |
| InpTradeEndMin | Минута окончания торгового окна, в котором отображаются уровни и линии-триггеры. |
| InpBreakoutBuffer | Расстояние от границ диапазона до линий-триггеров пробоя, измеряемое в пунктах. |
| InpBoxColorBull | Цвет заливки прямоугольника зоны диапазона. |
| InpBoxBorder | Цвет границы прямоугольника, отображающего зону диапазона. |
| InpMaxDays | Максимальное количество дней, для которых отображаются зоны диапазона и уровни. |
| InpAlertBreakout | Включает или отключает звуковое уведомление при пробое диапазона. |
| InpPushAlert | Включает или отключает отправку push-уведомления при пробое диапазона. |
Поиск по коду файла
#property version "1.10"
#property description "Session Range Breakout Indicator for XAUUSD"
#property description ""
#property description "Visualizes Asian session consolidation range and"
#property description "London breakout trigger levels with colored zones,"
#property description "thick breakout lines, and arrow signals."
#property description ""
#property description "Best on M15. Automated version: London Gold Breakout EA"
#property indicator_chart_window
#property indicator_buffers 6
#property indicator_plots 6
#property indicator_label1 "Range High"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrDeepSkyBlue
#property indicator_style1 STYLE_SOLID
#property indicator_width1 2
#property indicator_label2 "Range Low"
#property indicator_type2 DRAW_LINE
#property indicator_color2 clrDeepSkyBlue
#property indicator_style2 STYLE_SOLID
#property indicator_width2 2
#property indicator_label3 "Buy Trigger"
#property indicator_type3 DRAW_LINE
#property indicator_color3 clrLime
#property indicator_style3 STYLE_DASH
#property indicator_width3 3
#property indicator_label4 "Sell Trigger"
#property indicator_type4 DRAW_LINE
#property indicator_color4 clrOrangeRed
#property indicator_style4 STYLE_DASH
#property indicator_width4 3
#property indicator_label5 "Buy Arrow"
#property indicator_type5 DRAW_ARROW
#property indicator_color5 clrLime
#property indicator_width5 3
#property indicator_label6 "Sell Arrow"
#property indicator_type6 DRAW_ARROW
#property indicator_color6 clrOrangeRed
#property indicator_width6 3
input group "--- SESSION TIMES (Server Time) ---"
input int InpRangeStartHour = 0; // Range start hour
input int InpRangeStartMin = 0; // Range start minute
input int InpRangeEndHour = 6; // Range end hour
input int InpRangeEndMin = 0; // Range end minute
input int InpTradeEndHour = 10; // Trade window end hour
input int InpTradeEndMin = 0; // Trade window end minute
input group "--- DISPLAY ---"
input int InpBreakoutBuffer = 20; // Breakout buffer (points)
input color InpBoxColorBull = C'0,40,80'; // Box color (range zone)
input color InpBoxBorder = clrDodgerBlue; // Box border color
input int InpMaxDays = 50; // Max days to display
input group "--- ALERTS ---"
input bool InpAlertBreakout = true; // Alert on breakout
input bool InpPushAlert = false; // Push notification
double bufHigh[];
double bufLow[];
double bufBuyTrigger[];
double bufSellTrigger[];
double bufBuyArrow[];
double bufSellArrow[];
int gDayList[];
double gDayHigh[];
double gDayLow[];
bool gDayReady[];
bool gDayAlertUp[];
bool gDayAlertDn[];
int gDayCount = 0;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
ObjectsDeleteAll(0, "SRB_");
ChartRedraw(0);
}
int GetDayInt(datetime t)
{
MqlDateTime dt;
TimeToStruct(t, dt);
return dt.year * 10000 + dt.mon * 100 + dt.day;
}
int GetMins(datetime t)
{
MqlDateTime dt;
TimeToStruct(t, dt);
return dt.hour * 60 + dt.min;
}
int FindOrCreateDay(int day)
{
for(int i = 0; i < gDayCount; i++)
if(gDayList[i] == day) return i;
if(gDayCount >= InpMaxDays)
{
string oldBox = "SRB_Box_" + IntegerToString(gDayList[0]);
string oldLbl = "SRB_Lbl_" + IntegerToString(gDayList[0]);
ObjectDelete(0, oldBox);
ObjectDelete(0, oldLbl);
for(int i = 0; i < gDayCount - 1; i++)
{
gDayList[i] = gDayList[i+1];
gDayHigh[i] = gDayHigh[i+1];
gDayLow[i] = gDayLow[i+1];
gDayReady[i] = gDayПоказано первые 50% кода (символов: 7416)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.