Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 11): Начало автоматизации процесса оптимизации"

 

Опубликована статья Разрабатываем мультивалютный советник (Часть 11): Начало автоматизации процесса оптимизации:

Для получения хорошего советника нам надо подобрать для него множество хороших наборов параметров экземпляров торговых стратегий. Это можно делать вручную, запуская оптимизацию на разных символах, и затем отбирая лучшие результаты. Но лучше поручить эту работу программе и заняться более продуктивной деятельностью.

В общих чертах наши пожелания можно сформулировать следующим образом: мы хотим получить советник, который запускается в терминале и выполняет оптимизацию советника с одним экземпляром торговой стратегии на нескольких символах и таймфреймах. Пусть это будут символы EURGBP, EURUSD, GBPUSD и таймфреймы H1, M30, M15. Нам нужно иметь возможность выбирать из сохраненных в базе данных результатов каждого прохода оптимизации те, которые будут относиться к конкретному символу и таймфрейму (а в дальнейшим и к каким-то еще комбинациям параметров тестирования).

Из каждой группы результатов для одной комбинации символа и таймфрейма мы будем выбирать несколько самых лучших по разным критериям. Все выбранные экземпляры будем помещать в одну (пока что в одну) группу экземпляров. Затем необходимо определить множитель для группы. Этим в дальнейшем будет заниматься отдельный советник, а сейчас мы можем эту операцию проделать пока ещё вручную.

На основе выбранной группы и множителя формируем строку инициализации, которая будет использоваться в итоговом советнике. 


Автор: Yuriy Bykov

 
Всего четыре функции автоматизации Тестера (и только одна из них с входным параметром) и все работает.
 

Да, сам не ожидал, что всё так просто получится. Сначала изучал Validate, думал, что придётся что-то своё писать на его основе, но потом понял, что можно обойтись более простой реализацией.

Еще раз спасибо за отличную библиотеку!

 

Здравствуйте, Юрий,


Я пытаюсь повторить часть 11. Я создал SQL с помощью CleanDatabase, которая создала его в User\Roaming\AppData... Однако, когда я попытался использовать оптимизатор, я получил ошибку: IPC-сервер не запущен. Можете ли вы, или кто-либо другой, дать простую ссылку на его запуск?

Кроме того, я использую переключатель /portable на Terminal и MetaEditor со всеми моими установками MQL, расположенными в C:\"Forex Program Files", вызовет ли это какие-либо проблемы?


Во время разработки MQ4 и тестирования советников я создал каталоги для всех пар, которые я хотел протестировать. Я использовал команду JOIN для перенаправления соответствующих подкаталогов каждого тестового каталога в мой общий каталог для запуска программ и получения данных о котировках, чтобы гарантировать, что все отдельные тесты используют одни и те же данные и исполняемый файл. Кроме того, каждый тест писал CVS-файл для каждого запуска, и я использовал версию функций File для чтения CVS-файлов из каждого каталога Files и объединения их в общий CVS-файл. Если это представляет для вас интерес в использовании CVS-файлов вместо SQL-доступа, дайте мне знать.


А пока я собираюсь скачать часть 20 и разобраться с примерами.


CapeCoddah

fxsaber
fxsaber
  • 2024.07.01
  • www.mql5.com
Trader's profile