Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А если тиков нет, выходные? Тогда уже таймер придется подключать.
А нужно ведь решить один-единственный вопрос: как определить факт успешной отработки ChartNavigate? То, что она возвращает true, это просто "для галочки", реальной работе никак не помогает.
Надо код, который я выложил выше проверить в советнике...
Надо код, который я выложил выше проверить в советнике...
Причем тут советник?
Причем тут советник?
Надо проверить...
Vladimir Karputov:
Вот такой индикатор - специально поставил задержу в девять тиков, два вида перемещения графика и флаг принудительной перерисовки (вкл/откл)
Вы же не новичок. Зачем вводите в заблуждение? Почему игнорируете то, что говорил Renat Fatkhullin?
У вас в коде (что здесь, что тут) вызывается принудительная перерисовка графика на каждом тике за счёт создания комментариев на каждом тике.
Т.е., вне зависимости от того, что флаг во входных параметрах включен или отключен.
А включение вашего флага во входных параметрах, в данном случае, лишь вызывает дополнительную перерисовку через ChartRedraw().
Т.е., вместо пользы создаёт дополнительную нагрузку к уже там имеющимся за счёт создания комментариев
P./S.:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
Renat Fatkhullin, 2017.12.05 02:51
...
В МТ5 функция Comment явным образом вызывает перерисовку чарта...
Разница как раз в этом.
Если в МТ4 после вызова Comment поставить принудительно ChartRedraw(), то поведение все равно не будет как в МТ5. ChartRedraw() в Метатрейдер 4 игнорирует значение коммента и сам решается, надо ли обновить чарт с последнего кадра. Конечно, при отсутствии сотен котировок в секунду, которые вызывают инвалидацию данных чарта, ChartRedraw решает "зачем отрисовать неизменный график" и пропускает отрисовку кадра.
В Метатрейдер 5 тоже действует такая же система, но гораздо больше случаев, когда отдается приоритет безусловной отрисовке.
Терминалы являются графическими приложениями, могут обеспечивать сотни кадров в секунду и работают в режиме экономного отображения ради повышения производительности.
Отсюда дополнительные выводы при проведении бенчмарков:
рекомендуется не миксовать read/write команды, а делать раздельно массовые read и массовые write.
по сути некоторые тесты могут вылиться в тестирование графической карты, а не алгоритмов или функций. тест на ноутбуке и стационарном компьютере могут показать кратно разные результаты просто из-за 3-5 кратно медленной видеокарты
Эти ошибки постоянно совершаются всеми подряд.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
ChartNavigate при инициализации
Vladimir Karputov, 2018.06.25 18:52
Надо проверить...
P./S.: В дополнение к вашему второму коду: перед тем как обновлять текстовую запись и публикацию через тот же коммент, проверьте, изменились ли данные. Если нет, оптимальнее отложить обновление текста и его публикацию.
Т.е., в данном случае - это изменился ли номер первого бара на графике
Надо проверить...
Ммм. Не совсем понимаю, к чему это. Ну ОК. Установил. Проверил в режимах CHART_BEGIN и CHART_END. Все работает, как заявлено. После перезагрузки все ОК.
Или Вы клоните к тому, что нужно использовать костыль - проверять номер первого бара на графике после ChartNavigate и, если он не тот, который требуется запускать ChartNavigate повторно.
Да, выход, конечно, я тоже об этом думал. Но помнить постоянно о таких вот фичах терминала уже надоедает. Ведь вполне возможно, что это баг.
P./S.: В дополнение к вашему второму коду: перед тем как обновлять текстовую запись и публикацию через тот же коммент, проверьте, изменились ли данные. Если нет, оптимальнее отложить обновление текста и его публикацию.
Т.е., в данном случае - это изменился ли номер первого бара на графике
Спасибо, конечно, за инфу, но ведь мы тут не о производительности говорим. Обсуждаемая проблема лежит в несколько иной плоскости, это просто тестовые коды для проверки проявления проблемы ))
Спасибо, конечно, за инфу, но ведь мы тут не о производительности говорим. Обсуждаемая проблема лежит в несколько иной плоскости, это просто тестовые коды для проверки проявления проблемы ))
Пожалуйста. Но смотрите и другой мой пост, к которому цитируемый вами является постскриптумом.
P./S.: Не обесценивайте, пожалуйста. Я у себя такие коды, зная о том, что это влечёт, уже не запущу. У меня техника - не казённая
Ммм. Не совсем понимаю, к чему это. Ну ОК. Установил. Проверил в режимах CHART_BEGIN и CHART_END. Все работает, как заявлено. После перезагрузки все ОК.
Или Вы клоните к тому, что нужно использовать костыль - проверять номер первого бара на графике после ChartNavigate и, если он не тот, который требуется запускать ChartNavigate повторно.
Да, выход, конечно, я тоже об этом думал. Но помнить постоянно о таких вот фичах терминала уже надоедает. Ведь вполне возможно, что это баг.
Раньше у меня навигация работала. Теперь вот специально приходится проверять.
ДОбавлено: про Comment внимание не обращайте :)
Раньше у меня навигация работала. Теперь вот специально приходится проверять.
ДОбавлено: про Comment внимание не обращайте :)
Отчего же? Я написала/привела чушь?