Перевел сверхсекретный индикатор из mql4 на mql5. Но по какой-то причине он нестабильно работает (на мт5). Один раз накинул - работает нормально, второй - плохо. И вот так вот иногда нормально, иногда плохо.
На видео видно, что когда первый раз накинул, при изменении параметров он как-то криво отображает закрашивание некоторых свеч в
другие цвета. Закрашивается с помощью DRAW_COLOR_HISTOGRAM2 (красным и синим, на видео мало заметно) по open[] и close[], которые
OnCalculate(). Предварительно, для удобства, эти массивы устанавливаются как AsSeries:
Второй раз накинул (на видео пример) - все работает нормально, третий - тоже нормально. Иногда при добавлении зиг-зага терминал виснет
наглухо (или при удалении). Вот это самое неприятное...
Индикатор добавляет другие индикаторы (в OnInit) по хэндлу через ChartIndicatorAdd():
При удалении в Deinit происходит удаление всех программно добавленных индикаторов:
а затем освобождение:
В чем могут быть причины? Как решить эти проблемы?
ArrayInitialize(buffer1,EMPTY_VALUE);
Стиль DRAW_COLOR_HISTOGRAM2 можно использовать как в отдельном подокне графика, так и в главном окне. Для пустых значений отрисовка не производится,
все значения в индикаторных буферах нужно устанавливать явным образом. Инициализация буферов пустым значением не производится.
Я
попробовал инициализировать так как вы говорите... пару раз накинул, прошуршал настройки - вроде работает корректно (правда я не знаю,
это из за того, что он иногда работает нормально или из за того, что это правильное решение).
А с зиг-загом что, есть мысли? Почему терминал виснет при добавлении или удалении?
В справочнике по этим буферам пишется, что Я попробовал инициализировать так как вы говорите... пару раз накинул, прошуршал настройки - вроде работает корректно (правда я не знаю, это из за того, что он иногда работает нормально или из за того, что это правильное решение).
А с зиг-загом что, есть мысли? Почему терминал виснет при добавлении или удалении?
Нет мыслей)
Нет мыслей)
Спасибо все равно! :)
ArrayInitialize() не работает... Так же нестабильно - то корректно работает, то не...
Спасибо все равно! :)
ArrayInitialize() не работает... Так же нестабильно - то корректно работает, то не...
Проверить индикаторы по отдельности вешают или нет?. Возможно в коде где-то бесконечный цикл?
Бесконечных циклов нет... код такой же как в мт4... там работает нормально. В мт4 другие проблемы - там нельзя программно добавлять индикаторы. Просто копирую буферы там (с мувингами отлично получается, а с зиг-загом не очень). Но это не так важно...
Что значит:
Проверить индикаторы по отдельности вешают или нет?
?
Выше код из OnInit есть, где добавляются индикаторы. Поочередно вроде как...
Вот как такое возможно? По графику видно, что гистограммы ограничиваются мувингами. В коде нигде такого не прописано! Вообще никак в коде
мувинги и гистограммы не связаны... Гистограммы строятся только по open и close...
Если снять и накинуть опять, отрисовывает нормально.
Перевожу. По отдельности индикаторы делают так чтобы терминал зависал?
Мувинги добавляются без условий (добавляются всегда без проблем), а зиг-заг опционально. Иногда при включении опции добавления зиг-зага терминал виснет. Иногда это происходит, когда отключать опцию отображения зиг-зага...
Вот как такое возможно? По графику видно, что гистограммы ограничиваются мувингами. В коде нигде такого не прописано! Вообще никак в коде
мувинги и гистограммы не связаны... Гистограммы строятся только по open и close...
Если снять и накинуть опять, отрисовывает нормально.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Перевел сверхсекретный индикатор из mql4 на mql5. Но по какой-то причине он нестабильно работает (на мт5). Один раз накинул - работает нормально, второй - плохо. И вот так вот иногда нормально, иногда плохо.
На видео видно, что когда первый раз накинул, при изменении параметров он как-то криво отображает закрашивание некоторых свеч в другие цвета. Закрашивается с помощью DRAW_COLOR_HISTOGRAM2 (красным и синим, на видео мало заметно) по open[] и close[], которые OnCalculate(). Предварительно, для удобства, эти массивы устанавливаются как AsSeries:
Второй раз накинул (на видео пример) - все работает нормально, третий - тоже нормально. Иногда при добавлении зиг-зага терминал виснет наглухо (или при удалении). Вот это самое неприятное...
Индикатор добавляет другие индикаторы (в OnInit) по хэндлу через ChartIndicatorAdd():
При удалении в Deinit происходит удаление всех программно добавленных индикаторов:
а затем освобождение:
В чем могут быть причины? Как решить эти проблемы?