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

!d1 hi low only.mq5

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

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

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

О программе

Данный индикатор предназначен для платформы MetaTrader 5 и работает на таймфрейме D1 (ежедневный). Основная функция — отрисовка горизонтальных трендовых линий (OBJ_TREND) на графике в точках дневных максимумов (High) и минимумов (Low) за заданное количество исторических баров. Линии обновляются при появлении нового дневного бара и имеют настраиваемый цвет и толщину.

Индикатор содержит параметр глубины истории (HistoryBars), определяющий количество дней для отрисовки линий. Также предусмотрена опция объединения воскресного бара с пятничным (MergeSundayWithFriday), которая корректирует обработку данных при наличии воскресных свечей на сервере брокера. При инициализации и деинициализации индикатор удаляет все ранее созданные объекты с заданным префиксом.

Внутренняя функция drawTrendLine создаёт трендовые объекты с отключённым лучом (OBJPROP_RAY = false) и заданными стилем и шириной линии. Функция RemoveObjects выполняет очистку графических объектов по префиксу "D1". Индикатор не использует внешние библиотеки и не содержит торговых функций.

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

НастройкаОписание
note1 Текстовый параметр, предназначен для пользовательских заметок.
HistoryBars Количество дней назад для отрисовки линий High/Low. Значение 0 означает использование полной истории.
note2 Текстовый параметр, предназначен для пользовательских заметок.
HiLo_Colour Цвет линий дневных максимумов и минимумов (High/Low). По умолчанию задан красный цвет.
HiLo_Width Толщина линий High и Low в пунктах графического объекта. По умолчанию равна 1.
Получить полный код

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

#property indicator_chart_window

       int     Timeframe = PERIOD_D1; // change period for candle period preferred
extern string  note1 = "input number of history bars";
extern int     HistoryBars = 100; // Daily chart's days back; 0=full history
       bool    MergeSundayWithFriday = false;
extern string  note2 = "----Hi-Lo colour line style---";
extern color   HiLo_Colour= Red;
extern int     HiLo_Width=1;

double PrevD1Time;
string prefix;

int init()

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

int deinit()

{
  RemoveObjects(prefix);

  PrevD1Time=0; //???
  return(0);
}

int start()

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

  if (Period() < PERIOD_D1) {

  datetime openTime,closeTime; 
  int openBar,closeBar;
  double O,H,L,C,range;
  color col;

  if (iTime(NULL, Timeframe, 0) > PrevD1Time)
  {
   PrevD1Time = iTime(NULL, Timeframe, 0);

   RemoveObjects(prefix);
   for (int i=HistoryBars; i>=1; i--) {
      openBar   = i;
      closeBar  = i;
      openTime  = iTime(NULL, Timeframe, openBar);
      closeTime = openTime+Timeframe*60;

      if (MergeSundayWithFriday && TimeDayOfWeek(openTime)==5/*:friday*/) continue;

      else if (MergeSundayWithFriday && TimeDayOfWeek(openTime)==0/*:sunday*/) openBar++;
      openTime  = iTime(NULL, Timeframe, openBar);
      O = iOpen (NULL, Timeframe, openBar);
      H = MathMax(iHigh(NULL,Timeframe,openBar),iHigh(NULL,Timeframe,closeBar)

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

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

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

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

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

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

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