EURUSD,M1: 7751877 ticks, 57434 bars generated. Environment synchronized in 0:00:00.031. Test passed in 0:00:13.167 (including ticks preprocessing 0:00:00.936).
в 25 раз быстрее!
Тестер и HistorySelect не совместимы. Нужно статью писать разработчикам, как историю кэшировать. Но на самом деле требуется менять подходы работы с историей.
если в терминале и так есть история, то почему к ней обязываете обращаться через HistorySelect, а не по принципу MT4 - SELECT_BY_POS? И что совсем непонятно, зачем HistoryDealGet* реализован через тикет с соответствующей O(N), когда логично опять же через SELECT_BY_POS?
Просто для того, чтобы узнать количество совершенных сделок (терминал всегда знает это число), необходимо зачем-то вызывать дорогую HistorySelect. Возможно ли несколько улучшить работу с историей?
fxsaber: Этот советник теперь проходит одиночный прогон.
Но за 5.5 минут! А теперь, внимание, фокус! Комментируем HistorySelect
И прогон выполняется
в 25 раз быстрее!
Тестер и HistorySelect не совместимы. Нужно статью писать разработчикам, как историю кэшировать. Но на самом деле требуется менять подходы работы с историей.
А чего у вас так не оптимально, что каждый раз 60 на 60 умножается, если можно вписать сразу 3600?
Билд 1596. Тест по "Все тики" за 4 месяца. Двойной клик во вкладке "Бектест" при открытом чарте не приводит к перемещению к соответсвующей сделке. Перемотал историю сделок ближе к середине - начинает работать двойной клик на сделке.
fxsaber: Этот советник теперь проходит одиночный прогон.
Спасибо, всё работает, и оригинальный советник из которого был выдран код тоже работает.
Yury Golyakov:
А чего у вас так не оптимально, что каждый раз 60 на 60 умножается, если можно вписать сразу 3600?
Это наследие другого кода - там было 24*60*60. Потому что так сразу понятно что это 24 часа. А если написать вместо этого 86400, то я в будущем не сразу пойму что это было за число. Забота.
Спасибо, всё работает, и оригинальный советник из которого был выдран код тоже работает.
Это наследие другого кода - там было 24*60*60. Потому что так сразу понятно что это 24 часа. А если написать вместо этого 86400, то я в будущем не сразу пойму что это было за число. Забота.
))) А что мешает написать PeriodSeconds(PERIOD_D1);
Ребят, алгоритмической частью терминала - а именно это его отличает от остальных - нельзя пользоваться. Откатите все изменения до предыдущей рабочей версии, так будет проще всего.
Ребят, алгоритмической частью терминала - а именно это его отличает от остальных - нельзя пользоваться. Откатите все изменения до предыдущей рабочей версии, так будет проще всего.
Что именно у вас не работает?
Приведите пример с логами, скриншотами и объяснениями, пожалуйста.
Обновитесь до 1596 билда с сервера MetaQuotes-Demo, пожалуйста.
Эти ошибки уже исправлены.Но за 5.5 минут! А теперь, внимание, фокус! Комментируем HistorySelect
// HistorySelect(TimeCurrent()-60*60,TimeCurrent());И прогон выполняется
в 25 раз быстрее!
Тестер и HistorySelect не совместимы. Нужно статью писать разработчикам, как историю кэшировать. Но на самом деле требуется менять подходы работы с историей.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.04.20 09:11
если в терминале и так есть история, то почему к ней обязываете обращаться через HistorySelect, а не по принципу MT4 - SELECT_BY_POS? И что совсем непонятно, зачем HistoryDealGet* реализован через тикет с соответствующей O(N), когда логично опять же через SELECT_BY_POS?
Очень интересные записи
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Ошибки, баги, вопросы
fxsaber, 2017.04.21 07:51
Просто для того, чтобы узнать количество совершенных сделок (терминал всегда знает это число), необходимо зачем-то вызывать дорогую HistorySelect. Возможно ли несколько улучшить работу с историей?Этот советник теперь проходит одиночный прогон.
Но за 5.5 минут! А теперь, внимание, фокус! Комментируем HistorySelect
И прогон выполняется
в 25 раз быстрее!
Тестер и HistorySelect не совместимы. Нужно статью писать разработчикам, как историю кэшировать. Но на самом деле требуется менять подходы работы с историей.
А чего у вас так не оптимально, что каждый раз 60 на 60 умножается, если можно вписать сразу 3600?
А чего у вас так не оптимально, что каждый раз 60 на 60 умножается, если можно вписать сразу 3600?
Извините, пожалуйста.
Сегодня будет новый билд с исправлениями.
Билд 1596. Тест по "Все тики" за 4 месяца. Двойной клик во вкладке "Бектест" при открытом чарте не приводит к перемещению к соответсвующей сделке. Перемотал историю сделок ближе к середине - начинает работать двойной клик на сделке.
Раньше такого не было.
видно, не всё поправили - у меня эксперт так и не стал тестироваться на 1596 :(
придётся копать тысячу строк
Этот советник теперь проходит одиночный прогон.
Спасибо, всё работает, и оригинальный советник из которого был выдран код тоже работает.
А чего у вас так не оптимально, что каждый раз 60 на 60 умножается, если можно вписать сразу 3600?
Спасибо, всё работает, и оригинальный советник из которого был выдран код тоже работает.
Это наследие другого кода - там было 24*60*60. Потому что так сразу понятно что это 24 часа. А если написать вместо этого 86400, то я в будущем не сразу пойму что это было за число. Забота.видно, не всё поправили - у меня эксперт так и не стал тестироваться на 1596 :(
придётся копать тысячу строк
Логи тестирования посмотрите\приложите.
Какую ошибку или сообщение в логах получаете?
Каким билдом скомпилирован советник?
В 1596 та же петрушка.
Ребят, алгоритмической частью терминала - а именно это его отличает от остальных - нельзя пользоваться. Откатите все изменения до предыдущей рабочей версии, так будет проще всего.
В 1596 та же петрушка.
Ребят, алгоритмической частью терминала - а именно это его отличает от остальных - нельзя пользоваться. Откатите все изменения до предыдущей рабочей версии, так будет проще всего.
Что именно у вас не работает?
Приведите пример с логами, скриншотами и объяснениями, пожалуйста.