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

 

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

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

Сергей Голубев, 2024.06.14 12:44

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

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

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


 

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

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

Сергей Голубев, 2024.06.28 07:36

Разработка мультивалютного советника (часть 4): Отложенные виртуальные ордера и сохранение статуса

Разработка мультивалютного эксперта (часть 4): Отложенные виртуальные ордера и сохранение статуса

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

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


 

Создание интерактивного графического интерфейса пользователя на MQL5 (часть 1): Создание панели

Создание интерактивного графического интерфейса пользователя на MQL5 (часть 1): Создание панели

Добро пожаловать в первую часть нашего исчерпывающего руководства по созданию пользовательских панелей графического интерфейса пользователя (GUI) на языке MetaQuotes Language 5 (MQL5)! Как трейдеры и разработчики, мы понимаем, насколько важны эффективные и удобные интерфейсы для наших торговых инструментов. В этой серии статей мы погрузимся в мир MQL5 и узнаем, как создавать мощные панели GUI, которые улучшат ваш торговый опыт.

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

 

Создание интерактивного графического интерфейса пользователя на MQL5 (часть 2): Добавление элементов управления и отзывчивость

Создание интерактивного графического интерфейса пользователя на MQL5 (часть 2): Добавление элементов управления и отзывчивость

В предыдущей статье мы заложили фундамент, собрав графические элементы панели графического интерфейса пользователя MetaQuotes Language 5 (MQL5). Если вы помните, та итерация представляла собой статичную сборку элементов GUI - просто снимок, застывший во времени, лишенный отзывчивости. Она была статичной и непреклонной. Теперь давайте разморозим этот снимок и наполним его жизнью. В этом долгожданном продолжении мы выводим нашу панель на новый уровень.

Creating an Interactive Graphical User Interface in MQL5 (Part 2): Adding Controls and Responsiveness
Creating an Interactive Graphical User Interface in MQL5 (Part 2): Adding Controls and Responsiveness
  • www.mql5.com
Enhancing the MQL5 GUI panel with dynamic features can significantly improve the trading experience for users. By incorporating interactive elements, hover effects, and real-time data updates, the panel becomes a powerful tool for modern traders.
 

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

Как начать работать с MQL5

Сергей Голубев, 2024.07.29 10:21

Введение в MQL5 (часть 8): Руководство для начинающих по построению советников (II)

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

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

 

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

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

Сергей Голубев, 2024.07.31 17:09

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

Разработка мультивалютного эксперта (часть 5): Переменные размеры позиций

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

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


 

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

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

В предыдущей статье мы реализовали возможность выбора варианта стратегии - с постоянным размером позиции и с переменным размером позиции. Это позволило нам ввести нормализацию результатов работы стратегий по максимальной просадке и дало возможность объединять их в группы, для которых максимальная просадка также находилась в заданных пределах. Для демонстрации мы вручную выбрали несколько наиболее привлекательных комбинаций входов из результатов оптимизации одного экземпляра стратегии и попробовали объединить их в одну группу или даже в группу из трех групп по три стратегии. Наилучшие результаты мы получили в последнем случае.
Developing a multi-currency Expert Advisor (Part 6): Automating the selection of an instance group
Developing a multi-currency Expert Advisor (Part 6): Automating the selection of an instance group
  • www.mql5.com
After optimizing the trading strategy, we receive sets of parameters. We can use them to create several instances of trading strategies combined in one EA. Previously, we did this manually. Here we will try to automate this process.
 

Разработка мультивалютного эксперта (часть 7): Выбор группы на основе форвардного периода

В предыдущих статьях я оптимизировал отдельные экземпляры торговых стратегий на одном и том же временном периоде - с 2018 по 2022 год. Это довольно большой период, который, безусловно, включает в себя различные события, влияющие на динамику цен. С другой стороны, он не слишком велик, а время одного прогона остается достаточно малым - в пределах нескольких десятков секунд. Выбранный период расположен таким образом, что до текущего момента времени остается еще больше года. Это позволяет увидеть, как поведут себя экземпляры стратегий на том отрезке истории, который не использовался при оптимизации их параметров.
Developing a multi-currency Expert Advisor (Part 7): Selecting a group based on forward period
Developing a multi-currency Expert Advisor (Part 7): Selecting a group based on forward period
  • www.mql5.com
Previously, we evaluated the selection of a group of trading strategy instances, with the aim of improving the results of their joint operation, only on the same time period, in which the optimization of individual instances was carried out. Let's see what happens in the forward period.
 

Разработка мультивалютного эксперта (часть 8): Нагрузочное тестирование и работа с новым баром

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

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

Developing a multi-currency Expert Advisor (Part 8): Load testing and handling a new bar
Developing a multi-currency Expert Advisor (Part 8): Load testing and handling a new bar
  • www.mql5.com
As we progressed, we used more and more simultaneously running instances of trading strategies in one EA. Let's try to figure out how many instances we can get to before we hit resource limitations.
 

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

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

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

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

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.