Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Как накосячили ?
void OnInit() {
tick=GetTickCount(); // должен давать близкие (вообще идентичные) значения в проходах оптимизатора.
}
вот если он сильно разный и действительно в оптимизаторе показывает "кол-во тиков (мсек) со старта запустившей программы" - вот это будет косяк.
Какой же это косяк, когда именно такой результат от него ожидается?
оптимизатор(и тестер) делает виртуальное окружение.Как-будто бы софт только-что запущен очень давно. И подаёт котировки/эвенты на вход как новое.
GetTickCount, GetMicrosecondCount должны соответствовать. Экземпляры запускаются в разных агентах. Поэтому на вхоже OnInit в оптимизации должны быть идентичны. Иначе косяк.
и тут просто философски-технический вопрос - для многих алгоритмов необходим рандом, вне зависимости от проходов, виртуального или реального времени, момента запуска MT, он должен остаться случайным.
иначе алгоритмы а-ля Монте-Карло покажут дырку от бублика а не результат "оптимизаций"
оптимизатор(и тестер) делает виртуальное окружение.Как-будто бы софт только-что запущен очень давно. И подаёт котировки/эвенты на вход как новое.
GetTickCount, GetMicrosecondCount должны соответствовать. Экземпляры запускаются в разных агентах. Поэтому на вхоже OnInit в оптимизации должны быть идентичны. Иначе косяк.
и тут просто философски-технический вопрос - для многих алгоритмов необходим рандом, вне зависимости от проходов, виртуального или реального времени, момента запуска MT, он должен остаться случайным.
иначе алгоритмы а-ля Монте-Карло покажут дырку от бублика а не результат "оптимизаций"
Посмотрите мои эксперименты https://www.mql5.com/ru/blogs/post/735953