Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 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) с любыми желаемыми фильтрами и индикаторами. Для себя использовать временные фильтры не планирую, так как ни разу не получалось улучшить торговые результаты путём введения временных ограничений. Использования многих индикаторов в одной стратегии тоже в планах нет, так как сильная фильтрация входных сигналов для меня менее важна. Её можно получить опосредованно через объединение нескольких экземпляров стратегий, использующих по одному разному индикатору, например.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Разрабатываем мультивалютный советник (Часть 6): Автоматизируем подбор группы экземпляров:
После оптимизации торговой стратегии мы получаем наборы параметров, на основе которых можно создать несколько экземпляров торговых стратегий, объединённых в одном советнике. Раньше мы делали это вручную, а теперь попробуем автоматизировать этот процесс.
В предыдущей статье мы сделали важный шаг — реализовали возможность выбора варианта работы стратегий: с постоянным размером позиций и с переменным размером позиций. Это позволило нам ввести нормировку результатов работы стратегий по максимальной достигаемой просадке и обеспечило возможность их объединения в группы, для которых максимальная просадка тоже находилась в заданных пределах. Для демонстрации мы вручную отобрали из результатов оптимизации одиночного экземпляра стратегии несколько самых привлекательных комбинаций входных параметров и попробовали их объединить в одну группу или даже в группу из трёх групп по три стратегии. В последнем случае мы получили наилучшие результаты.
Однако если встаёт вопрос об увеличении количества стратегий в группах и количества разных объединяемых групп, то объём рутинной ручной работы сильно возрастает.
Во-первых, на каждом символе надо провести оптимизацию одиночного экземпляра стратегии с разными критериями оптимизации. Причём для каждого символа может понадобиться проводить отдельную оптимизацию для разных таймфреймов. А ещё для конкретно нашей модельной стратегии можно выполнять отдельную оптимизацию по видам открываемых ордеров (стоповые, лимитные или рыночные позиций).
Во-вторых, из полученных в результате оптимизаций наборов параметров, которых получается около 20 - 50 тысяч, необходимо выбрать небольшое количество (10 - 20) самых лучших. Однако лучшими они должны быть не только сами по себе, но и при совместной работе в группе. Процесс отбора и добавления экземпляров стратегий по одному тоже требует времени и терпения.
В-третьих, полученные группы надо в свою очередь объединять в вышестоящие группы, проводя нормировку. Если это делать вручную, то можно себе позволить только два или три уровня. Большее количество уровней группировки представляется уже слишком трудоёмким.
Автор: Yuriy Bykov