MQL5 при отрисовке индикатора.

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

При использовании функции 

PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0);

по идее, соответсвующий буффер индикатора должен инициализироваться значением 0.

По факту этого не происходит, и буфер остается инициализирован значением EMPTY_VALUE.

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

При переключении на другой таймфрейм буффер инициализируется значением EMPTY_VALUE.

В Метатрадер 4 индикатор работает отлично. Баг был обнаружен случайно при переделке индикатора из MT4 в MT5.

К сожалению не могу выложить код, т.к. код принадлежит заказчику.

Vladimir Karputov
Модератор
182110
Vladimir Karputov  
Fedor Arkhipov:

При использовании функции 

PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0);

по идее, соответсвующий буффер индикатора должен инициализироваться значением 0.

По факту этого не происходит, и буфер остается инициализирован значением EMPTY_VALUE.

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

При переключении на другой таймфрейм буффер инициализируется значением EMPTY_VALUE.

В Метатрадер 4 индикатор работает отлично. Баг был обнаружен случайно при переделке индикатора из MT4 в MT5.

К сожалению не могу выложить код, т.к. код принадлежит заказчику.

А может сначала справку прочесть :) ? И тогда Вы уже не будете гадать на кофейной гуще и выдавать перлы вроде "... по идее ..."

Fedor Arkhipov
46484
Fedor Arkhipov  
Vladimir Karputov:

А может сначала справку прочесть :) ? И тогда Вы уже не будете гадать на кофейной гуще и выдавать перлы вроде "... по идее ..."

Уже читали. Я не претендую на знание всех функций MT5. Если знаете, то пожалуйста напишите где я не прав.

Vladimir Karputov
Модератор
182110
Vladimir Karputov  
Fedor Arkhipov:

Уже читали.

Хорошо. Тогда начнём с начала. Покажите цитату, что означает 

PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0);
Fedor Arkhipov
46484
Fedor Arkhipov  

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

Тоже что и в MT4
Vladimir Karputov
Модератор
182110
Vladimir Karputov  
Fedor Arkhipov:

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

Тоже что и в MT4

Нет, так не пойдёт. Дайте URL справки по MQL5.

Fedor Arkhipov
46484
Fedor Arkhipov  
Vladimir Karputov:

Нет, так не пойдёт. Дайте URL справки по MQL5.

Для чего это все?

Vladimir Karputov
Модератор
182110
Vladimir Karputov  
Fedor Arkhipov:

Для чего это все?

Для того, чтобы раз и навсегда Вы вычеркнули из своего лексикона слово "баг". Сначала научитесь работать со справкой.

Fedor Arkhipov
46484
Fedor Arkhipov  

PlotIndexSetDouble

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

bool  PlotIndexSetDouble( 
   int     plot_index,     // индекс графического стиля 
   int     prop_id,        // идентификатор свойства 
   double  prop_value      // устанавливаемое значение 
   );

Параметры

plot_index

[in]  Индекс графического построения

prop_id

[in]  Идентификатор свойства индикатора. Значение может быть одним из значений перечисления ENUM_PLOT_PROPERTY_DOUBLE.

prop_value

[in]  Значение свойства.

Возвращаемое значение

В случае успешного выполнения возвращает true, в противном случае false.

Fedor Arkhipov
46484
Fedor Arkhipov  
Vladimir Karputov:

Для того, чтобы раз и навсегда Вы вычеркнули из своего лексикона слово "баг". Сначала научитесь работать со справкой.

Вы мой профиль видели?
Fedor Arkhipov
46484
Fedor Arkhipov  

Вот смотрите такую же функцию в MT4

SetIndexEmptyValue

Устанавливает значение пустой величины для линии индикатора.

void  SetIndexEmptyValue(
   int     index,       // номер линии
   double  value        // новое значение
   );

Параметры

index

[in]  Порядковый номер линии. Должен быть от 0 до 7.

value

[in]  Новое "пустое" значение.

Возвращаемое значение

Нет.

Примечание

Пустые значения не рисуются и не показываются в DataWindow. По умолчанию значение пустой величины - EMPTY_VALUE.

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