Ошибки, баги, вопросы - страница 1985

 
Alexey Kozitsyn:
Да, конечно.
Ну если да и значение поставлено 0, то конечно что-то не так... По рисунку видно что на каждом баре стрелка со значением 0.
 
Alexey Viktorov:
Ну если да и значение поставлено 0, то конечно что-то не так... По рисунку видно что на каждом баре стрелка со значением 0.
Фишка в том, что пустое = EMPTY_VALUE.
 
Alexey Kozitsyn:
Фишка в том, что пустое = EMPTY_VALUE.
Пустое-то оно пустое, но для PLOT_EMPTY_VALUE назначается значение которое не будет отображаться на графике и в окне данных. Попробуй заменить EMPTY_VALUE на 0
PlotIndexSetDouble(plot_index, PLOT_EMPTY_VALUE, 0);
 
(string)NormalizeDouble(0.99872, 5) - очень длинный результат.
 
Alexey Viktorov:
Пустое-то оно пустое, но для PLOT_EMPTY_VALUE назначается значение которое не будет отображаться на графике и в окне данных. Попробуй заменить EMPTY_VALUE на 0
Нет, все равно косяк идет. Сейчас заменил по коду везде на EMPTY_VALUE на константу EMPTY = EMPTY_VALUE. Стало лучше. Но все равно при смене ТФ на чарте мусор. Поставил EMPTY = 0. Стало еще получше, но опять таки при частой смене ТФ - мусор на чарте. В общем - надо заявку писать в СД.
 
Alexey Kozitsyn:
Нет, все равно косяк идет. Сейчас заменил по коду везде на EMPTY_VALUE на константу EMPTY = EMPTY_VALUE. Стало лучше. Но все равно при смене ТФ на чарте мусор. Поставил EMPTY = 0. Стало еще получше, но опять таки при частой смене ТФ - мусор на чарте. В общем - надо заявку писать в СД.

К чему всё это? Я говорил совсем о другом. Ну в крайнем случае вместо обнуления буфера

ArrayInitialize(массив, 0);

можно поставить

ArrayInitialize(массив, EMPTY_VALUE);
 
Alexey Viktorov:

К чему всё это? Я говорил совсем о другом. Ну в крайнем случае вместо обнуления буфера

можно поставить

Это к тому, чтобы в коде разом все инициализации поменять. То, что у Вас написано инициализируется везде, где нужно. ArrayInitialize() запускается в OnDeinit(), но результат я выше уже описал.
 

Alexey Kozitsyn:
...

ArrayInitialize() запускается в OnDeinit(), но результат я выше уже описал.

Попробуйте в OnInit().
 
Anatoli Kazharski:
Попробуйте в OnInit().

Идет инициализация в OnCalculate() при первом запуске (prev_calculated == 0). Думаете перенос в OnInit() что-то изменит? Ну, попробую, конечно, но это что-то из области фантастики...

Стоп. Как я уже сказал, в OnDeinit() инициализируются массивы, которые при следующем запуске (изменении входных параметров) не используются более. Если это (инициализация массива, который не используется под буфер) поможет - это тоже будет багом МТ. Получится, что мало того, что массивы не используются, так их (неразмеченные) еще можно будет инициализировать и это повлияет на отображение...

 
fxsaber:
(string)NormalizeDouble(0.99872, 5) - очень длинный результат.

Добрый день!

Спасибо за Ваше сообщение, проверим

Причина обращения: