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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.