
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
При запуске скрипта gpt_test_not_norm.mq5 я получил выход за пределы диапазона.
В 40-й строчке программы:
if(!loss_history.Resize(0,Epochs))
Меняем на:
if(!loss_history.Resize(Epochs))
Привет. Написано много, получилась книга. Начал читать, думал, щас как запилю ченидь для маркета.
Это хороший труд. Потому что больше нет ничего настолько универсального, что объяснило бы, как подойти к машинному обучению средствами mql5.
Однако...
Выборка делится на 3 части - 60% обучение, 20% валидация и 20% тест. Из 40 баров каждой цепочки баров повторяется 35. Мораль - вы обучаете и проверяете, используя одни и те же данные. Я нарисовал картинку. Это не только беда этой книги, я встречаю это снова и снова.
Сначала я подумал, что индикатор Зигзаг - это то самое, что позволяет выделить неповторяющиеся движения. Типа от вершины к впадине, от впадины к вершине. Это были бы уникальные паттерны, как это названо в книге. Но нет, автор строит паттерны побарно, и в этом конечно грубейшая ошибка. И Зигзаг для этого не нужен. Можно просто смотреть вперед на 10 баров и считать, куда пошел рынок.
Это первый пункт - практический. И второй пункт технический - тоже не то. Автор проводит обучение с валидацией только в Тензорфлоу? Это круто, Тензорфлоу - библиотека машинного обучения, которую делает Гугл. Но ведь цель этого труда была в том, чтобы показать, как это сделать средствами mql5?
В mql5 нет примеров обучения с валидацией. Я пока не нашел примеров с валидацией. Потом допишу есливче. Конечно, надо пробовать делать самому. Конечно, надо. Работы много, чтобы подготовить историю и подобрать параметры обучения. Вот и в Тензорфлоу вроде все есть, а сколько всего нужно делать. А здесь получается, что и техническая часть не доделана.
Это те самые 95%, которые без 5% теряют ценность?
Я пока остановлюсь на том, что это хороший труд. Потому что больше нет ничего подобного.
Разве метод оптимизации Adam не корректирует learning_rate исходя из скорости обучения? Там еще используется "потолок", а не постоянное значение.
Если делать рекуррентную сеть, зачем добавлять скрытые полносвязные слои? Полносвязная тема уничтожает тему lstm. Конечно, в конце сети нужен 1 полносвязный нейрончик для активации.
Dropout - это свойство слоя в любой нейронной сети. Например, в lstm свойство dropout обязательно должно быть, иначе привыкает к данным за несколько эпох. Я знаю, что в pytorch свойство dropout можно использовать только в переходе между двумя одинаковыми слоями, таким образом нужно 2 рекуррентных слоя. А в tensorflow любой слой может иметь dropout. Очевидное преимущество tensorflow перед pytorch.
Пакетная обработка в обратном распространении. Почему у автора пакет - это любое число?! Получается, что в каждую эпоху он выбирает случайное количество данных для обучения. Пакет - это количество! Например, выборка 1000 элементов, и это 10 пакетов по 100 значений. Каждая эпоха - это разные пакеты, но значений там всегда по 100. Я провожу обучение попакетно, и в конце каждого пакета корректирую веса. Это может гарантировать, что я не застряну в локальном минимуме. И я использую все данные выборки, а не какие-нибудь.
Еще не работает оптимизация торговли. Вылетает странная ошибка в диалоговом окне. Один раз выключился комп. То есть если обучить сеть, и потом с ней пытаться проводить оптимизацию торговли.
На мой взгляд, неправильно использовать графический стимулятор для форекса. Как ни крути, данных не много. Правильнее, на мой взгляд, было бы использовать агентов метатрейдера в оптимизаторе, чтобы запускать разные потоки обучения разных сетей. Например, в тензорфлоу я обучаю 7 потоков. Один закончился, добавился другой. И так по порядку 100 вариантов. Потом по ним прогон на истории.
Тут тема в том, что нейронная сеть может и хорошая. Но не любая нейронная сеть способна пройти свою историю обучения. Поэтому нужно много вариантов сетей.
ChatGPT подсказывает, что для классификации между двумя лучше всего использовать сигмоид. И его-то как раз я не нашел. А еще функции активации разные. Но функция потери одна и та же - MSE?
Тангенс все равно это не классификация, а регрессия. От -1 до 1 это не вероятность, а расчет значения.
Короче, сойдет. Больше ничего нет. Поэтому труд, безусловно, хороший. Буду использовать.
LG 2 10:07:44.216 Core 1 отключен
KP 0 10:07:44.216 Core 1 соединение закрыто
Удалось ли вам найти решение? Если я найду его, я опубликую его .
Нет файла"our_model.net " IMO
MQL5 :
المؤلف: MetaQuotes