Мы как разработчики сами очень активно используем сбор фреймов при оптимизации для выявления трудновоспроизводимых багов тестерных агентов. (Где то здесь, на форуме, мы уже показывали пример Moving_Average_Frames)
Кстати, есть нюанс. Если вы получаете несколько видов фреймов, то сделать это можно только в OnTesterDeinit. По-моему, это ещё нигде не описано, хотя логично следует из документации по функциям приёма фреймов.
stringo: Кстати, есть нюанс. Если вы получаете несколько видов фреймов, то сделать это можно только в OnTesterDeinit. По-моему, это ещё нигде не описано, хотя логично следует из документации по функциям приёма фреймов.
Я не понимаю, что имеется ввиду по "видами фреймов". В смысле массив любого типа? Я пробовал передать строковой массив и что-то не получилось у меня. Писал об этом в Сервисдеск, но на каком-то этапе всё заглохло и ответа не дождался.
Пробовал ещё реализовать схему, когда устанавливаются свои параметры из заранее подготовленного списка. Тоже не получилось. Наверное мало думал? ))) Функции ParameterGetRange и ParameterSetRange можно использовать только в самом начале оптимизации в OnTesterInit(). А хотелось бы устанавливать свои параметры на каждом проходе. Это возможно?
Наверное, предполагается, что каждый проход должен включать в себя весь простой цикл: запуск тестера с входными параметрами, получение фрейма по критерию с попутным наслаждением 3d графиками, запись фрейма в файл сета (а как, кстати, она программно делается в нужное место?). Т.е. организация серий - это уже забота кодера-пользователя.
Пробовал ещё реализовать схему, когда устанавливаются свои параметры из заранее подготовленного списка. Тоже не получилось. Наверное мало думал? ))) Функции
ParameterGetRange и ParameterSetRange можно использовать только в самом начале оптимизации в OnTesterInit(). А хотелось бы устанавливать свои параметры на каждом проходе. Это возможно?
Вы забыли указать отдельно ещё эту ссылку "Работа с результатами оптимизации"
Мы как разработчики сами очень активно используем сбор фреймов при оптимизации для выявления трудновоспроизводимых багов тестерных агентов. (Где то здесь, на форуме, мы уже показывали пример Moving_Average_Frames)
Вот такая статья ещё есть: Визуализируй стратегию в тестере MetaTrader 5. С примером в коде. И ещё одна на очереди. ))
Кстати, есть нюанс. Если вы получаете несколько видов фреймов, то сделать это можно только в OnTesterDeinit. По-моему, это ещё нигде не описано, хотя логично следует из документации по функциям приёма фреймов.
Я не понимаю, что имеется ввиду по "видами фреймов". В смысле массив любого типа? Я пробовал передать строковой массив и что-то не получилось у меня. Писал об этом в Сервисдеск, но на каком-то этапе всё заглохло и ответа не дождался.
Пробовал ещё реализовать схему, когда устанавливаются свои параметры из заранее подготовленного списка. Тоже не получилось. Наверное мало думал? ))) Функции ParameterGetRange и ParameterSetRange можно использовать только в самом начале оптимизации в OnTesterInit(). А хотелось бы устанавливать свои параметры на каждом проходе. Это возможно?
Я не понимаю, что имеется ввиду по "видами фреймов".
Вот пример. В OnTester советник отсылает 2 фрейма - история сделок и история, на которой он работал.
В OnTesterDeinit приём и обработка всех фреймов первого и второго типа
Пробовал ещё реализовать схему, когда устанавливаются свои параметры из заранее подготовленного списка. Тоже не получилось. Наверное мало думал? ))) Функции ParameterGetRange и ParameterSetRange можно использовать только в самом начале оптимизации в OnTesterInit(). А хотелось бы устанавливать свои параметры на каждом проходе. Это возможно?
Невозможно.
Только в OnTesterInit
Вот пример. В OnTester советник отсылает 2 фрейма - история сделок и история, на которой он работал.
В OnTesterDeinit приём и обработка всех фреймов первого и второго типа
Спасибо за хороший пример.
Невозможно.
Только в OnTesterInit
Ну а как результат прогона в сет-то записать? Тема топика ведь не просто автотестирование, а с подстановкой результата...
Точно так же, с помощью FileWrite
Предвосхищая следующий вопрос - прочитать с помощью FileRead ;)
Так и не нашли исполнителя под доступный бюджет?