Ошибки, баги, вопросы - страница 2422
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
bild 2009
Данные, получаемые со старших ТФ на чарте онлайн отличаются от данных, получаемых в тестере. Баг делает невозможным корректное тестирование советников использующих данные со старших ТФ.
Воспроизводимые минимальные примеры в прикрепе, скрипт для чарта и советник для тестера записывают данные в файл для возможности их последующего сравнения.
На скриншоте, где представлены два соответсвующих файла видны существенные отличия:
bild 2009
Данные, получаемые со старших ТФ на чарте онлайн отличаются от данных, получаемых в тестере. Баг делает невозможным корректное тестирование советников использующих данные со старших ТФ.
Воспроизводимые минимальные примеры в прикрепе, скрипт для чарта и советник для тестера записывают данные в файл для возможности их последующего сравнения.
На скриншоте, где представлены два соответсвующих файла видны существенные отличия:
И, да, этот баг обойти можно, если самостоятельно делать построение старших ТФ из тиковой истории, но это не значит, что можно не обращать внимание на некорректную работу функций серии i(o,h,l,c), iOpen и т.д. в тестере.
Запускать Ваши коды нет необходимости. Вы действительно не понимаете проблему?
Скрипт считывает состояния баров на сегодня. Эксперт в процессе тестирования считывает состояния баров на момент текущего тестового времени.
Запускать Ваши коды нет необходимости. Вы действительно не понимаете проблему?
Скрипт считывает состояния баров на сегодня. Эксперт в процессе тестирования считывает состояния баров на момент текущего тестового времени.
Слава, под давлением Вашего авторитета я было засомневался в правильности своих действий... но лишь на мгновение, потому что вспомнил, что я проверял момент о котором Вы говорите, выводя так же время старших ТФ наряду с их ценами.
Всё же, специально для Вас, я сделал это - теперь выводится в одну строку всё что нужно что бы увидеть проблему.... Не хотите же сказать, что время возвращается верно по iTime, а цены iOpen, iHigh, iLow, iClose - неверно и это нормально?
Так же, прошу обратить особое внимание на строку:
в соответствующей функции, bar - это индекс в массиве, который получается исходя из времени time, независимо от того, на сегодня это запрашивается, на вчера, или на позавчера, возвращается индекс бара из ходя из запрашиваемого времени в параметрах функции.
В прикрепе примеры с выводом времени ТФ-ов, настоятельно рекомендую всё же запустить их и убедиться в наличии проблемы самостоятельно, а не слушать случайных прохожих которые не удосужились вникнуть в проблематику, заглянуть в код и запустить его.
Мне непонятна позиция администрации... Хотел показать наличие проблемы, хотел как лучше, а получается как всегда...
Столкнулся с такой проблемой в тестере: первый раз нажимаем старт всё хорошо процесс идет, нажимаем сразу после этого - ничего, ни ошибок ни теста. Самый прикол в том, что подождав несколько минут тестер опять работает, но снова на один раз.
Если запустить оптимизацию по ряду прогонов выдает:
EO 2 15:51:28.514 Core 1 genetic pass (0, 0) tested with error "some error after pass finished" in 0:00:00.052
PS 2 15:51:28.615 Core 1 genetic pass (0, 1) tested with error "task rejected by tester agent" in 0:00:00.000
Такая магия только с одним советником, вероятно проблема с ним и с новыми обновлениями, но где искать не понятно, раньше всё работало(два месяца не трогал).
В общем разобрался. Кому интересно, всему виной Sleep(5000); причем не важно сколько миллисекунд можно и одну. По идее Sleep() не должен влиять на тестирование при этом "проигрывает" сгенерированные тики на указанное время. Я пока не нашел взаимосвязь Sleep() с конкретным кодом советника, у других сов такой проблемы нет, но всё же раньше такого не было и если вы столкнулись с подомным на это нужно обратить внимание.
Слава, под давлением Вашего авторитета я было засомневался в правильности своих действий... но лишь на мгновение, потому что вспомнил, что я проверял момент о котором Вы говорите, выводя так же время старших ТФ наряду с их ценами.
Всё же, специально для Вас, я сделал это - теперь выводится в одну строку всё что нужно что бы увидеть проблему.... Не хотите же сказать, что время возвращается верно по iTime, а цены iOpen, iHigh, iLow, iClose - неверно и это нормально?
Так же, прошу обратить особое внимание на строку:
в соответствующей функции, bar - это индекс в массиве, который получается исходя из времени time, независимо от того, на сегодня это запрашивается, на вчера, или на позавчера, возвращается индекс бара из ходя из запрашиваемого времени в параметрах функции.
В прикрепе примеры с выводом времени ТФ-ов, настоятельно рекомендую всё же запустить их и убедиться в наличии проблемы самостоятельно, а не слушать случайных прохожих которые не удосужились вникнуть в проблематику, заглянуть в код и запустить его.
Мне непонятна позиция администрации... Хотел показать наличие проблемы, хотел как лучше, а получается как всегда...
Попробовал использовать CopyRates () в эксперте, результат такой же неккоректный как и в случае i(), время совпадает а цены - нет.
Баг компилятора. В следующем примере выдаётся ошибка при попытке копирования объекта с константным полем, несмотря на наличие перегруженного оператора =. Причём текст сообщения об ошибке даже не соответствует причине её возникновения, ибо protected там ни при чём.
Слава, под давлением Вашего авторитета я было засомневался в правильности своих действий... но лишь на мгновение, потому что вспомнил, что я проверял момент о котором Вы говорите, выводя так же время старших ТФ наряду с их ценами.
Всё же, специально для Вас, я сделал это - теперь выводится в одну строку всё что нужно что бы увидеть проблему.... Не хотите же сказать, что время возвращается верно по iTime, а цены iOpen, iHigh, iLow, iClose - неверно и это нормально?
Так же, прошу обратить особое внимание на строку:
в соответствующей функции, bar - это индекс в массиве, который получается исходя из времени time, независимо от того, на сегодня это запрашивается, на вчера, или на позавчера, возвращается индекс бара из ходя из запрашиваемого времени в параметрах функции.
В прикрепе примеры с выводом времени ТФ-ов, настоятельно рекомендую всё же запустить их и убедиться в наличии проблемы самостоятельно, а не слушать случайных прохожих которые не удосужились вникнуть в проблематику, заглянуть в код и запустить его.
Мне непонятна позиция администрации... Хотел показать наличие проблемы, хотел как лучше, а получается как всегда...
Добрый день.
Билд 2007. Проблема следующая. Запускаю в тестере стратегий советника на фьюче (не склейка) с визуализацией. Получаю следующий результат
Теперь убираю галку "Визуализация" и получаю уже другие результаты
Брал другие периоды, включая инструменты. Разнятся и показатели прибыли, и кол-во сделок. Причем после детального сравнения сделок выяснил, что без визуализации есть сделки, которые на уровне логики советника быть не могут. Итого верные данные могут быть только с визуализацией.
Товарищи форумчане и разработчики, что это и как с этим бороться? Тестировать все время с визуализацией на больших периодах накладно, так как процесс идет дольше, чем без визуализации.