Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Совершенно верно. Проблему решил чуть иначе, но суть та же.
Оказалось достаточным в OnDeinit() инициализировать пустыми значениями 4 "свечных" массива. Грязь, соответственно, исчезла.
Лучше так
Лучше так
Нет, так не выйдет, поскольку после блока расчётов свечных массивов следуют другие блоки других расчётов, которые начинаются с такой строки:
То есть расчёт ведётся только один раз при формировании новой свечи. Удаление остаточной и произвольной грязи из свечных буферов в функции деинициализации решает много проблем. Особенно после "старого" MQL4 :)
В случае отказа от расчётов в OnCalculate достаточно вернуть 0, а не rates_total. И не надо ничего занулять
В случае отказа от расчётов в OnCalculate достаточно вернуть 0, а не rates_total. И не надо ничего занулять
В случае возврата нуля идет принудительное обнуление всех индикаторных буферов? Что-то в справке такого не нашел.
В случае возврата нуля идет принудительное обнуление всех индикаторных буферов? Что-то в справке такого не нашел.
Нет. Индикаторные буфера принудительно не обнуляются. Это же можно проверить самостоятельно
Да просто в основном цикле, если в элемент буфер отправляете значения, то отправляете, а если не отправляете, то отправлять туда EMPTY_VALUE или 0.
Именно в основном цикле, чтобы для новых баров буферы тоже заполнялись.