Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вот кстати пример задачи с текстом это и демонстрирует - изменение параметра не даёт никакого изменения ФФ. Но кому это интересно? - по крайней мере не MQ.
В советниках (по крайней мере торговых советниках для рынка) не бывает гладких ФФ, любое изменение параметра либо не даёт никакого изменения ФФ либо скачкообразно её меняет. Это просто и логично вытекает из за дискретности рыночной информации и дискретности торговой активности.
2. Можно и наверное нужно бы сделать. Но сложно в реализации объективного теста (обязательно обвинят в мухлеже). Для этого понадобится написать два эксперта, один для тестера МТ, другой для кастомного тестера, после этого нужно будет добится идентичных результатов в одиночном тесте в обоих тестерах. Только после этого можно будет приступать к тетсированию оптимизатора. Есть множество нерешённых проблем до сих пор, например в штатном оптимизаторе не удаляется хендл индикатора после каждого прогона оптимизатора, а это было бы необходимо для сравнения кастомным оптимизатором, так уже через несколько секунд оптимизатор МТ наглухо подвешивает операционную систему из за моментального переполнения оперативной памяти, даже не надейтесь, что Вам хватит 8, 16, 32 Гига, не хватит! Вот когда будут решены подобные проблемы висящие годами, тогда можно говорить по Вашему вопросу.
На знал, что есть такая проблема в пятерке - в четверке она не наблюдается - память там чиститься нормально, но есть сложность с памятью при работе со скриптом.
Вот кстати пример задачи с текстом это и демонстрирует - изменение параметра не даёт никакого изменения ФФ. Но кому это интересно? - по крайней мере не MQ.
В советниках (по крайней мере торговых советниках для рынка) не бывает гладких ФФ, любое изменение параметра либо не даёт никакого изменения ФФ либо скачкообразно её меняет. Это просто и логично вытекает из за дискретности рыночной информации и дискретности торговой активности.
В том то и дело, что хороший алгоритма должен классифицировать параметры, либо с помощью пользователя, либо сам фиксируя влияние параметра на поведение советника. Простым примером служит классификация по таким признакам:
- Влияет на вход в позицию
- Влияет на выход из позиции
- Влияет на стоп лосс
- Влияет на тейк профит
Уже по этой ранжировке можно оценить, какие параметры в каком диапазоне целесообразно изменять.
Далее следует выявить, линейно (примерно) происходит изменение результатов или нет, и учитывать эти обстоятельства при переборе параметров.
Сейчас, при оптимизации в ручном режиме, я всё вышеперечисленное делаю сам, что занимает безумно много времени, так как нужно выявить эффективность разных вариантов методов определения ситуаций и их настроек - генетика явно в существующем виде с этим не справиться.
Интересно, кто реально использует генетику при осмысленном построении АТС?
Собственно сам тестер (тема топика) не вызывает никаких вопросов и проблем, эмуляция торгового окружения для советников (тем более с недавним появлением режима реальных тиков) просто нереально объективна и точна.
Вопросы вызывает собственно оптимизатор. Для эффективного использования оптимизатора сейчас необходимо ввести новый тип input параметров:
input doublearray step [];
input doublearray max [];
и так для всех типов переменных, int и т.д, где размер массива есть количество переменных. это снимает проблему множества input переменных и сложность их конфигурирования.
а во вкладе "Оптимизация" реализовать полноценную электронную таблицу, где можно выбирать фильтры и условия для каждого параметра.
также нужна новая вкладка "Графики результатов", куда заносились бы одиночные тесты выбранных в таблице параметров. так можно было бы визуально оценивать торговые результаты нескольких вариантов параметров.
а сейчас при мощнейшем тестере мы видим оптимизатор с весьма скудными возможностями. результаты оптимизации приходится выгружать в стороннюю программу и делать исследования уже вне МТ, а это большая часть времени - исследование результатов оптимизации. нет возможности сохранить результаты оптимизации и снова их загрузить.
Оптимизатор обладает мат. режимом (так его назвали). Это значит, что ФФ может обладать не только ТС-характеристиками, как это субъективно видит каждый по-своему, а быть любой.
Первый тест (оформленный по первоначальной схеме)
у алгоритма от MQ 41.33 при среднем вызове ФФ 20906, у алгоритма от Joo 46.6 при ровно 20000 вызовов.
Давайте объясню, что это значит на самом деле. А то тут про какие-то 86% говорят.
Есть мат. функция, которая изменяет свое значение (51 штука: от 0 до 50) от 50-ти аргументов. Диапазон изменения каждого - 26.
Это значит, что всего 26^50 значений функции. И у этой функции есть только ОДИН абсолютный максимум - 50.
Есть 26^(50 - N) локальных максимумов со значением не меньше N.
Например, 26^0=1 максимумов со значением >= 50. 26^1=26 максимумов со значением >= 49. И т.д.
26^(50-46)=456 976 (~0.5 миллиона) со значением >= 46.
26^(50-41)=5 429 503 678 976 (~5.5 триллионов) >= 41.
Т.е. красный алгоритм выдал один из 5.5 триллионов локальных экстремумов. Справился?
Зеленый тоже попал в молоко, но выдал один из 0.5 миллиона локальных экстремумов. Справился?
На оба вопроса лично я отвечаю отрицательно. Фактически, получается, место зеленого в соревновании находится в районе 0.5 миллиона, а красного - 5.5 триллионов. Вот такая разница в местах.
Интересно, что если зеленому дать не 20К итераций, а побольше, то можно бороться уже с абсолютным чемпионом.
Можно ли считать оптимизационную задачу нахождения максимума функции решенной приблизительно, если находится локальный экстремум, хуже миллионов-триллионов точек функции? И если да, то что этот один из тучи может дать?
Можно ли считать оптимизационную задачу нахождения максимума функции решенной приблизительно, если находится локальный экстремум, хуже миллионов-триллионов точек функции? И если да, то что этот один из тучи может дать?
А если просто 20тыс рандомных проб взять, результат сильно хуже будет? ))
А если просто 20тыс рандомных проб взять, результат сильно хуже будет? ))
Но в данном случае мы сравниваем алгоримы и должны выбрать алгоритм который найдет точку выше.
Интересно, что если иметь робастую ТС. И при этом искать какой-то глобальный максимум через ГА или полным перебором, то найденные входные аргументы ТС могут оказаться вне поля робастости ТС. Т.е. ГА и полный перебор + кастомный критерий не позволяют найти робастые диапазоны у робастой ТС. Но это, действительно, другая тема.