Результаты оптимизации - разные

 

При оптимизации советника неожиданно столкнулся с такой проблемой. Оптимизировал По ценам открытия, спред фиксированный. Получил Результаты оптимизации. Записал номер прохода с максимальной прибылью.

И решил после этого нажать снова кнопку Старт, ожидая, что получу те же результаты. (По ценам открытия оптимизация проводится быстро).

Но результаты меня удивили: количество проходов было совсем другое, максимальная прибыль - другая, номер прохода с максимальной прибылью – другой.

Тогда стал нажимать кнопку Старт целенаправленно, записывая Результаты оптимизации. Все они были разными.

Подумал, что на тестер стратегий (mt4) может влиять интернет. Тогда стал оптимизировать советник с теми же параметрами в другом тестере-оффлайн. В нем котировки были другие, сторонние. Снова стал нажимать целенаправленно кнопку Старт. Но результаты те же: количество проходов - разное, максимальная прибыль - разная, номер прохода с максимальной прибылью – разный.

Ну, думаю, советник какой-то особенный. Взял другой, но результаты – те же.

Встал извечный вопрос, ЧТО ДЕЛАТЬ?

Файлы:
EA_Better.mq4  17 kb
 
Livn:

При оптимизации советника неожиданно столкнулся с такой проблемой. Оптимизировал По ценам открытия, спред фиксированный. Получил Результаты оптимизации. Записал номер прохода с максимальной прибылью.

И решил после этого нажать снова кнопку Старт, ожидая, что получу те же результаты. (По ценам открытия оптимизация проводится быстро).

Но результаты меня удивили: количество проходов было совсем другое, максимальная прибыль - другая, номер прохода с максимальной прибылью – другой.

Тогда стал нажимать кнопку Старт целенаправленно, записывая Результаты оптимизации. Все они были разными.

Подумал, что на тестер стратегий (mt4) может влиять интернет. Тогда стал оптимизировать советник с теми же параметрами в другом тестере-оффлайн. В нем котировки были другие, сторонние. Снова стал нажимать целенаправленно кнопку Старт. Но результаты те же: количество проходов - разное, максимальная прибыль - разная, номер прохода с максимальной прибылью – разный.

Ну, думаю, советник какой-то особенный. Взял другой, но результаты – те же.

Встал извечный вопрос, ЧТО ДЕЛАТЬ?

Тестирование по ценам открытия можно только если у вас советник явно контролирует открытие баров.  В этом режиме, один тик равен одному бару.

 
Livn:

При оптимизации советника неожиданно столкнулся с такой проблемой. Оптимизировал По ценам открытия, спред фиксированный. Получил Результаты оптимизации. Записал номер прохода с максимальной прибылью.

И решил после этого нажать снова кнопку Старт, ожидая, что получу те же результаты. (По ценам открытия оптимизация проводится быстро).

Но результаты меня удивили: количество проходов было совсем другое, максимальная прибыль - другая, номер прохода с максимальной прибылью – другой.

Тогда стал нажимать кнопку Старт целенаправленно, записывая Результаты оптимизации. Все они были разными.

Подумал, что на тестер стратегий (mt4) может влиять интернет. Тогда стал оптимизировать советник с теми же параметрами в другом тестере-оффлайн. В нем котировки были другие, сторонние. Снова стал нажимать целенаправленно кнопку Старт. Но результаты те же: количество проходов - разное, максимальная прибыль - разная, номер прохода с максимальной прибылью – разный.

Ну, думаю, советник какой-то особенный. Взял другой, но результаты – те же.

Встал извечный вопрос, ЧТО ДЕЛАТЬ?

Это особенности генетики:

Если мало параметров (и проходов в оптимизации), можно её выключить, тогда будет совпадать, если спред фиксированный, а не "текущий" установлен.

Если при выключенной генетике проходов слишком много получается, то придётся использовать генетику с её особенностями.

Подробнее по генетике статьи есть на mql5.com:

https://www.mql5.com/ru/search#!keyword=%D0%B3%D0%B5%D0%BD%D0%B5%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9%20%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC&module=mql5_module_articles

 

Так работает Генетический алгоритм, это нормально. Он "пробует" различные вариации параметров (исходя из рандома), а дальше, по результатам смотрит куда ему эволюционировать, и туда продолжает проверять параметры. Мы с похожей задачей сталкивались, года 1,5 назад, и расчетами и тестами пришли к выводу, что наиболее полный разброс результатов оптимизации можно получить делая 3 оптимизации с генетическим алгоритмом (с одинаковыми параметрами), если делать 4 и более, то вероятность появление новых результатов мала.

Почему так работает генетика (простой пример):

вы в офисе, состоящем из 100 кабинет, вам нужно найти 10 карандашей и выбрать какие из низ пишут лучше. Вы решаете зайти в офис 1, 40, 74 и 8. Находите 2 карандаша в кабинете 40 и решаете дальше проверять около 40 кабинета, и находите нужно вам количество. И решаете, например, что кабинеты с карандашами 38, 40, 41. А другой человек, начинает проверку абсолютно с других кабинетов и в итоге у вас результаты разные, но вы оба нашли одинаковое число карандашей.

 
Mikhail Mitin:

Так работает Генетический алгоритм, это нормально. Он "пробует" различные вариации параметров (исходя из рандома), а дальше, по результатам смотрит куда ему эволюционировать, и туда продолжает проверять параметры. Мы с похожей задачей сталкивались, года 1,5 назад, и расчетами и тестами пришли к выводу, что наиболее полный разброс результатов оптимизации можно получить делая 3 оптимизации с генетическим алгоритмом (с одинаковыми параметрами), если делать 4 и более, то вероятность появление новых результатов мала.

Почему так работает генетика (простой пример):

вы в офисе, состоящем из 100 кабинет, вам нужно найти 10 карандашей и выбрать какие из низ пишут лучше. Вы решаете зайти в офис 1, 40, 74 и 8. Находите 2 карандаша в кабинете 40 и решаете дальше проверять около 40 кабинета, и находите нужно вам количество. И решаете, например, что кабинеты с карандашами 38, 40, 41. А другой человек, начинает проверку абсолютно с других кабинетов и в итоге у вас результаты разные, но вы оба нашли одинаковое число карандашей.

Спасибо большое за ответ! Все очень доходчиво.

Получается, что в каждой из 3-х оптимизаций нужно выбрать для форвард-теста лучший проход. И затем из 3-х полученных проходов выбрать наилучший?

Для сведения. Когда я жал кнопку Старт, записал данные 10-ти оптимизаций: кол-во проходов колеблется от 3315 до 6016, максимальная прибыль от 3343,81 долл. до 4363,33 долл. Файл прилагаю.

Файлы:
Причина обращения: