Бета-версия платформы MetaTrader 5 build 1845: Функции для работы с барами в MQL5 и улучшения в тестере стратегий - страница 10
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: CPrice
Dmitry Fedoseev, 2016.08.28 11:25
В отличие от MT4, где обращение к Open[], High[], Low[], Close[] гарантированно возвращают значения, в МТ5 функции типа CopyClose() могут возвращать -1, т.е. возвращаемое значение нужно проверять. Т.е. прямого пути перевода кода из МТ4 в МТ5 не существует.Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: CPrice
fxsaber, 2016.08.31 12:05
Как воспроизвести ситуацию, в которой MT5 не сможет повторить поведение MT4?Приведите пример, когда Вы получаете такую ошибку
Воспроизвести не готов.
Запрос с чужого символа/ТФ. При отсутствии истории, при загрузке терминала.
С индикаторами принципиальная разница есть?
раньше не работало уничтожение индикаторов в тестере по IndicatorRelease(). теперь работает?
Запускаем этот код (осторожно! закройте все работающие программы если не хотите потерять данные - возможен ресет системы!) и видим - как не работало, так и не работает.
По крайней мере система теперь не крашится (осторожно! это у меня не крашится, а у вас может произойти всё что угодно!) как раньше.
Победите уже это наконец, пожалуйста.
Воспроизвести не готов.
Запрос с чужого символа/ТФ. При отсутствии истории, при загрузке терминала.
С индикаторами принципиальная разница есть?
С индикаторами - есть.
Если на кеше символа-периода есть индикатор, то там всё проще. История поддерживается в актуальном состоянии без участия человека.
И если был ответ 4806, то индикатор действительно ещё не пересчитался. И вот здесь совершенно непонятно, когда индикатор пересчитается (в отличие от перестроения кешей символа-периода)
Поэтому надо рассматривать конкретный случай.
Запускаем этот код (осторожно! закройте все работающие программы если не хотите потерять данные - возможен ресет системы!) и видим - как не работало, так и не работает.
По крайней мере система теперь не крашится (осторожно! это у меня не крашится, а у вас может произойти всё что угодно!) как раньше.
Победите уже это наконец, пожалуйста.
Кто и когда обещал?
Никто не обещал. И никто не отвечал никогда на этот вопрос - будет он когда либо решаться вообще или нет.
Понятно, что придется многое переделывать в работе тестера с индикаторами, понятно так же что можно при особой нужде перенести расчетную часть индикаторов в советник и рассчитывать индикатор как душе угодно...
Не понятно одно - как использовать при самооптимизации советников (валк-форвард тестирование при одиночном прогоне в тестере) индикаторы скомпилированные и/или из маркета, ведь перенести расчетную часть в советник не получится.
Да. Спасибо за напоминание.
Исправили и iLowest, и Bars
Да, спасибо! В билде 1847 теперь все Ок.
С индикаторами - есть.
Если на кеше символа-периода есть индикатор, то там всё проще. История поддерживается в актуальном состоянии без участия человека.
И если был ответ 4806, то индикатор действительно ещё не пересчитался. И вот здесь совершенно непонятно, когда индикатор пересчитается (в отличие от перестроения кешей символа-периода)
Поэтому надо рассматривать конкретный случай.
Ага. Еще кто-то на 4806 напоролся. В созданной мной ветке и в заявке в СД #1897969 до сих пор нет ответов по этой ошибке.
С индикаторами - есть.
Если на кеше символа-периода есть индикатор, то там всё проще. История поддерживается в актуальном состоянии без участия человека.
И если был ответ 4806, то индикатор действительно ещё не пересчитался. И вот здесь совершенно непонятно, когда индикатор пересчитается (в отличие от перестроения кешей символа-периода)
Поэтому надо рассматривать конкретный случай.
Понял. Тогда буду мониторить на предмет возникновения ошибки.
я считаю, что было бы удобно прерывать выполнение MQL-программы в любом месте, некий HLT - команду останова
Присоединяюсь. Считаю, что такая возможность будет очень кстати в будущем.
Пример, - пользовательские диалоговые окна. В отличии от штатных диалоговых окон могут иметь набор элементов управления, таких как поля ввода, чекбоксы и т.д...
В сложных программах нельзя обойтись без диалога с пользователем. Программы ожидают его действий на разных этапах своего выполнения - заполнения полей, нажатия на диал.кнопки.
Для реализации программного диалога с пользователем требуется возможность остановки выполнения функций в любом месте.
При наличии такой возможности, разработчик сможет создать интересное и сложное приложение, тесно взаимодействующее с пользователем.