![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Для того, что бы чувствовать себя "сухо и комфортно", для обучения невросеток и их комитетов, а также в случаях, подобных топикстартера, требуется что бы алгоритм оптимизации мог "тянуть" от тысяч до нескольких десятков тысяч оптимизируемых параметров (с 2000000 шагами в каждом параметре, хотя так много шагов требуется в основном для весов сеток, в остальных случаях достаточно 50-1000 шагов).
А, ну тогда удачи.
Вообще при повышении размерности входов эффективность генетики падает. 64 параметра -- это нереально много.График падения эффективности (в зависимости от размерности входов) имеет логарифмический вид.
Да, при увеличении количества параметров на участке от 1 до 100 параметров, заметно увеличение времени и не так быстро достигается оптимум.
Но выше 1000 уже нет разницы сколько параметров, алгоритм ведёт параллельный поиск во всех измерениях, и время достижения оптимума уже практически не меняется.
ЗЫ например единичная задача выполняется 4 сек, оптимизация на 1000 параметров займёт 2 часа 10 мин, на 10000 параметров 2 часа 18 мин. 8 минут думаю приемлемая плата за дополнительных 9000 параметров.
Блин. Опять я туплю что ли. Киньте что ли ссылкой по параметрам.
Какую ссылку ты о чём, это всё личный опыт и куча перелопаченной литературы.
Просто прийми за данность что Joo (в вопросах ГА) разбирается лучше тебя, и всё встанет на свои места.
График падения эффективности (в зависимости от размерности входов) имеет логарифмический вид.
Да, при увеличении количества параметров на участке от 1 до 100 параметров, заметно увеличение времени и не так быстро достигается оптимум.
Но выше 1000 уже нет разницы сколько параметров, алгоритм ведёт параллельный поиск во всех измерениях, и время достижения оптимума уже практически не меняется.
Просто прийми за данность что Joo (в вопросах ГА) разбирается лучше тебя, и всё встанет на свои места.
Дык а я отрицаю? Надо же наверстывать. Поэтому и ссылку прошу.
Нет проблем http://forum.mql4.com/ru/33892
Хотя не вижу рациональности в этом.
Есть человек который потратил на ГА 2 года личной жизни, у него всегда можно спросить всё что интересует, и есть другой человек который потратил хрен знает сколько времени чтоб изучить программирование, который стесняется спрашивать поэтому хочет убить 2 года личной жизни чтоб получить ответы которые он может получить у первого. Где логика?
ладно, лень мне сейчас расписывать что там к чему, вот вам код и сет, по умолчанию там стоит оптимизация по времени работы, SAR, MACD, TP и SL.
но как вы заметите там больше индикаторов можно задействовать, а в системе с которой основа бралась для этого эксперимента - там ещё в 3 раза больше. ах да, сам эксперимент был, написать генератор мартышек :))
работает только по ценам открытия и на m1! желательно выбирать Custom max.
Mr.Freeman
Я думал об этой затее пока не понял что использование индикаторов в основе стратегий в принципе подход ущербный. Сигнал от индикаторов по определению сильно запаздывают, иногда получается найти качественные стратегии которые без труда проходят хоть 5 хоть 10 лет тестирования, но в любом случае подходы без использования индикаторов вообще значительно качественней и прибыльней. Потому как в хронологическом порядке сигналы проходят такой путь: ММ - котировка - график(стакан и объемы тут же) - индикатор. При этом задержка между 3 и 4м уровнем зависит от настроек индикатора. Чем она меньше тем не качественней сигнал индикатора, чем качественней сигнал - тем она больше. Доступ на 1 и 2 уровень напрямую получить нельзя, а на 3й легко, зачем посредники в виде индикаторов если поведение ММ очень легко просматривается на 3ем уровне, давно есть конкретные стратегии по работе на 3м уровне.
*ММ - Маркет мейкер.
Ну а вообще, писать генетический алгоритм тебе придется с нуля потому как его также необходимо регулировать. Бери стандартные индикаторы (все) и выписывай сигналы по очереди какие они вообще могут дать. Классифицируй их и начинай писать )
Вот тебе допустим сигналы по одной МА:
MA Рост MA[1]>Ma[2]
Падение MA[1]<Ma[2]
Остановка MA[1]==Ma[2]
Ускорение | MA[1]-MA[2] | > | MA[2]-MA[3] |
Замедление | MA[1]-MA[2] | < | MA[2]-MA[3] |
Пауза | MA[1]-MA[2] | = | MA[2]-MA[3] |
Разворот вверх MA[1]>Ma[2]<MA[3]
Разворот вниз MA[1]<Ma[2]>MA[3]
По ADX картина выглядит еще страшней:
Рост ADX, Падение ADX, Остановка ADX, Ускорение ADX, Замедление ADX, Пауза ADX, Разворот вверх ADX, Разворот вниз ADX, Пересечение уровня снизу ADX, Пересечение уровня сверху ADX, Рост DX+, Падение DX+, Остановка DX+, Ускорение DX+, Замедление DX+, Пауза DX+, Разворот вверх DX+, Разворот вниз DX+, Пересечение уровня снизу DX+, Пересечение уровня сверху DX+, Рост DX-, Падение DX-, Остановка DX-, Ускорение DX-, Замедление DX-, Пауза DX-, Разворот вверх DX-, Разворот вниз DX-, Пересечение уровня снизу DX-, Пересечение уровня сверху DX-, Пересечение DX+ DX- снизу, Пересечение DX+ DX- сверху, Пересечение DX+ ADX снизу, Пересечение DX+ ADX сверху, Пересечение DX- ADX снизу, Пересечение DX- ADX сверху.