Накидал скрипт. Его прикрепляю. Дублирую сюда:
//+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ //| drawLine.mq5 | //| hoz | //| | //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ #property copyright "hoz" #property link "" #property version "1.00" //================================================================================================================================================================================== // Возвращает значение максимальной цены бара торгового инструмента активного окна, находящегося на shift баров от текущего бара в историю. ======================================== double barHighPrice(int shift, // Индекс бара, максимальную цену которого требуется определить ENUM_TIMEFRAMES tf = PERIOD_CURRENT) export { // ТаймФрейм //---- double barsHighPrice[]; // Массив, в котором находятся максимальные цены баров открытого окна if (CopyHigh(_Symbol, tf, shift, 1, barsHighPrice) == -1) return -1; //--- return barsHighPrice[0]; } //================================================================================================================================================================================== // Возвращает значение времени открытия бара торгового инструмента активного окна, находящегося на shift баров от 0-го бара в историю. ============================================= datetime barOpenTime(int shift, // Индекс бара, время открытия которого требуется определить ENUM_TIMEFRAMES tf = PERIOD_CURRENT) export { // ТФ, на котором будет происходить поиск открытия баров функцией CopyTime() //--- datetime barOpenTime[1]; // Массив, в котором находятся цены открытия баров активного окна //--- return ((CopyTime(_Symbol, tf, shift, 1, barOpenTime) != -1) ? barOpenTime[0] : WRONG_VALUE); } //================================================================================================================================================================================== // Отрисовывает линию. ============================================================================================================================================================= void line(string objName, // Название объекта const datetime time1, // Время 1-ой точки const double price1, // Цена 1-ой точки const datetime time2, // Время 2-ой точки const double price2) { // Цена 2-ой точки //--- objName += "_" + TimeToString(time1, TIME_DATE|TIME_MINUTES) + TimeToString(time2, TIME_DATE|TIME_MINUTES); if (!ObjectCreate(0, objName, OBJ_TREND, 0, time1, price1, time2, time2)) Print("Ошибка при создании объекта 'OBJ_TREND'"); ObjectSetInteger(0, objName, OBJPROP_COLOR, clrRed); ObjectSetInteger(0, objName, OBJPROP_WIDTH, 1); // ObjectSetInteger(0, objName, OBJPROP_SELECTABLE, true); // ObjectSetInteger(0, objName, OBJPROP_RAY_RIGHT, true); } //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ //| Script program start function | //+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ void OnStart() { line("The Line", barOpenTime(5), barHighPrice(5), barOpenTime(1), barHighPrice(1)); // Draw :: wingdings("The Dot", LOCATION_BELOW, 159, 2, clrRed, 7, 1.5); }
Сейчас запустил его и увидел вертикальную линию:
Хотя, передаю 2 координаты. До этого момента запускал.. рисовалось нормально всё.
Файлы:
drawLine.mq5
5 kb
Вот записал видео по этому багу:
Вопрос снимается. Моя невнимательность причина, а не что иное ((

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Пишу метод для рисования линий. На данный момент метод примитивный ещё:
Если жёлтенькую строку убрать или задать значение ширины 1, то объект на графике не отображается. С чего бы то вдруг? Даже точки со значением параметра OBJPROP_WIDTH = 1 отображаются, а линии не отображаются. С чем это связано интересно?