Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Короче вывод такой.
Считаем вручную разницу посчитаных и не посчитаных баров и если больше 1 то...
обнуляем буфера сразу весь или поелементно.
Не красиво. Может разработчики всё таки сами займутся обнулением если есть условие?
Короче вывод такой.
Считаем вручную разницу посчитаных и не посчитаных баров и если больше 1 то...
обнуляем буфера сразу весь или поелементно.
Не красиво. Может разработчики всё таки сами займутся обнулением если есть условие?
Короче вывод такой.
Считаем вручную разницу посчитаных и не посчитаных баров и если больше 1 то...
обнуляем буфера сразу весь или поелементно.
Не красиво. Может разработчики всё таки сами займутся обнулением если есть условие?
Шо, опять?!! © :D И это после всех объяснений с примерами, как правильно писать индикаторы? )))
Шо, опять?!! © :D И это после всех объяснений с примерами, как правильно писать индикаторы? )))
Дык. В моём варианте и в вашем идёт обнуление, не?
В моём варианте рассчитывается каждый бар. Если значение буфера на таком-то баре должно быть нулевым, оно станет нулевым, если оно должно быть равно 5, оно станет равно 5. Конкретно в вашем случае можно и просто обнулить буферы через ArrayInitialize(), а потом не рассчитывать те бары, где значение буферов должно остаться нулевым. Но это, во-первых, плохой стиль программирования (очень плохой!), а во-вторых, это частный случай.
Все бары нужно рассчитывать явно. Только так вы можете быть уверены в том, что ни в одной ячейке не будет "мусора", непересчитаных данных и т.п., и вам не придётся отлавливать баги (с которыми вы в этой ветке и боролись).
И факт обновления истории специально отслеживать тоже не нужно, это лишнее. Просто начинайте расчет с бара [rates_total - MathMax(prev_calculated, 1)], и всё всегда будет гарантированно посчитано и пересчитано при необходимости.
В моём варианте рассчитывается каждый бар. Если значение буфера на таком-то баре должно быть нулевым, оно станет нулевым, если оно должно быть равно 5, оно станет равно 5. Конкретно в вашем случае можно и просто обнулить буферы через ArrayInitialize(), а потом не рассчитывать те бары, где значение буферов должно остаться нулевым. Но это, во-первых, плохой стиль программирования (очень плохой!), а во-вторых, это частный случай.
Все бары нужно рассчитывать явно. Только так вы можете быть уверены в том, что ни в одной ячейке не будет "мусора", непересчитаных данных и т.п., и вам не придётся отлавливать баги (с которыми вы в этой ветке и боролись).
И факт обновления истории специально отслеживать не нужно, это лишнее. Просто начинайте расчет с бара [rates_total - MathMax(prev_calculated, 1)], и всё всегда будет гарантированно посчитано и пересчитано при необходимости.
Ай. Ладно.
Всё ровно разработчики ничего не внедрят.
Всем спасибо.