Скачать MetaTrader 5

Как в индикаторе узнать текущий цвет индикаторной линии?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Serhii Lendych
263
Serhii Lendych 2016.08.31 08:29 
Например мы задали цвет индикаторной линии - #property indicator_color1 clrGreen
Затем добавили индикатор на график и поменяли цвет в свойствах индикатора.
Как в индикаторе узнать текущий цвет линии?
Maxim Kuznetsov
10117
Maxim Kuznetsov 2016.08.31 08:34  
Serhii Lendych:
Например мы задали цвет индикаторной линии - #property indicator_color1 clrGreen
Затем добавили индикатор на график и поменяли цвет в свойствах индикатора.
Как в индикаторе узнать текущий цвет линии?

в 4-ке штатно никак :-(

такой вопрос уже поднимался, ответа ненайдено..обходной путь - задавать цвета непосредственно через  "sinput color myColor1" и самому управлять цветами и стилями

Serhii Lendych
263
Serhii Lendych 2016.08.31 09:13  
Maxim Kuznetsov:

в 4-ке штатно никак :-(

такой вопрос уже поднимался, ответа ненайдено..обходной путь - задавать цвета непосредственно через  "sinput color myColor1" и самому управлять цветами и стилями

Спасибо.
Yurij Izyumov
17023
Yurij Izyumov 2016.08.31 15:27  

на сколько я понимаю, какой бы цвет не был задан для линии, для одной линии создают всегда один буфер, и если есть данные в буфере то есть и линия, если нет линии то и нет данных в буфере на данном баре

по сему просто проверять наличие буферного значения на этом баре , а зачем узнавать именно измененный цвет текущей линии не совсем понятно 

на конкретном примере было б понятнее 

fxsaber
5253
fxsaber 2016.08.31 15:33  
Serhii Lendych:
Например мы задали цвет индикаторной линии - #property indicator_color1 clrGreen
Затем добавили индикатор на график и поменяли цвет в свойствах индикатора.
Как в индикаторе узнать текущий цвет линии?

Сохранить через MQL шаблон. Затем прочитать его и парсингом узнать цвет.

Сделаете - выложите в кодобазу в виде функции.

ЗЫ Если же индикатор сам меняет цвет линии в течение своей жизни (например, мерцающие индикаторные буферы), то через шаблон, наверное, не получится.

Alexey Viktorov
7733
Alexey Viktorov 2016.08.31 16:28  
Yurij Izyumov:

на сколько я понимаю, какой бы цвет не был задан для линии, для одной линии создают всегда один буфер, и если есть данные в буфере то есть и линия, если нет линии то и нет данных в буфере на данном баре

по сему просто проверять наличие буферного значения на этом баре , а зачем узнавать именно измененный цвет текущей линии не совсем понятно 

на конкретном примере было б понятнее 

Иногда хочется средствами mql узнать пользовательские настройки цвета для того, чтобы тем-же цветом вывести какую-то информацию в Lable. А цвет линии индикатора не обязательно зависит от наличия значения в буфере, бывают-же индикаторы с одним буфером...
Valeriy Medvedev
12286
Valeriy Medvedev 2016.08.31 17:24  
Узнать нельзя, а вот установить можно с помощью

IndicatorSetInteger

Задает значение соответствующего свойства индикатора. Свойство индикатора должно быть типа int или color. Существует 2 варианта функции.

А когда установите нужный Вам цвет, можете его транслировать куда угодно...


fxsaber
5253
fxsaber 2016.08.31 17:38  
Valeriy Medvedev:
Узнать нельзя, а вот установить можно с помощью

Короче, вот список того, что можно узнать в MT4 с помощью такого способа 

fxsaber:

Сохранить через MQL шаблон. Затем прочитать его и парсингом узнать цвет.

Сделаете - выложите в кодобазу в виде функции.

ЗЫ Если же индикатор сам меняет цвет линии в течение своей жизни (например, мерцающие индикаторные буферы), то через шаблон, наверное, не получится.

  • Количество индикаторных буферов для отрисовки.
  • Название файла индикатора (полный путь).
  • Имена входных параметров индикаторов и их значения.
  • Типы индикаторных буферов.
  • Толщины индикаторных буферов.
  • Цвета индикаторных буферов.
  • Стили индикаторных буферов.
  • Флаг видимости индикатора
  • наверное, что-то еще. Бегло посмотрел.
Так что возможно и даже больше.
Maxim Kuznetsov
10117
Maxim Kuznetsov 2016.08.31 18:11  
fxsaber:

Короче, вот список того, что можно узнать в MT4 с помощью такого способа 

  • Количество индикаторных буферов для отрисовки.
  • Название файла индикатора (полный путь).
  • Имена входных параметров индикаторов и их значения.
  • Типы индикаторных буферов.
  • Толщины индикаторных буферов.
  • Цвета индикаторных буферов.
  • Стили индикаторных буферов.
  • Флаг видимости индикатора
  • наверное, что-то еще. Бегло посмотрел.
Так что возможно и даже больше.

и сам MQL конечно афегенное средство для синтаксического анализа, и предлагаемое решение это не череж Ж@#у :-) и формат файлов шаблонов стандатизован хотя-бы на уровне документации, то есть не измениться к следующему релизу..

fxsaber
5253
fxsaber 2016.08.31 18:53  
Maxim Kuznetsov:

и сам MQL конечно афегенное средство для синтаксического анализа, и предлагаемое решение это не череж Ж@#у :-) и формат файлов шаблонов стандатизован хотя-бы на уровне документации, то есть не измениться к следующему релизу..

  1. Не изменится.
  2. Парсинг - несколько строк на MQL.
  3. Вызов уже кем-то написанной функции - не через Желтуху.
  4. Если, действительно, надо - такая функция будет кем-то обязательно написана. Раз уж возможность есть.
  5. Все в рамках чистого MQL. Лучше подумать, чем сразу говорить НЕТ.
Maxim Kuznetsov
10117
Maxim Kuznetsov 2016.08.31 19:16  
fxsaber:
  1. Не изменится.
  2. Парсинг - несколько строк на MQL.
  3. Вызов уже кем-то написанной функции - не через Желтуху.
  4. Если, действительно, надо - такая функция будет кем-то обязательно написана. Раз уж возможность есть.
  5. Все в рамках чистого MQL. Лучше подумать, чем сразу говорить НЕТ.

раз ты уже быстро посмотрел - ну так быстро и сделай :-) Заодно оценим "пару строчек на MQL" :-)

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий