![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Алгоритмы оптимизации поиска лучших значений параметров применяются в разных областях науки и технологии.
В трейдинге мы постоянно оптимизируем параметры торговой стратегии. Это важная и неотъемлимая часть процесса настройки алгоритма советника.
И так, - создавая новую систему, разработчикам требуется учесть множество факторов влияющих на производительность и долгосрочность функционирования системы. Нам необходимо создать гармонию механизма внутри и лучшим образом приспособить снаружи.
Мы должны учесть множество внутренних и внешних факторов влияющих на процесс "жизнедеятельности" системы.
Приведу следующий пример:
Y - значение свойства системы.
х - значение внешнего фактора.
номера 1,2,3... (возле х) - Нумерация факторов.
Давайте представим зависимость свойства системы от внешнего фактора математическим уравнением: Y = x1^2; ( Y равно х1 в квадрате), где Y - свойство нашей системы (любое - хоть кол-во Кб кода), а х1 - внешний фактор, влияющий на значение этого свойства (например кол-во написанных строк кода).
Если меняется значение внешнего фактора (чем больше строк кода), то меняется значение свойства нашей системы (тем больше килобайт весит система). В этом примере, ясна и понятна зависимость свойства системы от внешнего фактора.
Представим, что внешних факторов два: х1 и х2 (где х2 - подключаемый файл с ресурсами).
Теперь, произвольно, зависимость выразим так: Y = x1^2 + x2; Значение первого фактора возводим в квадрат, и прибавляем к нему значение второго фактора.
Результат будет конечным значением свойства нашей системы.
Мы можем обратится к аналитической геометрии и визуализировать зависимость на графе.
Это очень просто сделать:
Представим уравнение зависимости, - аналитической функцией: f(y) = x1^2 + x2;
Подставляя различные значения в переменные x1 и х2, мы получим различные значения Y. Это будут координаты на графе. По этим координатам отметим точки. Потом проведем линию через точки и получим кривую зависимости значения свойства системы от значений внешних факторов в визуализированном виде!
Теперь представим, что внешних факторов определяющих значение свойства системы очень много, - допустим 500.
Допустим, мы рассчитали их зависимость между собой и значением свойства нашей системы, и представили ее уравнением:
f(y) = x1^2 + x2 + (x3^3 - 8) + (x4 - 12) + (x5*4) + ... (xn + 1);
Значения всех 500-от факторов нам известны. Мы наблюдаем за ними и их значения подставляем в нашу формулу. Решаем уравнение, получаем координаты точек на графе, ставим эти точки и через них проводим кривую линию. Эта будет кривая линия зависимости значения свойства нашей системы от меняющихся значений 500-ста внешних факторов.
На кривой линии зависимости на графе, мы выбрали участок значений свойства нашей системы, при которых система работает стабильно и дает прекрасный результат.
Допустим, лучшая производитьность системы как раз на пике кривой линии. Там самые лучшие значения для нашей системы. Визуально мы видим, какой результат нам нужен, знаем какое лучшее значение должно иметь свойство нашей систмемы. Но мы не уловили какие именно значения 500-ста факторов привели к лучшему значению свойства нашей системы! Нам нужно вычислить каждое значение, каждого конкретного фактора, которые приводят к лучшему значению свойства системы.
Нам нужно искать значения факторов. Их 500-от. Это много.
Нужно разработать алгоритм поиска значений факторов, который приведет к высшей точке кривой зависимости на графе, и сделает это быстрее, чем полным перебором всех значений.
Это суть нашей задачи.
Это тематика нашего чемпионата.
Все технические детали чемпионата обсуждаются всеми участниками, а решения по важным вопросам будут приниматься голосованием участников.
Вежливое общение приветствуется.
К участию приглашены все.
Спасибо за внимание.