kDelu Опубликовано 27 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 27 июля, 2023 (изменено) Предлагаю пользоваться автоматизатором задач тестирования большого количества сетов в МТ5, их сравнения и подбора оптимальных сочетаний в корзины, написанным для себя для облегчения жизни) Для работы нужен только excel, начиная с 2007 версии. Скрипт взаимодействует только с МТ5 и ходит в интернет за историей валют. Начально описание прилагается ниже. Снято обзорное видео. Напишите, что хотите видеть на видео. Кто разработчик в VBA, может улучшить структуру кода, т.к. написано любительски, и предложить свой доп. функционал для включения в меню "конвеера". Кто решится переносить код в свои разработки, оставляйте ссылки на автора. Автоматизировать тоже самое в связке с МТ4 потенциально возможно, если разобраться с вопросом и раздобыть поставщика истории. В архиве находится файл xlsm с примером расчёта корзины Setka M0kass_5_lite, который был родителем боевого счёта копирования автора. Сеты запускались на двух машинах и тестировались под 3 типами счетов Roboforex. Есть проблемы с МТ5, когда терминал "успешно" отдает результаты тестирования, но по факту есть пропуски в загрузках истории терминалом, о которых можно только косвенно узнать при изучении отчета МТ. Возможно, вариант с внешним гарантированным поставщиком тиков с равномерной плотностью будет лучше, чем МТ5. В списке буду вести предложения для доработок: 1) добавить графики валютных пар и размеры позиций по каждому сету на них. 2) упростить работу с параметрами из сетов на листе SETs: строковые числа, транспонирование таблицы на отдельный лист и обратно. 28.07.2023 перезалил архив - обнаружил в релизе не самую последнюю версию модулей VBA. 01.07.2023 новый релиз 1.10.4 - теперь и с кастомными символами, исправлен баг вставки миниграфиков в ячейки. Архив тут. 04.08.2023 добавлено видео поддержки одного из пользователей 09.08.2023 новый релиз 1.10.7 - решение проблемы МТ с очисткой предыдущих сетов, доп. диагностика проблемы копирования результатов МТ, триминг графиков, изм. код отслеживания процесса. Руководство вложено, но приложение по ссылке (не проходит по лимитам загрузки). 15.08.2023 новый релиз 1.10.9. Исправлена проблема загрузки сетов из строк листа SETs (предыдущие релизы работали некорректно при SetSourceForTerminal = 2; MT не понимает [названия разделов]в ini, теперь без них). Исправлены мини графики на листе Result1 (на старых excel графики не помещались в размер ячеек, а при кол-ве точек более 14 тыс теперь ошибки не возникает, но мини графики обрезаются; большие графики остаются корректными, т.к. дискретно сглажены ). В терминал пока выводятся все, в т.ч. пустые параметры сетов, они увеличивают шапку отчета МТ. Удалены пробелы из некоторых названий параметров сетов. 30.09.2023 новый релиз 1.10.10 выложен вложением. Описание не поменялось. Исправлено: (1) корректные названия сетов на result2, (2) не выгружались с листа sets сеты в файлы, (3) исключаются при загрузке из set- файлов дубли и опт параметры МТ4 и МТ5, исправлена логика при отсутствии колонки TerminalPathCol (режим одного терминала), (4) цена пункта пары пересчитывается сразу после загрузки курсов из интернет, а не пакетно после. Краткое описание программы ConveyerMT5.pdf ConveyerMT5_v1.10.10.Demo.xlsm Изменено 30 сентября, 2023 пользователем kDelu релиз 1.10.10 11 1 5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 Добрый день, коллега. Не могу запустить тестирование. Не запускается терминал. Посмотрите, что не так делаю. Скрины ниже. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 28 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 (изменено) 9 минут назад, alextron сказал: Не запускается терминал. Посмотрите, что не так делаю. Выглядит, будто не запускается терминал. Причины - возможно он другой папке. Поставьте 0 в параметре [Tester]ShutdownTerminal в 84 строке на первом листе. Оставьте Вкл только 1 строку на листе SETs и запустите в меню 4 команду. Должен открыться МТ5 и не закрываться в конце задачи. Далее по ситуации - либо он будет занят задачей, либо в своем логе напишет диагностику. От нее дальше нужно разбираться. Может не логинится к брокеру, может мод не видит в Experts, .. После починки вернуть 1 [Tester]ShutdownTerminal Еще я только что перезалил архив с самой последней версией, но на эту проблему она не влияет. Изменено 28 июля, 2023 пользователем kDelu Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 (изменено) Метотрейдер запускается, не проходит инициализация, не проходят настройки тестера... Как посмотреть, где тормозится? Вручную тестер запускается, все ок. Может это влияет, я тестирую на котировках от Дукаса, которые находятся в папке Изменено 28 июля, 2023 пользователем alextron ошибка 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 28 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 2 часа назад, kDelu сказал: Оставьте Вкл только 1 строку на листе SETs и запустите в меню 4 команду. Должен открыться МТ5 и не закрываться в конце задачи. После выполнения рекомендаций выше, найдите лог в папке терминала ..\logs\20230728.log и посмотрите там ошибки или выложите. Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 еще, вдогонку, если будет время, посмотрите: 1. У меня два монитора, при запуске программы на 2м , не основном мониторе иконка меню выходит за пределы монитора на котором раскрывается программа. Можно сделать, чтобы иконка меню открывалась на том-же мониторе? 2. при случайных ошибочных действиях, программа зависает . Можно ли сделать так чтобы был какой-то аварийный останов, чтобы не надо было перезагружать программу снова? Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 (изменено) лог терминала, за последнее время: LI 0 21:47:06.661 Terminal exit with code 0 PN 0 21:47:06.665 Network '51730608': disconnected from Alpari-MT5-Demo CG 0 21:47:06.743 Terminal stopped with 0 LG 0 21:47:06.750 Terminal shutdown with 0 HS 0 21:47:36.387 Startup successfully initialized from start config "C:\Users\alext\Desktop\setka\Jocker\Результаты\1690580854_51730608_1.ini" ML 0 21:47:36.504 Terminal Alpari MT5 x64 build 3802 started for Alpari JO 0 21:47:36.504 Terminal Windows 10 build 19045, 4 x Intel Core i7-6500U @ 2.50GHz, AVX, 2 / 7 Gb memory, 82 / 237 Gb disk, UAC, GMT+5 KL 0 21:47:36.504 Terminal C:\Users\alext\AppData\Roaming\MetaQuotes\Terminal\36A64B8C79A6163D85E6173B54096685 GD 0 21:47:36.504 Terminal launched with C:\Users\alext\Desktop\setka\Jocker\Результаты\1690580854_51730608_1.ini OG 2 21:47:38.248 Tester Experts\(EA) - Setka v1.46-RSI-CCI-AS.ex5 not found NP 0 21:47:38.742 Network '51730608': authorized on Alpari-MT5-Demo through MT5-Demo.Europe.3:1119 (ping: 81.11 ms, build 3661) FR 0 21:47:38.742 Network '51730608': previous successful authorization performed from 94.140.133.142 on 2023.07.28 19:28:47 JM 0 21:47:39.469 Network '51730608': terminal synchronized with Alpari: 0 positions, 0 orders, 747 symbols, 0 spreads MP 0 21:47:39.469 Network '51730608': trading has been enabled - hedging mode в журнале тестера, последняя запись: 2023.07.28 21:47:38.248 Tester Experts\(EA) - Setka v1.46-RSI-CCI-AS.ex5 not found так понимаю. не может найти советника... советник в папке C:\Users\alext\AppData\Roaming\MetaQuotes\Terminal\36A64B8C79A6163D85E6173B54096685\MQL5\Experts\Advisors где настроить, чтобы он шел в Advisors а не в Experts ? Изменено 28 июля, 2023 пользователем alextron 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 28 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 3 минуты назад, alextron сказал: Experts\(EA) - Setka v1.46-RSI-CCI-AS.ex5 not found Вам нужно положить в папку правильный файл советника и его имя вписать в параметр [Tester]Expert на 1 листе. Видно же в логе) 12 минут назад, alextron сказал: У меня два монитора, при запуске программы на 2м , не основном мониторе иконка меню выходит за пределы монитора Надо тестировать. Можно подключить горячую клавишу к кнопке, как пока не скажу 13 минут назад, alextron сказал: при случайных ошибочных действиях, программа зависает Есть кнопка Остановить - она заканчивает цикл по задачам. Если вообще все тормозит, то слабое железо для Excel + MT 28 минут назад, alextron сказал: я тестирую на котировках от Дукаса, которые находятся в папке Такой режим не тестировался. Только пока МТ5 + котировки брокера. Если заработает с файлами, буду рад. Коды пар там 6 символьные? 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 (изменено) 5 минут назад, kDelu сказал: Коды пар там 6 символьные? да, 6-ти символьные. Бинго! Заработало, но на дефолтных котировках. Хотелось бы на Дукосовских... дефолтные, часто дырявые/плохого качества, и чем глубже история, тем хуже качество... Изменено 28 июля, 2023 пользователем alextron Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 28 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 (изменено) 19 минут назад, alextron сказал: Хотелось бы на Дукосовских.. По идее, не видя связку, сам терминал получает команды через ini. Если бы коды тикеров были 6 символьные, то должно было автоматом запуститься. Но я вижу они 10 символьные на скрине "EURGBP_cust", а с такими не будет считать equity. Но если пока устроит только циклический запуск МТ с сохранением результатов в папках, то укажите EURGBP_cust в поле [Tester]Symbol на 1 или 2 листе. На выходных могу доработать, если будете тестировать. Изменено 28 июля, 2023 пользователем kDelu Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 31 минуту назад, kDelu сказал: "EURGBP_cust" Это название я сам придумал, там можно хоть как обозвать. Когда из тикстори копируешь в МТ5, можно хоть как обозвать... Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 28 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 2 минуты назад, alextron сказал: EURGBP Из интернета подкачиваются история котировок без пропусков для дальнейших расчётов графиков, а там используются общеизвестные 6 симв коды пар. С такими все должно работать. Если не получится переименовать, то нужно дорабатывать код. Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 (изменено) 11 часов назад, kDelu сказал: Если не получится переименовать переименовать получится, НО дефолтные названия пар присвоить не получается , надо снова закачать тикстори, к сожалению я убил файлы, очень уж они большие (порядка 17 Гб пара, если с 14 года), и снова из конвертировать в МТ5, можно как угодно с 6 символьными. НО проблема, как в ini файле, указать, чтобы тестер брал их из другой папки? Дефолтная папка на скрине и папка с загруженными символами/парами. Изменено 29 июля, 2023 пользователем alextron Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 28 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 1 час назад, kDelu сказал: На выходных могу доработать, если будете тестировать. Обязательно буду тестировать. В Вашем конвейере вижу большое будущее, кроме тестирования корзин,(пока не уверен, что будут корректные результаты, по сравнению с реальными торгами, по крайней мере можно будет отслеживать когда просадки по парам будут накладываться одна на другую, это уже хорошо...). А вот автоматизация тестирования и оптимизация сетов - очень круто, как мне кажется. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 28 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 28 июля, 2023 26 минут назад, alextron сказал: НО проблема, как в ini файле, указать, чтобы тестер брал их из другой папки? Дефолтная папка на скрине и папка с загруженными символами/парами. В МТ должна соблюдаться уникальность названий пар. Не может быть два EURUSD, один дефолтный, второй от другого поставщика. Проверял. Если МТ разрешит убить дефолтный код EURUSD и подгрузить историю в тоже название, то ничего менять не надо. Иначе - нужна доработка. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 29 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 29 июля, 2023 (изменено) 10 часов назад, kDelu сказал: В МТ должна соблюдаться уникальность названий пар. Да, вы правы. К сожалению не удалось создать такое-же название пары, как дефолтное, хотя и в другой папке... Загрузка курсов и цен, ошибка, в чем может быть причина? Изменено 29 июля, 2023 пользователем alextron Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 29 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 29 июля, 2023 2 часа назад, alextron сказал: Загрузка курсов и цен, ошибка, в чем может быть причина? Тут не видно причины, лучше нажимать Debug и скрин места в коде, где ошибка. Вероятно нет ключа в поле AlphavantageAPIKey. В документации написано, куда сходить и где его взять. Лучше читать и делать по хэлпу, меньше постов будет. Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 29 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 29 июля, 2023 Цифры понемногу увеличиваются, но процесса не видно... Терминал не запускается Пробовал несколько раз, до конца ни разу не дошел. зависает в разных местах Вручную все тесты проходят. Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 29 июля, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 29 июля, 2023 как изменять масштаб по оси времени, по оси Y ? Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 29 июля, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 29 июля, 2023 1 час назад, alextron сказал: но процесса не видно... Терминал не запускается Сколько ядер и памяти на машине? Может в памяти висит терминал и его видно в менеджере задач? 7 минут назад, alextron сказал: как изменять масштаб по оси времени, по оси Y ? Диаграммы настроены автоматически на диапазон ОТ и ДО по всем включенным на листе Result 1 графикам. Я вижу длинный светлоголубой график рядом с 0. Можно посмотреть в таблице рядов с 30 колонки на том же листе Result 2, какие номера сетов не с 0 значениями идут с 2016 года, а потом их отключить на листе Result 1. Есть еще ручной вариант настройки осей - это обычно как работаете с диаграммами excel. Щелкаете на ось на диаграмме, правый клик, Формат оси - далее верхняя и нижняя граница (скрин). Но таким способом при пересчете придется заново настраивать. Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 1 августа, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 1 августа, 2023 В 28.07.2023 в 22:59, kDelu сказал: Если не получится переименовать, то нужно дорабатывать код. Получится, ли доработать код, для пар/символов закачанных из других источников, в частности Dukascopy? Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 1 августа, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 1 августа, 2023 2 минуты назад, alextron сказал: Получится, ли доработать код Только вставил в первую тему новый релиз, где можно использовать кастомные символы. Если начинать с чистого листа и с первого пункта меню, то действуйте по инструкции. Если хотите переносить содержимое листов в новый файл 1.10.4, то аккуратно копи-паст всех листов (SETs, Result1, Pairs, History, Equity) - переносить только строки без заголовков. Пока нет четких инструкций и описанных шишек как корректно переносить - на свой риск. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 1 августа, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 1 августа, 2023 Пытаюсь сделать расчеты эквити, маржин... выходит ошибка, что не указано плечо. Ссылка на сообщение Поделиться на другие сайты More sharing options...
alextron Опубликовано 1 августа, 2023 Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 1 августа, 2023 В какое место и как загружать котировки инструмента с не дефолтным названием? как можно указать, что для новой пары брать те же значения, что и для дефолтной из сервиса API alphavantage.co Ссылка на сообщение Поделиться на другие сайты More sharing options...
kDelu Опубликовано 1 августа, 2023 Автор Поделиться Скрипт автоматизации тестирования советников ConveyerMT… Опубликовано 1 августа, 2023 В 29.07.2023 в 21:53, kDelu сказал: Сколько ядер и памяти на машине? Ответьте. 38 минут назад, alextron сказал: В какое место и как загружать котировки инструмента с не дефолтным названием? В хэлпе дописал и пометил цветом. Указать на Pairs свое название в специальной колонке. Обновлять котировки не нужно. Запустить расчет Equity после этого и далее по задачам. Перезапускать терминал не нужно. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти