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

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 и перейдите к оплате.

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