Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Какое направление? k-means что ли? k-means вообще никаким боком сюда не лезет.
Дмитрий, если вы разбираетесь в теме, подскажите, как правильно обучить нейросеть. Как сделать кластеризацию. Aliaksandr Hryshyn хоть идею подал, в отличие от вас.
Aliaksandr Hryshyn, то есть
1. Подготавливаю информацию в ручную, через Exсel, выбираю данные с разных индикаторов, которые предшествуют хорошему входу в рынок.
2. Потом через метод k-средних - Нейросеть векторного квантования сигналов (одна из версий нейронных сетей Кохонена). Сетка разделит входные данные по кластерам.
3. Сопоставить результат кластеризации с выходными данными, выбрать тот кластер, где прибыль лучше всего.
4. Сделать кластеризацию на новых данных - будут ли выбранные мною кластеры в пункте 3 вновь самыми лучшими.
5. Использовать это в торговли - то есть давать предварительно очищенные данные (первой нейросетью) второй нейросети, которая торгует.
"Можно ещё попробовать каждый используемый кластер дать нейросети, для повышения точности" - всмысле?
Получается, у меня будет две нейросети, первая будет кластеризировать входные данные, а вторая уже торговать на основе этих данных, правильно?
По поводу "нет информации".
Сколько минимум значений необходимо взять с индикатора ZigZag для выявления данного паттерна https://www.mql5.com/ru/code/14029 ? Можете проверить его работу.
Немногим больше пяти.
Дмитрий, если вы разбираетесь в теме, подскажите, как правильно обучить нейросеть. Как сделать кластеризацию. Aliaksandr Hryshyn хоть идею подал, в отличие от вас.
Aliaksandr Hryshyn, то есть
1. Подготавливаю информацию в ручную, через Exсel, выбираю данные с разных индикаторов, которые предшествуют хорошему входу в рынок.
2. Потом через метод k-средних - Нейросеть векторного квантования сигналов (одна из версий нейронных сетей Кохонена). Сетка разделит входные данные по кластерам.
3. Сопоставить результат кластеризации с выходными данными, выбрать тот кластер, где прибыль лучше всего.
4. Сделать кластеризацию на новых данных - будут ли выбранные мною кластеры в пункте 3 вновь самыми лучшими.
5. Использовать это в торговли - то есть давать предварительно очищенные данные (первой нейросетью) второй нейросети, которая торгует.
"Можно ещё попробовать каждый используемый кластер дать нейросети, для повышения точности" - всмысле?
Получается, у меня будет две нейросети, первая будет кластеризировать входные данные, а вторая уже торговать на основе этих данных, правильно?
В первом пункте не надо выбирать только хорошие входы, брать всё.
В первом пункте не надо выбирать только хорошие входы, брать всё.
Вы не ответили, я просил пояснить: "Можно ещё попробовать каждый используемый кластер дать нейросети, для повышения точности" - всмысле?
Пока не дошел до практической части, раньше не работал с сетям по кластеризации, в частности, с сетями Кохонена.
Но представляю себе это таким образом:
После того, как сеть выделит кластеры, посмотреть на графике, какие участки графика какому кластеру соответствуют. То есть зачитать кластеры из экселя и подсветить на графике. По графику выбрать лучший кластер, либо визуально, либо может алгоритм какой написать, который будет пробегать по кластерам и торговать, например, со СЛ-50, ТП-70, или что-то посложнее.
После того, как выберу кластер, сделать обучаю выборку и обучить сеть, посмотреть на результаты.
Может, конечно, в чем то и ошибаюсь, на практике пока не реализовывал.
А вы как думаете?
Вы не ответили, я просил пояснить: "Можно ещё попробовать каждый используемый кластер дать нейросети, для повышения точности" - всмысле?
Пока не дошел до практической части, раньше не работал с сетям по кластеризации, в частности, с сетями Кохонена.
Но представляю себе это таким образом:
После того, как сеть выделит кластеры, посмотреть на графике, какие участки графика какому кластеру соответствуют. То есть зачитать кластеры из экселя и подсветить на графике. По графику выбрать лучший кластер, либо визуально, либо может алгоритм какой написать, который будет пробегать по кластерам и торговать, например, со СЛ-50, ТП-70, или что-то посложнее.
После того, как выберу кластер, сделать обучаю выборку и обучить сеть, посмотреть на результаты.
Может, конечно, в чем то и ошибаюсь, на практике пока не реализовывал.
А вы как думаете?
"Можно ещё попробовать каждый используемый кластер дать нейросети, для повышения точности" - берём хорошие кластеры, к каждому кластеру принадлежит определённый набор данных, для каждого набора обучаем нейросеть, на вход подаём эти же данные, на выход - некоторый результат(что мы хотим получить, например, прибыль, характеристика тренда и т.д.).
Вы не определились с результатом и как его представлять. Пускай результатом будет разность в пунктах цены через 5, 15 и 45 баров и текущей цены. Т.е. мы прогнозируем значение цены через 5, 15 и 45 баров, три значения. Берём каждый кластер, строим графики распределения результатов(разность между прогнозируемой ценой и текущей). Для каждого кластера должно получится по три графика(5,10,15) такого вида как на рисунке 1. Но интереснее делать так: для каждого кластера и используемого бара(5,15,45) считать перцентили 5, 25,50,75,95. Должно получится по 15 значений для каждого кластера. Эти значения отображаем следующим образом, как на картинке 2.
Кстати, берём не все данные, а те, где происходит изменение кластера. Например, есть серия кластеров: 22224444555223322, берём значения которые находятся после смены кластера, это будет 245232 .
Снизу наверх линии означают перцентили 5,25,50,75,95. По горизонтали бары(5,15,45), по вертикали перцентили.
Общий смысл такой:
для чёрной линии -
- через 5 баров(iR_05) цена будет ниже уровня, который выше текущего на 50 пунктов с вероятностью 95%
- через 15 баров(iR_15) цена будет ниже уровня, который выше текущего на 105 пунктов с вероятностью 95%
- через 45 баров(iR_45) цена будет ниже уровня, который выше текущего на 345 пунктов с вероятностью 95%
для синей -- через 5 баров(iR_05) цена будет ниже уровня, который выше текущего на ~0 пунктов с вероятностью 50%
- через 15 баров(iR_15) цена будет ниже уровня, который выше текущего на 20 пунктов с вероятностью 50%
- через 45 баров(iR_45) цена будет ниже уровня, который выше текущего на 45 пунктов с вероятностью 50%
Смысл, думаю, понятен.Что - то у меня Зиг-заг в голове. А выход, думаю, будет один...
Для Зигзага можете аналогично делать, только в качестве входов использовать разного рода зависимости между коленами Зигзага, или эти зависимости вывести как параметры в советнике с указанием диапазонов, например, длина колена А деленное на длину колена Б, и добавляем параметр точности для этого значения, пусть будет +- 0.05..... Вариантов много.
вам сюда))
https://www.mql5.com/ru/forum/86386
ой как сложно все с нейросетями, столько работы проделать надо.. пойду поплачу маленько, потом еще раз перечитаю. А если ее кто-то еще и зарабатывать научит, то это вообще решпект
особую сложность у меня вызывает это подбор слоев и нейронов.. как вообще это можно рассчитать и определить не переобучена ли сетка... просто катастрофа
Добрый день.
У меня есть 3 слойная нейросеть, 5 нейронов в каждом слое, на выходе 2 нейрона - структура 5-5-2;
Обучаю по зигзагу и по индикатору RSI: когда по ZigZag вершина, даю нейросети на вход 5 последних значений индикатора RSI(14) и правильный сигнал на выходе 10 (SELL); Когда по ZigZag впадина, даю на вход 5 последних значений индикатора RSI(14) и правильный сигнал на выходе 01 (BUY).
Однако, сеть так никогда не обучится, так как данные в обучающей выборке для сигнала BUY и данные для сигнала SELL должны отличаться. Поэтому поставил условие, подавать 5 последних значений RSI в том случае, если все 5 больше 60 (для SELL) и меньше 40 (для BUY) (здесь без учета нормализации, в коде нормализация входных сигналов есть). Но в этом случае опять проблема: в случае флета все хорошо, но на тренде, если тренд вниз, в обучающей выборке остаются только сигналы на покупку, если тренд вверх, остаются сигналы только на продажу. То есть получается, даже на обучающем периоде советник сливает.
Поэтому встал вопрос, на каких данных и каких образом обучать нейросеть?
так это основная проблема, что подать на вход и как отсеять дублирующие сигналы... ели вы берете только 5 значений rsi, а это по умолчанию осциллятор, который показывает что-то нормальное только во флэте, то не удивительно что на трендовом рынке он дает ложные сигналы, он постоянно ждет когда рынок развернется т.к. рси перекуплен и продает, продает... нужно подавать на вход что-то, что будет также описывать трендовые участки рынка, мб пару мувингов или еще что-то, ну как пример.. я баловался с этим но получалось так себе
Как вариант - сделать комбинированный индикатор из осциллятора и трендового индикатора какого-нибудь, и по нему уже обучать, что бы подавать на вход не кучу разной инфы а несколько значений одного индикатора. Мб использовать какой-нибудь интересный индикатор из кодбазы