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

TimeRange_v1

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

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

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

О программе

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

Основной расчёт выполняется в функции start() при каждом пересчёте: индикатор определяет временные метки начала и окончания диапазона, находит экстремумы или открытия на соответствующем интервале и создаёт графические объекты (текстовые метки, трендовые линии, прямоугольники). При смене даты объекты удаляются и перерисовываются заново.

Визуальные параметры (цвета, стили, шрифты) полностью настраиваются пользователем. Режим расчёта диапазона позволяет выбрать между экстремумами High/Low и ценами открытия. Количество отображаемых дней задаётся отдельным параметром.

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

НастройкаОписание
set1 Текстовый разделитель для группы основных настроек
UniqueName Уникальное имя-префикс для графических объектов индикатора на графике
RangeStartTime Время начала диапазона в формате ЧЧ:ММ
RangeEndTime Время окончания диапазона в формате ЧЧ:ММ
RangeLength Длина диапазона в барах, используемая для расчёта экстремумов
RangeMode Режим расчёта диапазона: 0 — по экстремумам High/Low, 1 — по ценам открытия
NumberOfDays Количество дней, за которые отображаются диапазоны на графике
set2 Текстовый разделитель для группы визуальных настроек
RangeBoxColor Цвет рамки прямоугольника диапазона
BoxLineStyle Стиль линии рамки диапазона (например, сплошная, пунктирная)
BoxLineWidth Толщина линии рамки диапазона в пикселях
UpperColor Цвет верхней границы диапазона и подписи максимума
LowerColor Цвет нижней границы диапазона и подписи минимума
LineStyle Стиль линий расширения диапазона (например, сплошная, пунктирная)
LineWidth Толщина линий расширения диапазона в пикселях
ShowRangeValues Отображение числовых значений максимума и минимума на графике
FontName Шрифт, используемый для текстовых подписей значений диапазона
FontSize Размер шрифта текстовых подписей в пунктах
Получить полный код

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

#property indicator_chart_window

extern string     set1              = "--- Main settings ---";
extern string     UniqueName        =  "timeRange";
extern string     RangeStartTime    =  "00:00";       // Range Start Hour
extern string     RangeEndTime      =  "07:00";       // Range End Hour 
extern int        RangeLength       =  12;            // Range Length in bars
extern int        RangeMode         =  0;             // 0-HH/LL;1-Close/Close
extern int        NumberOfDays      =  5;

extern string     set2              = "--- Visual settings ---";
extern color      RangeBoxColor     =  Yellow;
extern int        BoxLineStyle      =  STYLE_SOLID;
extern int        BoxLineWidth      =  1;

extern color      UpperColor        =  DeepSkyBlue;
extern color      LowerColor        =  OrangeRed;
extern int        LineStyle         =  STYLE_SOLID;
extern int        LineWidth         =  1;

extern bool       ShowRangeValues   =  true;
extern string     FontName          =  "Arial";
extern int        FontSize          =  8;

int      pBars;
bool     fTime;
datetime prevTime;  

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

int deinit()
{
   deleteObj(UniqueName);
   Comment("");
   return(0);
}

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

void PlotLine(string name,double value,datetime time1,datetime time2,int style,color clr,int width)
{
   bool res = ObjectCreate(name,OBJ_TREND,0,time1,value,time2,value);
   ObjectSet(name, OBJPROP_WIDTH, width);
   ObjectSet(name, OBJPROP_STYLE, style);
   ObjectSet(name, OBJPROP_RAY  , false);
   ObjectSet(name, OBJPROP_BACK , true);
   ObjectSet(name, OBJPROP_COLOR, clr);
}        

void PlotText(string name,st

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

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

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

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

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

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

Стоимость полного кода
631,40₽ ≈ $7.72