• Information
12+ years
experience
12
products
40
demo versions
3
jobs
0
signals
0
subscribers
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 26): Информер для торговых инструментов
Разрабатываем мультивалютный советник (Часть 26): Информер для торговых инструментов

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

1
Yuriy Bykov
Published article Переходим на MQL5 Algo Forge (Часть 1): Создание основного репозитория
Переходим на MQL5 Algo Forge (Часть 1): Создание основного репозитория

В процессе работы над проектами в MetaEditor разработчики сталкиваются с необходимостью управления версиями кода. Несмотря на планы по переходу на GIT и запуск MQL5 Algo Forge, интеграция еще не завершена. В статье рассматриваются возможные способы повышения удобства работы с текущими инструментами.

1
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 25): Подключаем новую стратегию (II)
Разрабатываем мультивалютный советник (Часть 25): Подключаем новую стратегию (II)

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

1
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 24): Подключаем новую стратегию (I)
Разрабатываем мультивалютный советник (Часть 24): Подключаем новую стратегию (I)

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

2
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 23): Приводим в порядок конвейер этапов автоматической оптимизации проектов (II)
Разрабатываем мультивалютный советник (Часть 23): Приводим в порядок конвейер этапов автоматической оптимизации проектов (II)

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

1
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 22): Начало перехода на горячую замену настроек
Разрабатываем мультивалютный советник (Часть 22): Начало перехода на горячую замену настроек

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

1
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 21): Подготовка к важному эксперименту и оптимизация кода
Разрабатываем мультивалютный советник (Часть 21): Подготовка к важному эксперименту и оптимизация кода

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

2
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 20): Приводим в порядок конвейер этапов автоматической оптимизации проектов (I)
Разрабатываем мультивалютный советник (Часть 20): Приводим в порядок конвейер этапов автоматической оптимизации проектов (I)

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

1
Yuriy Bykov
Published article Разрабатываем мультивалютный советник (Часть 19): Создаём этапы, реализованные на Python
Разрабатываем мультивалютный советник (Часть 19): Создаём этапы, реализованные на Python

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

1
Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 18): Automating group selection considering forward period
Developing a multi-currency Expert Advisor (Part 18): Automating group selection considering forward period

Let's continue to automate the steps we previously performed manually. This time we will return to the automation of the second stage, that is, the selection of the optimal group of single instances of trading strategies, supplementing it with the ability to take into account the results of instances in the forward period.

Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 17): Further preparation for real trading
Developing a multi-currency Expert Advisor (Part 17): Further preparation for real trading

Currently, our EA uses the database to obtain initialization strings for single instances of trading strategies. However, the database is quite large and contains a lot of information that is not needed for the actual EA operation. Let's try to ensure the EA's functionality without a mandatory connection to the database.

Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 16): Impact of different quote histories on test results
Developing a multi-currency Expert Advisor (Part 16): Impact of different quote histories on test results

The EA under development is expected to show good results when trading with different brokers. But for now we have been using quotes from a MetaQuotes demo account to perform tests. Let's see if our EA is ready to work on a trading account with different quotes compared to those used during testing and optimization.

Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 15): Preparing EA for real trading
Developing a multi-currency Expert Advisor (Part 15): Preparing EA for real trading

As we gradually approach to obtaining a ready-made EA, we need to pay attention to issues that seem secondary at the stage of testing a trading strategy, but become important when moving on to real trading.

Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 14): Adaptive volume change in risk manager
Developing a multi-currency Expert Advisor (Part 14): Adaptive volume change in risk manager

The previously developed risk manager contained only basic functionality. Let's try to consider possible ways of its development, allowing us to improve trading results without interfering with the logic of trading strategies.

Yuriy Bykov
Left feedback to customer for job Готов купить торгового робота для МТ5. С доходностью 1%-3% в месяц и выше
Yuriy Bykov
Yuriy Bykov
Сегодня был пройден двухэтапный челлендж в проп-трейдинговой фирме The5%ers. На проп-счёт копировались сделки с сигнала Nargin с уменьшенным вдвое объёмом.
Первый этап требовал достижения прибыли 8% от начального баланса и занял немногим менее месяца.
Второй этап требовал достижения 5%, но из-за менее удачного периода затянулся почти на два месяца.
Теперь ждем активации Funded-аккаунта, которая занимает, по словам техподдержки, 24 - 48 часов
Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 13): Automating the second stage — selection into groups
Developing a multi-currency Expert Advisor (Part 13): Automating the second stage — selection into groups

We have already implemented the first stage of the automated optimization. We perform optimization for different symbols and timeframes according to several criteria and store information about the results of each pass in the database. Now we are going to select the best groups of parameter sets from those found at the first stage.

Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 12): Developing prop trading level risk manager
Developing a multi-currency Expert Advisor (Part 12): Developing prop trading level risk manager

In the EA being developed, we already have a certain mechanism for controlling drawdown. But it is probabilistic in nature, as it is based on the results of testing on historical price data. Therefore, the drawdown can sometimes exceed the maximum expected values (although with a small probability). Let's try to add a mechanism that ensures guaranteed compliance with the specified drawdown level.

Yuriy Bykov
Published article Developing a multi-currency Expert Advisor (Part 11): Automating the optimization (first steps)
Developing a multi-currency Expert Advisor (Part 11): Automating the optimization (first steps)

To get a good EA, we need to select multiple good sets of parameters of trading strategy instances for it. This can be done manually by running optimization on different symbols and then selecting the best results. But it is better to delegate this work to the program and engage in more productive activities.

Yuriy Bykov
Published article 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

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.