Как начать работу с Metatrader 5 - страница 143

 

Разработка мультивалютного эксперта (часть 10): Создание объектов из строки

Разработка мультивалютного эксперта (часть 10): Создание объектов из строки

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

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

Developing a multi-currency Expert Advisor (Part 9): Collecting optimization results for single trading strategy instances
Developing a multi-currency Expert Advisor (Part 9): Collecting optimization results for single trading strategy instances
  • www.mql5.com
Let's outline the main stages of the EA development. One of the first things to be done will be to optimize a single instance of the developed trading strategy. Let's try to collect all the necessary information about the tester passes during the optimization in one place.
 

Разработка мультивалютного эксперта (часть 11): Автоматизация оптимизации (первые шаги)

Разработка мультивалютного эксперта (часть 11): Автоматизация оптимизации (первые шаги)

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

До сих пор строка инициализации создавалась вручную. Теперь, наконец, пришло время приступить к реализации автоматического формирования строки инициализации советника на основе полученных результатов оптимизации. Скорее всего, полностью автоматизированного решения в рамках данной статьи у нас не получится, но, по крайней мере, мы значительно продвинемся в намеченном направлении.

Developing a multi-currency Expert Advisor (Part 10): Creating objects from a string
Developing a multi-currency Expert Advisor (Part 10): Creating objects from a string
  • www.mql5.com
The EA development plan includes several stages with intermediate results being saved in the database. They can only be retrieved from there again as strings or numbers, not objects. So we need a way to recreate the desired objects in the EA from the strings read from the database.
 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Покупка или продажа всех 7 пар

Сергей Голубев, 2024.10.14 16:05

Разработка мультивалютного советника (часть 12): Разработка риск-менеджера торгового уровня

Разработка мультивалютного советника (часть 12): Разработка риск-менеджера торгового уровня

На протяжении всей серии статей мы несколько раз обращались к теме контроля рисков. Было введено понятие нормализованной торговой стратегии, параметры которой обеспечивают достижение уровня просадки в 10 % в течение тестового периода. Однако нормализация экземпляров торговых стратегий, а также групп торговых стратегий таким образом может обеспечить только заданную просадку за исторический период. Мы не можем быть уверены, что заданный уровень просадки будет наблюдаться при запуске теста нормализованной группы стратегий на форвардном периоде или при запуске ее на торговом счете.

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


 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Покупка или продажа всех 7 пар

Сергей Голубев, 2024.11.16 07:31

Разработка мультивалютного советника (часть 13): Автоматизация второго этапа - отбора в группы

Разработка мультивалютного эксперта (часть 13): Автоматизация второго этапа - отбор в группы

Немного отвлекшись на риск-менеджера в прошлой статье, давайте вернемся к основной теме - автоматизации тестирования. В одной из предыдущих статей мы обозначили несколько этапов, которые необходимо пройти при оптимизации и поиске оптимальных параметров конечного советника. Мы уже реализовали первый этап, на котором оптимизировали параметры одного экземпляра торговой стратегии. Его результаты были сохранены в базе данных.

Следующий этап - это подбор хороших групп отдельных экземпляров торговых стратегий, которые при совместной работе позволят улучшить торговые параметры - уменьшить просадку, увеличить линейность роста кривой баланса и так далее. Как выполнить этот этап вручную, мы уже рассматривали в шестой части серии.


 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Покупка или продажа всех 7 пар

Сергей Голубев, 2025.01.11 11:57

Разработка мультивалютного советника (часть 14): Адаптивное изменение объема в риск-менеджере

Разработка мультивалютного эксперта (часть 14): Адаптивное изменение объема в риск-менеджере

В одной из предыдущих статей цикла я затронул тему контроля рисков и разработал класс риск-менеджера, реализующий базовый функционал. Он позволяет установить максимальный дневной уровень убытка и максимальный общий уровень убытка, при достижении которого торговля останавливается и все открытые позиции закрываются. При достижении дневного убытка торговля возобновлялась на следующий день, а при достижении общего убытка - не возобновлялась вообще.

 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Покупка или продажа всех 7 пар

Сергей Голубев, 2025.01.17 07:15

Разработка мультивалютного советника (часть 15): Подготовка советника к реальной торговле

Разработка мультивалютного советника (часть 15): Подготовка советника к реальной торговле

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

 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Покупка или продажа всех 7 пар

Сергей Голубев, 2025.01.31 18:16

Разработка мультивалютного советника (часть 16): Влияние различных историй котировок на результаты тестирования

Разработка мультивалютного эксперта (часть 16): Влияние различных историй котировок на результаты тестирования

В предыдущей статье мы начали подготовку мультивалютного советника к торговле на реальном счете. В рамках подготовки мы добавили поддержку различных названий торговых инструментов, автоматическое завершение торговли при изменении настроек торговых стратегий, а также корректное возобновление работы советника после перезапуска по различным причинам.

 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Покупка или продажа всех 7 пар

Сергей Голубев, 2025.03.14 07:58

Разработка мультивалютного советника (часть 17): Дальнейшая подготовка к реальной торговле

Разработка мультивалютного советника (часть 17): Дальнейшая подготовка к реальной торговле

В одной из предыдущих статей мы уже обращали внимание на доработки советника, необходимые для работы на реальных счетах. До сих пор наши усилия были направлены в основном на получение приемлемых результатов работы советника в тестере стратегий. Реальная торговля требует гораздо большей подготовки.

 
Очень хорошие результаты в Tester с некоторыми .set и .ini файлами! Поздравляю!

 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Покупка или продажа всех 7 пар

Сергей Голубев, 2025.04.15 15:48

Разработка мультивалютного советника (часть 18): Автоматизация выбора группы с учетом форвардного периода

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

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