Ошибки, баги, вопросы - страница 1564
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В тестере BookEvent пока не реализован
И цикл организовывать не на секунду, а на чуть меньше часа. С обязательной проверкой IsStopped()
Sleep, кстати, обязателен. Иначе завесите тестер. Ну и ресурсы у системы будут отжираться при обычной работе советника
Даже не протестировать Ваш вариант
Код
Даже не протестировать Ваш вариант
Код
И что Вы тут тестировали?
Запускаю в тестере тот код. И получаю зависание с сообщением infinite Sleep loop detected while testing.
Много раз уже говорили: "Читайте документацию"
Не Вы ли отвечали: "Я прочитал всю документацию. Несколько раз"?
А вот это читали? Похоже, что нет...
Если в результате выполнения функции Sleep() текущее время в тестере вышло за конец периода тестирования, то будет получена ошибка "бесконечный цикл в Sleep". При получение такой ошибки результаты тестирования не отбрасываются, все вычисления производятся в полном объеме (количество сделок, просадка и т.д.) и результаты данного тестирования передаются терминалу.
А вот это читали?
А по поводу пропуска тиков в цикле в OnTimer необходимы воспроизводимые доказательства. Они у Вас есть?
Вы об этом в документации написали!
В тестере же вызовы Sleep() не задерживают процесс тестирования. При вызове Sleep() "проигрываются" сгенерированные тики в пределах указанной задержки, в результате чего могут сработать отложенные ордера, стопы и т.д. После вызова Sleep() cмоделированное в тестере время увеличивается на интервал, указанный в параметре функции Sleep.
Вот и не получится на каждом из этих тиков вызвать советник. Принимается доказательство?
Вы об этом в документации написали!
Вот и не получится на каждом из этих тиков вызвать советник. Принимается доказательство?
Вы это серьёзно?
Проигрался тик, и Вы его тут же можете взять ещё горяченьким при помощи запроса SymbolInfoTick. Я сразу про эту возможность написал. Если хотите, то можете делать Sleep(1), а не Sleep(10)
Читал и очень внимательно. Дело в том, что если Sleep используется в OnTimer, то невозможно определить, когда выходишь за интервал тестирования. IsStopped (в коде прописал сразу из-за чтения документации) не срабатывает в момент выхода. Чей косяк?
А зачем определять момент выхода за пределы интервала тестирования? За Вас это определит тестер и прекратит тестирование. Вы точно читали приведённую мной цитату?
А зачем определять момент выхода за пределы интервала тестирования? За Вас это определит тестер и прекратит тестирование. Вы точно читали приведённую мной цитату?
Посмотрите, пожалуйста, мой исходник выше и укажите, где в нем логическая ошибка. Я там нигде не выхожу за интервал.
IsStopped() во время выхода за интервал в OnTimer не становится true. Поэтому и облом.