
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Другой вопрос, что после прерывания расчета индикатора вследствие ошибки вычислений (например деление на 0) IndicatorCounted на следующем тике выдает что ВСЁ (!) просчитано, а ведь реально это не так. Правда не знаю могут ли разработчики реализовать тут что-нибудь по другому. Ну не думаете же вы что МТ контролирует на каком цикле прервался расчет индикатора и исходя из этого будет Вам сообщать сколько еще баров осталось. :) Там вероятно на первом запуске IndicatorCounted=0, а затем всегда (количество баров - 1) на текущем баре и (количество баров - 2) в момент перехода на новый бар (увеличение общего количества баров). Исключение - докачка истории или какие-либо переключения связаные с переинициализацией, но тут IndicatorCounted просто опять сбрасывается в ноль. Так что не думаю что разработчики смогут Вам предоставить оставшееся нерасчитанным количество баров.
Единственное, что мне кажется здесь было бы более правильным (если это реализуемо), это сохранение "старого" значения "количества просчитанных баров" в случае "вылета" индикатора по ошибке вычисления. По этому можно было бы судить что индикатор нормально не просчитывается. Но, еще раз повторюсь, если это в принципе реализуемо.
Но ИМХО большой проблемы это не представляет, так как и так видно что индикатор до конца не отображается, а если его назад покрутить, то видно даже с какого момента. Там и надо ошибку вычисления искать.
Я проводил протоколирование рассчитываемых баров, при возникновении деления на 0, код переставал выполнятся, а при следующем запуске IndicatorCounted() говорил, что все бары рассчитаны, несмотря на то, что расчет прервался буквально на первых барах.
Понятно. Спасибо.
Это же прописные истины в программировании.
Это же прописные истины в программировании.
Естественно, но в последнее время языки программирования расслабляют бдительность, в отличии скажем от бейсика или паскаля, где сразу «рантайм еррор» выскакивал. :-)
Да и потом, почему SMA по не полным данным нельзя рассчитать, а EMA - рассчитывает? Насколько я помню формулу, там и там средняя сумма, но по разным элементам суммирования.