Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 6): Автоматизируем подбор группы экземпляров"
Спасибо! :)
Отличная статья и система :)
- К каждому из них применим мин-макс масштабирование, приводящее к диапазону [0; 1]. Получим дополнительные столбцы с суффиксом '_s',
Юрий, а как Вы это сделали? Я в exel искал и ничего подобного там не увидел в функциях. Вы для этого свою формулу писали или как это делали? Гугл на запрос мин-макс маштабироване в экселе тоже ничего нормального не дал...
Отличная статья и система :)
- К каждому из них применим мин-макс масштабирование, приводящее к диапазону [0; 1]. Получим дополнительные столбцы с суффиксом '_s',
Юрий, а как Вы это сделали? Я в exel искал и ничего подобного там не увидел в функциях.
Виктор, спасибо за отзыв!
Специальной функции в Excel я тоже не знаю, делаю примерно так:

Виктор, спасибо за отзыв!
Специальной функции в Excel я тоже не знаю, делаю примерно так:
Спасибо Юрий.
А вот у вас написано про добавление колонок Profit, Expected Payoff, Profit Factor, Recovery Factor, Sharpe Ratio, Equity DD %, Trades, с _s. А их в каком порядке добавлять чтобы работало? Каждый столбик после оригинального столбика или можно все в конце таблицы добавить? Могли бы Вы сделать скриншот названий колонок как у Вы делаете со своей таблицы уже отредактированной, или просто прикрепите файл небольшой уже отредактированный для образца.
Ещё когда Вы оптимизируете советник, ставите по комплексному критерию или просто баланс макс? Я пробовал у меня что-то не очень большое количество трейдов в проходах находит, порядка 100-180 сделок за 5 лет.
И подскажите ещё пожалуйста, а если я хотел бы чтобы ваш советник сигнал считывал и открывал сделки на открытии нового бара на заданном таймфрейме, а вот сопровождал сделки каждый тик как сейчас работает. Куда мне добавить функцию проверки наступления нового бара, чтобы работало вот так?
Порядок добавления имеет значения только с точки зрения, как это сделать быстрее. Мне было быстрее эти столбцы добавить в конце таблицы (столбцы AC:AI), потом по ним посчитать отклонения еще в нескольких новых столбцах (AJ:AP), затем в AQ просуммировать AJ:AP, потом в AR находим максимальный коэффициент масштабирования Scale, и в AS вычисляем отношение Res = AR/AQ. Чтобы по нему отсортировать, надо скопировать из AS в новый столбец AT только значения. Прикрепил пример.
Оптимизацию начинаю с комплексного критерия, а затем по всем остальным. Количество сделок может получаться разным, в том числе и относительно небольшим. Это зависит от размеров уровней SL и TP.
В следующей статье планирую как раз рассказать в том числе и о функции проверки нового бара, и о том, как ее можно там применить.
Порядок добавления имеет значения только с точки зрения, как это сделать быстрее. Мне было быстрее эти столбцы добавить в конце таблицы (столбцы AC:AI), потом по ним посчитать отклонения еще в нескольких новых столбцах (AJ:AP), затем в AQ просуммировать AJ:AP, потом в AR находим максимальный коэффициент масштабирования Scale, и в AS вычисляем отношение Res = AR/AQ. Чтобы по нему отсортировать, надо скопировать из AS в новый столбец AT только значения. Прикрепил пример.
Оптимизацию начинаю с комплексного критерия, а затем по всем остальным. Количество сделок может получаться разным, в том числе и относительно небольшим. Это зависит от размеров уровней SL и TP.
В следующей статье планирую как раз рассказать в том числе и о функции проверки нового бара, и о том, как ее можно там применить.
Юрий спасибо за пример таблицы, Я как понимаю это из последней статьи (7), она тоже пригодится, но я у Вас просил пример таблицы из этой статьи (6), которую Вы подаёте на вход советника OptGroupClusterExpert.mq5. Как я понимаю эта таблица у Вас называется Params_SV_EURGBP_H1-with_cluster.csv и Params_SV_EURGBP_H1.csv . Вот их у Вас я и попросил. Прикрепите пожалуйста эти таблицы как пример.
По поводу следующей статьи круто! Будем ждать:) Если можно было бы неплохо добавить ещё в стратегию возможность временного фильтра для каждой стратегии (указывать чесы начала и конца торгового периода) и какие нибудь фильтры на индикаторах (2-3 штуки). тогда я думаю получится классный советник для торговли всего рынка целиком :)
Виктор, да, действительно, забежал немного вперед с предыдущим примером таблицы.
Прикрепил пример для Params_SV_EURGBP_H1.xlsx, так как в CSV-файле уже не будет формул. Вам надо будет его сохранить в CSV, и если Excel у вас использует в качестве разделителя символ ';', то надо во всём CSV-файле сделать замену ';' на ','. Файл Params_SV_EURGBP_H1-with_cluster.csv получается уже автоматически с использованием приведённого в статье кода на Python из Params_SV_EURGBP_H1.csv.
По поводу добавления временных фильтров и дополнительных индикаторов: используемая архитектура это позволяет - можно создавать новые классы торговых стратегий (наследников CVirtualStrategy) с любыми желаемыми фильтрами и индикаторами. Для себя использовать временные фильтры не планирую, так как ни разу не получалось улучшить торговые результаты путём введения временных ограничений. Использования многих индикаторов в одной стратегии тоже в планах нет, так как сильная фильтрация входных сигналов для меня менее важна. Её можно получить опосредованно через объединение нескольких экземпляров стратегий, использующих по одному разному индикатору, например.
Опубликована новая статья Разработка мультивалютных сделок советника (часть 6): автоматический выбор групп экземпляров:
Автор Юрий Быков
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Разрабатываем мультивалютный советник (Часть 6): Автоматизируем подбор группы экземпляров:
После оптимизации торговой стратегии мы получаем наборы параметров, на основе которых можно создать несколько экземпляров торговых стратегий, объединённых в одном советнике. Раньше мы делали это вручную, а теперь попробуем автоматизировать этот процесс.
В предыдущей статье мы сделали важный шаг — реализовали возможность выбора варианта работы стратегий: с постоянным размером позиций и с переменным размером позиций. Это позволило нам ввести нормировку результатов работы стратегий по максимальной достигаемой просадке и обеспечило возможность их объединения в группы, для которых максимальная просадка тоже находилась в заданных пределах. Для демонстрации мы вручную отобрали из результатов оптимизации одиночного экземпляра стратегии несколько самых привлекательных комбинаций входных параметров и попробовали их объединить в одну группу или даже в группу из трёх групп по три стратегии. В последнем случае мы получили наилучшие результаты.
Однако если встаёт вопрос об увеличении количества стратегий в группах и количества разных объединяемых групп, то объём рутинной ручной работы сильно возрастает.
Во-первых, на каждом символе надо провести оптимизацию одиночного экземпляра стратегии с разными критериями оптимизации. Причём для каждого символа может понадобиться проводить отдельную оптимизацию для разных таймфреймов. А ещё для конкретно нашей модельной стратегии можно выполнять отдельную оптимизацию по видам открываемых ордеров (стоповые, лимитные или рыночные позиций).
Во-вторых, из полученных в результате оптимизаций наборов параметров, которых получается около 20 - 50 тысяч, необходимо выбрать небольшое количество (10 - 20) самых лучших. Однако лучшими они должны быть не только сами по себе, но и при совместной работе в группе. Процесс отбора и добавления экземпляров стратегий по одному тоже требует времени и терпения.
В-третьих, полученные группы надо в свою очередь объединять в вышестоящие группы, проводя нормировку. Если это делать вручную, то можно себе позволить только два или три уровня. Большее количество уровней группировки представляется уже слишком трудоёмким.
Автор: Yuriy Bykov