Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 2): Переход к виртуальным позициям торговых стратегий" - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не факт что на рынке усложнение модели сработает лучше чем корзина из простых тс
Можно сделать не bagging (корзину) стратегий, а boosting. Это когда оптится сначала одна стратегия, потом ее сигналы подставляются как параметр для второй стратегии, оптится вторая, и так далее.
Мне кажется, что реализация выделенного является весьма нетривиальной задачей. Обычно параметры стратегии задаются при старте, а сигналы на открытие/закрытие определяются по некоторому алгоритму уже в процессе работы стратегии. Если мы в каком-то унифицированном виде будем сохранять историю открытий, то ее потом всю придется подавать на вход второй стратегии... Так получается? Если же подать эту информацию в виде алгоритма (функции) и ее фиксированных параметров, то не получится ли, что мы пришли через boosting к тому же bagging-у, только с чёрного хода?
https://t.me/fxsaberDiscussion/3877
Огромное спасибо, прочитал с интересом. Хочу сделать как раз что-то подобное, только с большей автоматизацией, для которой планирую нещадно ввести в эксплуатацию ваши библиотеки по работе с *.opt и *.tst файлами тестера.
Мне кажется, что реализация выделенного является весьма нетривиальной задачей. Обычно параметры стратегии задаются при старте, а сигналы на открытие/закрытие определяются по некоторому алгоритму уже в процессе работы стратегии. Если мы в каком-то унифицированном виде будем сохранять историю открытий, то ее потом всю придется подавать на вход второй стратегии... Так получается? Если же подать эту информацию в виде алгоритма (функции) и ее фиксированных параметров, то не получится ли, что мы пришли через boosting к тому же bagging-у, только с чёрного хода?
Не задумывался как сделать это через оптимизатор. Нет, там должно получаться, что каждая следующая стратегия будет улучшать предыдущую, то есть строиться поверх нее. Как конкретно это представить - дело наживное. Можно просто посмотреть в инете как работают boosted trees, на их основе вылепить. Там может быть много нюансов, да. Но сам делать не буду, поскольку это все уже есть в алгоритмах МО. И это не панацея, но может быть получше портфеля ТС по своим свойствам.
Не задумывался как сделать это через оптимизатор.
Это рутина, которую можно полностью автоматизировать через подключение соответствующего mqh к mq5.
Алгоритм такой.
Так можно намешать чего угодно. Очевидно, что даже при полном переборе конечный результат будет зависеть от того, в какой последовательности запускаются ТС.
Также понятно, что даже на СБ с каждым проходом будет улучшение показателей, но это будет подгонка.
Спасибо большое, посмотрел код. Буду рассматривать передачу входных параметров позже. Если не получится взять полностью такой подход, то некоторые моменты, скорее всего, очень пригодятся.
Текущие результаты своей работы с инпутами снова (в приложении) применил к коду из данной статьи.
Пример того, каким стал SimpleVolumesExpertSingle.mq5.
Удалось добиться единоразового прописывания в коде входных (SimpleVolumesStrategyInput.mqh).
Текущие результаты своей работы с инпутами снова (в приложении) применил к коду из данной статьи.
Пример того, каким стал SimpleVolumesExpertSingle.mq5.
Удалось добиться единоразового прописывания в коде входных (SimpleVolumesStrategyInput.mqh).
Это мне показалось как-то заметно проще чем предыдущий вариант. Хотя, может, просто когда смотришь на чужой код в очередной раз, то он с каждым разом становится всё понятнее и проще. Спасибо большое! В процессе изучения возник вопрос, нельзя ли код, который идет после "// Copy-Paste update from here:" разместить во включаемом файле и подключать вместо вставки? Сейчас просто поэкспериментировать неудобно, поэтому решил спросить.
В третьей статье до входных параметров очередь еще не дошла :(. Но дойдет обязательно.
В процессе изучения возник вопрос, нельзя ли код, который идет после "// Copy-Paste update from here:" разместить во включаемом файле и подключать вместо вставки? Сейчас просто поэкспериментировать неудобно, поэтому решил спросить.
К сожалению, нельзя, т.к. #include одного и того же файла происходит только один раз - первая встреча. Дальше игнорируется.
Это одна из причин, почему здесь пришлось делать полностью идентичный файл с другим названием.
Но в целом Copy-Paste вариант - пара нажатий. Понимать тот код не требуется.
В третьей статье до входных параметров очередь еще не дошла :(. Но дойдет обязательно.
Ваша архитектура несколько отличается от моей, поэтому не предусматривал в INPUT_STRUCT многое из того, что пригодилось бы в данном проекте.
Хорошо, что не стали публиковать, т.к. снова переделал - на самый лаконичный и удобный вариант (похоже, окончательный).
Добавил group, string-инпуты и кое-что по мелочи для удобства на будущее.
Куски кода применения для демонстрации, как используется.
Хорошо, что не стали публиковать, т.к. снова переделал - на самый лаконичный и удобный вариант (похоже, окончательный).
Да, очень знакомая ситуация. Вроде бы всё есть, а потом переделываешь - и становится ещё лучше. Думаю, что это тоже не окончательный вариант, поскольку вы ориентировались на те сценарии использования в параметров в коде, которые были уже опубликованы. Когда дойдет до сборки параметров в наборы, а тем более до автоматической сборки в наборы, то, скорее всего, тоже обнаружится, что можно улучшить/упростить.
Спасибо!