для разработчиков - вопрос о EMPTY_VALUE

 
как можно сделать линию индикатора прерывистой?

я пробовал заносить EMPTY_VALUE в буффер индикатора, ожидая, что в тех точках линия не будет выводиться, но вместо этого выводятся значения этой константы (большое число).
индикатор в отдельном окне. в окне цен не проверял.
 
посмотрите в нашем каталоге пример three_color.mq4 (https://www.mql5.com/en/code). это вариант для окна графика. только что проверил для отдельного окна - работает
 
обновил версию МТ до текущей 168. проверил еще раз - та же песня.

ваш 3цвета работает (кроме начальных баров).

на какой мейл можно вам выслать код? (выкладывать здесь не могу).
 
обновил версию МТ до текущей 168. проверил еще раз - та же песня.

ваш 3цвета работает (кроме начальных баров).

на какой мейл можно вам выслать код? (выкладывать здесь не могу).


На stringo AT metaquotes ru
 
Интерсно. Бросаем индикатор Three Color на график, смотрим.
1. Потом нажимаем Ctr+I (или правой кнопкой мыши) , вызываем свойства этого индикатора, любуемся на выставленную толщину линии , ничего не делаем , через отмену закрываем окно свойств данного индикатора, закрываем кнопкой "Закрыть" окно списка индикаторов.
2. Повторяем в цикле п.1
Все это время успеваем замечать, что толщина линии этого индикатора живет своей жизнью, причем толщина меняется синхронно у всех трех буферов. Вручную менять толщину линий не пытаемся - бесполезно, толщина меняется сама по себе по циклу. Если проделать какое-то количество раз эту операцию, то можно получить наконец-то толщину линий 1. Билд 168. XP. Администратор. Без ЛивАпдейт.
 
Рош, там в конце есть код который циклично увеличивает толщину от 1 до 10 с каждым тиком цены :)
 
Пустой пост
 
Вручную менять толщину линий не пытаемся - бесполезно, толщина меняется сама по себе по циклу. Если проделать какое-то количество раз эту операцию, то можно получить наконец-то толщину линий 1.

Этот пример предназначен для демонстрации способов отображения индикатора. И в него специально добавлен кусок кода, циклически меняющий толщину линий:
   if(width>10) width=1;
   else width++;
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,width);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,width);
   SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,width);


После вызова окна изменения настроек индикатора (пусть даже без реального изменения) происходит полный пересчет(мало ли что там наменять в настройках могли?) индиктора и его перерисовка. В результате, и на стоячем рынке индикатор будет пересчитываться, а заодно и толщина линий будет циклически меняться.

 
Ренат, код я выслал.
какие-то комментарии в чем проблема будут?
 
Ренат, код я выслал.
какие-то комментарии в чем проблема будут?

К сожалению, это ящик Славы - он ответит во вторник из офиса или раньше из дома.
 
я не совсем понял проблему, по-моему, всё работает, как и задумано. на скриншоте я обвёл эллипсом место в DataWindow с пустым значением. на картинке явно виден разрыв белой линии.


если же Вы имеете в виду вывод "пустых" значений в верхнем левом углу подокна индикатора, то мы это уже исправили - будет в следующем билде