Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Простой пример. Алгоритм оптимизации висит где то на чарте. И запущена оптимизация советника в штатном тестере путем полного перебора. Так можно использовать свой алгоритм оптимизации вместо штатного.
Другой пример. Советник работает на чарте, торгует. Скидывает результаты торговли через какое то время в алгоритм (может быть внутри советника или снаружи. ризницы нет) вместе со своими параметрами а назад получает новые параметры и потом продолжает торговать (в твоём случае потребовалось бы запускать прогон по истории, а в моём - можно оптится "вживую").
И т.д. То есть в этих примерах алгоритм полностью отвязан от задачи.
Примеры привел умышленно применительно к трейдингу. Мыж трейдеры.
Что-то вообще запредельное.
Оптимизация советника уже запущена в тестере, а причем тут свой алгоритм оптимизации?
Второй случай немного понятней. Да, если обеспечить одиночные независимые вызовы, то можно между делом по разу вызывать. А можно отдельным процессом все сразу. Понятно, но это же усложнение алгоритма и уход от целей чемпионата. Цель чемпионата - алгоритм оптимизации, а не его применение. Тут и так сколько народа прошло, кому было непонятно, а тут еще такое усложнение.
в общем, примерно так, и конечно будет счетчик учета затраченного времени. набросок:
1. Что-то вообще запредельное. Оптимизация советника уже запущена в тестере, а причем тут свой алгоритм оптимизации?
2. Второй случай немного понятней. Да, если обеспечить одиночные независимые вызовы, то можно между делом по разу вызывать. А можно отдельным процессом все сразу. Понятно, но это же усложнение алгоритма и уход от целей чемпионата. Цель чемпионата - алгоритм оптимизации, а не его применение. Тут и так сколько народа прошло, кому было непонятно, а тут еще такое усложнение.
1. Ничего запредельного, жизненные ситуации. Штатный тестер делает прогоны один за другим (перебирается один параметр - счетчик) а мы контролируем оптимизацию всех параметров и в неограниченном количестве.
2. Решили же использовать 2 варианта работы с ФФ. Так что всё хорошо, проблем никаких нет, кто как хочет, так и будет использовать оптимизацию.
Участники вольны выбрать с каким тестовым скриптом работать, первым или вторым.
В этом коде не разовый вызов, а как бы основная часть алгоритма вынесена наружу, притом с некоторым навязыванием части алгоритма участнику. По изначальным условиям, участник имеет право скрыть весь алгоритм.
Где ж там навязывание? Спрашивается у алгоритма, сколько раз и чего считать, алгоритм участника сам решает такие вещи. Алгоритмы ведь могут сильно отличаться по архитектуре от того же ГА, а пример позволяет использовать алго на любом принципе работы.
Я там показал сервисные функции - они могут быть пустышками если не нужны участнику.
Где ж там навязывание? Спрашивается у алгоритма, сколько раз и чего считать, алгоритм участника сам решает такие вещи. Алгоритмы ведь могут сильно отличаться по архитектуре от того же ГА, а пример позволяет использовать алго на любом принципе работы.
Я там показал сервисные функции - они могут быть пустышками если не нужны участнику.
Еще передавать в функцию участника допустимое количество вызовов фф, чтобы можно было распределить количество эпох и количество особей.
Например, алгоритму сказали, что максимум можно 100 запусков ФФ.. Ага! - подумал он (алгоритм), всех обхитрю и назову музыку за 50 нот вызову ФФ только 50 раз. :)
Нет, пусть считает сколько ему нужно. А мы уже рассудим, когда его остановить. Ведь количество запусков ФФ будет оцениваться как показатель качества работы.
Например, алгоритму сказали, что максимум можно 100 запусков ФФ.. Ага! - подумал он (алгоритм), всех обхитрю и назову музыку за 50 нот вызову ФФ только 50 раз. :)
Нет, пусть считает сколько ему нужно. А мы уже рассудим, когда его остановить. Ведь количество запусков ФФ будет оцениваться как показатель качества работы.
Какой смысл так хитрить и вызывать меньше раз? Меньше можно, больше нельзя. В чем проблема?
Функция фф считает вызовы. Если больше допустимого - дисквалификация.
Примерно такой вот шаблончик библиотеки участника:
Какой смысл так хитрить и вызывать меньше раз? Меньше можно, больше нельзя. В чем проблема?
Функция фф считает вызовы. Если больше допустимого - дисквалификация.
Меньше запусков ФФ - лучше, в этом и соль. В этом можно схитрить.
Не нужно ограничить алгоритм, пусть себе считает. Либо он сам решит что нужно остановится, либо его остановят принудительно. Сколько запусков потолок - алгоритму знать не положено Никто не будет знать потолок. Дисквалификаций никаких не будет. Как смог алгоритм, так и будет решена задача.
Единственный повод дисквалификации - попытка сохранять результаты и использовать их при последующих запусках проверочного скрипта.