Пользовательские символы. Ошибки, баги, вопросы, предложения. - страница 12
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Баг 16.
Раньше CustomTicksAdd формировала бары из тиков, что относились к текущим суткам. Сейчас и этого нет.
Похоже, этот баг связан с багом №14.
Удаление символа из обзора рынка стало возможным по следующей причине. Вызов подряд CustomSymbolCreate - CustomSymbolDelete - CustomSymbolCreate с одним и тем же именем кастомного символа приводило к тому, что сбивался идентификатор символа. Поэтому при проверке, можно ли удалить символ из обзора рынка график этого символа не находился (идентификатор испорчен), и символ спокойно удалялся. Это исправлено.
При применении тика на график возможно то же самое - поиск графика по идентификатору символа не давал результата
Баг 15.
На символе этого советника (с удаленной ChartSetSymbolPeriod-строкой) запускаем такой индикатор
Выдает только нули.
Совершенно справедливо.
При вызове CustomRatesUpdate все счётчики изменений сбрасываются и индикаторы пересчитываются с нуля
Совершенно справедливо.
При вызове CustomRatesUpdate все счётчики изменений сбрасываются и индикаторы пересчитываются с нуля
В чем логика такого решения? Ведь есть же неизменные бары слева.
В чем логика такого решения? Ведь есть же неизменные бары слева.
prev_calculated содержит значение, которое было возвращено на предыдущем вызове OnCalculate
Индикаторописатель может возвращать любое значение, исходя из собственной логики. Поэтому нет никакого смысла пробегать по всем индикаторам и менять значение prev_calculated на собственное рассчитанное с учётом таймфрейма значение. И ресурсоёмко это, может даже оказаться неоправданно ресурсоёмко.
Гораздо честнее выставить 0, как в начале, когда ещё ничего не считалось
prev_calculated содержит значение, которое было возвращено на предыдущем вызове OnCalculate
Индикаторописатель может возвращать любое значение, исходя из собственной логики. Поэтому нет никакого смысла пробегать по всем индикаторам и менять значение prev_calculated на собственное рассчитанное с учётом таймфрейма значение. И ресурсоёмко это, может даже оказаться неоправданно ресурсоёмко.
Гораздо честнее выставить 0, как в начале, когда ещё ничего не считалось
Тогда как быть, когда на кастомном символе после каждого проброса тика индикаторы полностью пересчитываются из-за этого нулевого значения?
Индикаторы специально пишутся, чтобы не тормозить Терминал, а тут все начинает происходить наоборот.
Тогда как быть, когда на кастомном символе после каждого проброса тика индикаторы полностью пересчитываются из-за этого нулевого значения?
Не должно быть такого. Проверим
Не должно быть такого. Проверим
Уточню, что проброс тиков из прошлого - это не только CustomTicksAdd, но и RatesUpdate. Ведь даже рабочая TicksAdd не формировала бары ранее текущих суток. Приходится их формировать самостоятельно. Ну и получаем нулевой prev_calculated из-за этого.
Уточню, что проброс тиков из прошлого - это не только CustomTicksAdd, но и RatesUpdate. Ведь даже рабочая TicksAdd не формировала бары ранее текущих суток. Приходится их формировать самостоятельно. Ну и получаем нулевой prev_calculated из-за этого.
По-любому при замене, обновлении, удалении баров все индикаторы будут пересчитываться с нуля. Это не обсуждается.
Добавление тиков должно работать по-штатному, то есть тики - свежие, сегодняшние, а не вчерашние-позавчерашние.
Запустил Вашего эксперта из описания бага 11, затем запустил индикатор с принтом на каждом OnCalculate
Вот логи
То есть, при нормальной ситуации (тики сегодняшние, как и должно быть всегда) всё правильно работает. И тики добавляются, и индикатор считается экономно
По-любому при замене, обновлении, удалении баров все индикаторы будут пересчитываться с нуля. Это не обсуждается.
Добавление тиков должно работать по-штатному, то есть тики - свежие, сегодняшние, а не вчерашние-позавчерашние.
Запустил Вашего эксперта из описания бага 11, затем запустил индикатор с принтом на каждом OnCalculate
Вот логи
То есть, при нормальной ситуации (тики сегодняшние, как и должно быть всегда) всё правильно работает. И тики добавляются, и индикатор считается экономно
Разве это правильное утверждение?
Более того, если сейчас 00:00:01, то не получится через CustomTicksAdd досформировать бар, который был всего две секунды назад.
Разве это правильное утверждение?
Для тестера позавчерашний тик на позавчерашний же момент времент является свежим, сегодняшним.
Я понял, что Вы хотите сказать. Ваши упражнения с кастомными тиками полугодовой давности имеют ярко выраженный тестерный характер. Ваша ситуация не является нормальной (в смысле обычной практикой)