MetaTrader 5 Strategy Tester! - страница 54

 

Таким образом, задача состоит из 705 символов, каждый из символов может иметь 60 вариантов (строка 705 символов, ключ 60 символов). 

Соответственно максимально возможное число ФФ может выдать: 705, что означает 100% совпадение.

Прошу учесть, что это только мы знаем, какое максимальное число может выдать ФФ, поэтому ориентирование на число 705 в алгоритме недопустимо. Алгоритм должен считать, что максимальное число в ФФ ничем не ограничено и может быть любым. 

ps. шибко сомневаюсь, что какой бы то ни было алгоритм сможет набрать больше 200 совпадений, это унриал... тем более будет интересно. 

 

Реально смешно наблюдать как люди своей предобработкой и человеческой эвристикой на порядки снижают сложность задач, а потом пытаются сравнивать упрощенную донельзя функцию с универсальным решателем ;)))

А ведь вроде собрались штурмовать экстремально сложную/непонятную задачу раскола фин рынка. Если бы рынок можно было упростить до ваших примеров, то ломали бы его в 100 строк R скрипта.

Поэтому (грубо) фиг вы сможете придумать и кардинально улушить ГА нашего тестера. И предложения "дайтем мне почитить и подстроить га механизм в MQL" никак не помогут кроме как в играх оптимизации заранее известных схем.

 

Ну да, тут только соглашусь с Ренатом.

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

Но сделать его универсальным это задача с серьезным подходом.

 
Renat Fatkhullin:

Реально смешно наблюдать как люди своей предобработкой и человеческой эвристикой на порядки снижают сложность задач, а потом пытаются сравнивать упрощенную донельзя функцию с универсальным решателем ;)))

А ведь вроде собрались штурмовать экстремально сложную/непонятную задачу раскола фин рынка. Если бы рынок можно было упростить до ваших примеров, то ломали бы его в 100 строк R скрипта.

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

Renat Fatkhullin:

И предложения "дайтем мне почитить и подстроить га механизм в MQL" никак не помогут кроме как в играх оптимизации заранее известных схем. 

 Согласен, в универсальном алгоритме и подстраивать нечего, отсутствие параметров вытекает из универсальности алгоритма. Разве что дать возможность выбирать количество запусков ФФ пользователю, но не более того. 

Renat Fatkhullin:

Поэтому (грубо) фиг вы сможете придумать и кардинально улушить ГА нашего тестера.

 А вот это мы ещё посмотрим. ))

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

 
Renat Fatkhullin:

Реально смешно наблюдать как люди своей предобработкой и человеческой эвристикой на порядки снижают сложность задач, а потом пытаются сравнивать упрощенную донельзя функцию с универсальным решателем ;)))

А ведь вроде собрались штурмовать экстремально сложную/непонятную задачу раскола фин рынка. Если бы рынок можно было упростить до ваших примеров, то ломали бы его в 100 строк R скрипта.

Поэтому (грубо) фиг вы сможете придумать и кардинально улушить ГА нашего тестера. И предложения "дайтем мне почитить и подстроить га механизм в MQL" никак не помогут кроме как в играх оптимизации заранее известных схем.

Режим мат. расчетов для галочки?

Было показано, что не по скорости (тут и так все ясно), а по количеству вызовов целевой функции Ваш ГА уступает. При этом в нем отсутствует задание логичного для всех оптимизационных алгоритмов условия завершения.

OnTester бэктеста ТС - все та же целевая функция для любого ГА. Если строить 3D-графики (ну пусть будет три оптимизируемых параметра) целевой ТС, то они довольно примитивные, что вполне логично. Поэтому говорить о какой-то супер сложности целевых у ТС не приходится. Все тот же черный ящик для ГА.

Думаю, Вы все отлично понимаете. Просто негодуете из-за здоровой критики Вашего алгоритма ГА (а не оптимизатора на его основе).

 
У меня есть некоторый опыт ускорения решений, правда не из области трейдинга не просто в разы а на порядки.
Фирменный софт, очень серьезный обвешанный брендами известный разработчик с большим именем по России , так вот один из отчетов строился примерно 12 часов
После моей оптимизации, при этом написано на другом языке с применением другой технологии, результат тот же самый = 10 секунд

И не одну такую задачу реализовал ускоряя таким образом технологические процессы, были более скромные ускорения , например та же самая задача у бренда выполняется  2 часа  у меня отрабатывает  за  5 секунд

Бывали победы над скоростью , у бренда  2 часа ,  мой вариант не меряется в секундах = 0 секунд

Но не мог и не стремился в своих решениях достичь универсальности, которая присуща фирменному продукту.
 
Режим мат расчетов в тестере предназначен для распараллеливания вычислений на множестве ядер, ферме или клауде.

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

Фактически это универсальный hadoop кластер, и на нем можно запускать такие же задачи, как гоняют математики.
 
fxsaber:


Было показано, что не по скорости (тут и так все ясно), а по количеству вызовов целевой функции Ваш ГА уступает. При этом в нем отсутствует задание логичного для всех оптимизационных алгоритмов условия завершения.

OnTester бэктеста ТС - все та же целевая функция для любого ГА. Если строить 3D-графики (ну пусть будет три оптимизируемых параметра) целевой ТС, то они довольно примитивные, что вполне логично. Поэтому говорить о какой-то супер сложности целевых у ТС не приходится. Все тот же черный ящик для ГА.

Думаю, Вы все отлично понимаете. Просто негодуете из-за здоровой критики Вашего алгоритма ГА (а не оптимизатора на его основе).

Не было показано. Я наоборот показывал еще 10 лет назад, что игра в "я смогу уложиться в 200 прогонов ГА вместо 5 000 / 10 000" является самообманом.

И задачи "уменьшить количество вызовов целевой функции" у ГА нашего тестера вообще не стоит. Там и так малое количество вызовов. Причем мы умеем автоматически как уменьшать количество проходов, так и увеличивать, когда видим, что приращение целевой функции еще продолжается и есть куда развивать просчеты.

 
Renat Fatkhullin:

Не было показано. Я наоборот показывал еще 10 лет назад, что игра в "я смогу уложиться в 200 прогонов ГА вместо 5 000 / 10 000" является самообманом.

И задачи "уменьшить количество вызовов целевой функции" у ГА нашего тестера вообще не стоит. Там и так малое количество вызовов. Причем мы умеем автоматически как уменьшать количество проходов, так и увеличивать, когда видим, что приращение целевой функции еще продолжается и есть куда развивать просчеты.

Подскажите, как корректно проверить универсальность штатного ГА, предложите свои тестовые задачи.
 
К сожалению, у меня нет времени на это. Очень занят на порядки более сложными темами. В форуме отвечаю на краткие вопросы.

Поищите задачи сами, пожалуйста.