
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Господа! Кому не трудно - подбросьте примеры использования библиотеки UGA.
Какие именно примеры (на какую тему) Вас интересуют?
любые, использующие UGA, а то из примеров в статье не совсем понятно как работает. в статье пример с зиг-загом, можно примеры с другими индикаторами(RSI, CCI....)?
Напишите скрипт, в котором:
1) загрузка в массив данных необходимого инструмента для расчета индикатора
2) расчет индикатора/-ов с каким то набором параметров (эти параметры индикаторов нужно оптимизировать).
3) определение точек входа/выхода по сигналам индикатора
4) подсчет интересующего стат.показателя (количество набранных пипсов с учетом спреда, просадка и др.)
Пункты 2), 3), 4) являются шагами в одной итерации ГА - расчет FF для особи. Напишите такой скрипт, а я в свою очередь постараюсь помочь "прикрутить" к нему UGA.
PS. Сомневаюсь, что кто то выложит готовый торговый пример с использованием UGA - если кто то серьёзно занимается исследованиями с использованием этой библиотеки (или любой другой подобной), то скорее всего эти разработки являются приватными (тратится ещё и время на изучение того, что не имеет прямого отношения к торговле).
Отличная статья! Спасибо.
1) Как я вижу, вы хотели использовать UGA для оптимизации обучения NN. Удалось ли это?
2) Каковы были гены хромосомы в этом случае?
3) Вы также разработали свою собственную библиотеку NN или нашли какую-либо существующую реализацию NN, поддерживающую интеграцию с MT5 и GA?
2) Веса и смещения нейронов сети я представляю как гены хромосомы.
3) Я написал собственную реализацию нейронной сети.
Андрей, доброго Вам. Спасибо за ЮГА. Пытаюсь методом "научного тыка" (на примере предложенных Вами UGA_script.mq5 и skin.mqh) научится использовать Вашу библиотеку. Если Вас не затруднит, дайте дополнительно вводную как правильно задать входные праметры для решения задачи обучения сети Кохонена, когда мы имеем множество точек на плоскости, которые нужно отнести (классифицировать) к определенным ядрам. Т.е. дано N точек с координатами (х,у), М ядер (котрые после обучения "сдвинутся"), FF функция- "мера близости". Как я понимаю в UGA_script.mq5 параметры нужно задать так: ChromosomeCount_P= ??? (не понимаю как задать), GeneCount_P=2*M (2 координаты для каждого ядра), Epoch_P= ??? (не понимаю как задать). Заранее спасибо.
Андрей, доброго Вам. Спасибо за ЮГА. Пытаюсь методом "научного тыка" (на примере предложенных Вами UGA_script.mq5 и skin.mqh) научится использовать Вашу библиотеку. Если Вас не затруднит, дайте дополнительно вводную как правильно задать входные праметры для решения задачи обучения сети Кохонена, когда мы имеем множество точек на плоскости, которые нужно отнести (классифицировать) к определенным ядрам. Т.е. дано N точек с координатами (х,у), М ядер (котрые после обучения "сдвинутся"), FF функция- "мера близости". Как я понимаю в UGA_script.mq5 параметры нужно задать так:
1) ChromosomeCount_P= ??? (не понимаю как задать),
2) GeneCount_P=2*M (2 координаты для каждого ядра),
3) Epoch_P= ??? (не понимаю как задать).
Заранее спасибо.
1) Задайте для начала 50, если окажется недостаточным, увеличить значение (не переборщите, до 200-300, иначе рискуете не дождаться результата)
2) Да.
3) Задайте для начала 50-100, если окажется недостаточным, увеличить значение (не переборщите, до 200-1000, иначе рискуете не дождаться результата)
Цифры эмпирические, можете менять как душе угодно, ориентируясь либо на скорость сходимости, либо на точность результата (это, в общем то, взаимоисключающие требования, середина где то посередине - сори за каламбур).
Ковыряюсь в библиотечке.
Андрей, я вот никак не могу понять, зачем вычислять фитнес-функцию ДО удаления дубликатов из популяции. Дорогое удовольствие.
Я бы контролировал наличие клонов ещё на этапе генерации потомков. (Что и сделаю, собсно.)
1) Андрей, я вот никак не могу понять, зачем вычислять фитнес-функцию ДО удаления дубликатов из популяции. Дорогое удовольствие.
2) Я бы контролировал наличие клонов ещё на этапе генерации потомков. (Что и сделаю, собсно.)
1) Повторных вычислений ФФ не происходит, так как выполняется проверка по исторической базе хромосом - если хоть раз ФФ выполнялась ранее для такой особи то значение берётся из базы.
2) Здесь есть один нюанс с поселением новой колонии в популяцию. Но о нем я, пожалуй, умолчу. :) Сделай так, как тебе представляется более правильным и о результатах расскажи пожалуйста - после этого я расскажу о нюансе.
PS Вообще, а не применительно к данному комментарию, можно придерживаться самых разных стратегий случайного поиска ГА, каждый вариант в какой то степени заслуживает внимания. Результаты (скорость сходимости, точность поиска, застревание в локальных экстремумах) почти напрямую будут зависеть от применяемых стратегий поиска.
1) Повторных вычислений ФФ не происходит, так как выполняется проверка по исторической базе хромосом - если хоть раз ФФ выполнялась ранее для такой особи то значение берётся из базы.
2) Здесь есть один нюанс с поселением новой колонии в популяцию. Но о нем я, пожалуй, умолчу. :) Сделай так, как тебе представляется более правильным и о результатах расскажи пожалуйста - после этого я расскажу о нюансе.
1) Ну-ну. Сказочник. :) У тебя там как минимум одна ошибка.
Так действительные числа сравнивают только.. мммм... математики, да.
При таком сравнении разница в пятнадцатом знаке после плавающей точки признает гены различными. И она всегда обязательно будет, ибо судьба. ;)
Надо хотя бы так:
И в точь такая же плюшка у тебя при удалении дублей. Не сомневаюсь что ты тестировал удаление дублей отдельно от ген. алгоритма, потому у тебя наверняка есть иллюзия работоспособности этого фрагмента.
2) Как всё таинственно... Где тонко там и рвётся. :)
Всё там решаемо, с нюансами или без. Лады, сделаю - покажу как сделал.
1) Ну-ну. Сказочник. :)
2) У тебя там как минимум одна ошибка. Так действительные числа сравнивают только.. мммм... математики, да. При таком сравнении разница в пятнадцатом знаке после плавающей точки признает гены различными. И она всегда обязательно будет, ибо судьба. ;)
Надо хотя бы так:
3) И в точь такая же плюшка у тебя при удалении дублей. Не сомневаюсь что ты тестировал удаление дублей отдельно от ген. алгоритма, потому у тебя наверняка есть иллюзия работоспособности этого фрагмента.
4) Как всё таинственно... Где тонко там и рвётся. :) Всё там решаемо, с нюансами или без. Лады, сделаю - покажу как сделал.
1) Сказочник? Хмм, я, к сожалению, не понял юмора. Проверка по базе происходит в функции CheckHistoryChromosomes(chromos,historyHromosomes) которая вызывается из GetFitness(historyHromosomes). Поэтому я сказал правильно - повторных запусков ФФ не происходит.
2) Сверка с базой происходит с проверкой по генам. А каждый ген уже при появлении новой хромосомы при сохранении в колонию нормализуется SelectInDiscreteSpace(temp,RangeMinimum,RangeMaximum,Precision,3). Поэтому и тут "сказок" нет.
3) См. 2)
4) Никакой таинственности. Код открыт и прозрачен. А нюанс действительно есть (он связан не с проблемами реализации, а с качеством сходимости).