Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
возможно само присутствие Sleep (по сравнению с его отсутствием) в коде как то сказывается на общем времени выполнения, но то, что Sleep не считается в тестере - это точно.
Код вешает терминал:
В чем причина?
Код вешает терминал:
В чем причина?
В настройках терминала не Unlim стоит?
Для начала:
В настройках терминала не Unlim стоит?
макс баров стоит 5000. это значение можно уменьшить?
По-моему, меньше нельзя (не уверен).
Ну а Print(count) что выдаёт?
По-моему, меньше нельзя (не уверен).
Ну а Print(count) что выдаёт?
в коммент -1
запустил на другом инструменте - не завсис, но в коммент -1 вывел
ПРАВКА: завис через несколько сек. Код запукскаю из int OnInit()
ага, а в тестере работает, потому что в нем Sleep игнорируется.
В тестере Sleep полностью и достаточно точно эмулируется.
В примере из-за арифметического переполнения при работе с целочисленными значениями получилось как раз ожидание в 17.5 дней. Тестер именно столько и ждал.
То есть, никаких ошибок тестера или среды исполнения MQL5 нет, а есть явная ошибка программиста.
Renat:
То есть, никаких ошибок тестера или среды исполнения MQL5 нет, а есть явная ошибка программиста.
Это совершенно понятно.
Renat:
В тестере Sleep полностью и достаточно точно эмулируется.
В примере из-за арифметического переполнения при работе с целочисленными значениями получилось как раз ожидание в 17.5 дней. Тестер именно столько и ждал.
Ммм, вона оно как. А я ошибочно считал, что Sleep просто игнорируется.
Выходит, что если я в эксперте в режиме тестирования укажу в Sleep (3 месяца) , к примеру, то тестер просто перемотает историю вперед на 3 месяца? - это здорово.
Во время ожидания тестер продолжает полностью эмулировать торговое окружение, включая всю отработку ранее выставленных ордеров. Тестер в МТ5 очень детальный.
в коммент -1
запустил на другом инструменте - не завсис, но в коммент -1 вывел
ПРАВКА: завис через несколько сек. Код запукскаю из int OnInit()
Да. Слона-то мы и не приметили.
Что-то у меня сильные подозрения вызывает во эта строчка:
ArrayMaximum
Ищет в одномерном числовом массиве максимальный элемент.
int ArrayMaximum(
double array[], // массив для поиска
int start=0 // с какого индекса начинаем поиск
int count=WHOLE_ARRAY, // количество проверяемых
);
а в нашем случае:
MqlRates s1[];
Мне кажется компилятор не должен это пропускать. У Вас что? Нет даже предупреждения? Если нет, ставьте заявку в Сервисдеск. Ок?