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

daily-breakout-indicator.mq4

Вы автор или правообладатель?

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

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

О программе

Индикатор отображает уровни максимума и минимума предыдущего торгового дня на графике в виде горизонтальных линий и текстовых меток. Уровень S1 устанавливается на предыдущем дне низком, а уровень R1 — на предыдущем дне высоком. Линии отрисовываются пунктирным стилем с настраиваемыми цветами и размером шрифта меток.

Индикатор сканирует до 720 баров назад для определения дневных максимумов и минимумов с учётом смещения часового пояса GMT. При достижении цены заданного расстояния в пипах от уровней S1 или R1 можно отправлять уведомления с воспроизведением звуковых сигналов. Работает только на таймфреймах не более 4-часового графика, в противном случае выводится сообщение об ошибке.

В состав входят вспомогательные функции отрисовки объектов графика: горизонтальных линий и текстовых меток. Объекты создаются или обновляются при каждом вызове индикатора, а при деинициализации удаляются с графика.

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

НастройкаОписание
Alerts Включает или отключает отправку уведомлений при приближении цены к уровням S1 и R1. При активации индикатор проверяет расстояние цены до уровней и выводит алерты с воспроизведением звуковых файлов.
GMTshift Смещение в часах относительно Гринвича для определения начала и окончания торгового дня. Используется при расчёте дневных максимумов и минимумов.
LabelShift Смещение в барах от текущего для размещения текстовых меток R1 и S1 на графике.
LineShift Смещение в барах от текущего для размещения горизонтальных линий уровней R1 и S1 на графике.
pd Текстовый параметр, указанный по умолчанию как описание функционала уведомлений. В коде индикатора не используется для расчётов.
PipDistance Расстояние в пипах, при котором срабатывает уведомление о приближении цены к уровню S1 или R1.
StandardFontColor Цвет текстовых меток R1 и S1 на графике.
StandardFontSize Размер шрифта текстовых меток R1 и S1 на графике.
SupportColor Цвет горизонтальной линии уровня S1 (поддержки) на графике.
ResistanceColor Цвет горизонтальной линии уровня R1 (сопротивления) на графике.
Получить полный код

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

#property indicator_chart_window

extern bool Alerts = false;
extern int  GMTshift = 0;
extern int LabelShift = 20;
extern int LineShift = 40;
extern string  pd = "PipsAboveBelowSR for Alert";
extern int PipDistance = 1;
extern color StandardFontColor = White;
extern int StandardFontSize = 8;
extern color SupportColor = Red;
extern color ResistanceColor = Lime;

datetime LabelShiftTime, LineShiftTime;

double yesterday_high=0;
double yesterday_low=0;
double LastHigh,LastLow,x;
double R1=0;
double S1=0;
bool firstS1=true;
bool firstR1=true;
double myPoint;

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

int deinit()
  {

ObjectDelete("R1 Label"); 
ObjectDelete("R1 Line");
ObjectDelete("S1 Label");
ObjectDelete("S1 Line");

   return(0);
  }

double SetPoint(string mySymbol)
{
   double mPoint, myDigits;

   myDigits = MarketInfo (mySymbol, MODE_DIGITS);
   if (myDigits < 4)
      mPoint = 0.01;
   else
      mPoint = 0.0001;

   return(mPoint);
}

int DoAlerts()
{
   double DifAboveR1,PipsLimit;
   double DifBelowS1;

   DifBelowS1 = S1 - Close[0];
   DifAboveR1 = Close[0] - R1;
   PipsLimit = PipDistance * myPoint;

   if (DifBelowS1 > PipsLimit) firstS1 = true;
   if (DifBelowS1 <= PipsLimit && DifBelowS1 > 0)
   {
    if (firstS1)
    {
      Alert("Below S1 Line by ",DifBelowS1, " for ", Symbol(),"-",Period());
      PlaySound("alert.wav");
      firstS1=false;
    }
   }

   if (DifAboveR1 > PipsLimit) firstR1 = true;
   if (DifAboveR1 <= PipsLimit && DifAboveR1 > 0)
   {
    if (firstR1)
    {
      Alert("Above R1 Line by ",DifAboveR1," for ", Symbol(),"-",Period());
      Sleep(2000);
      PlaySound("timeout.wav");
      firstR1=false;
    }
   }

}

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

double day_high=0;
double day_low=0;
double yesterday_open=0;
double today_open=0;
double cur_da

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

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

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

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

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

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

Стоимость полного кода
293,20₽ ≈ $3.58