"Новый нейронный" - проект Open Source движка нейронной сети для платформы MetaTrader 5. - страница 14

 
Urain:

1) В схеме выходов [-1;0;1] есть один баг, по идее все три варианта выхода должны быть равновероятны, по факту удержать гипертангенс на нуле или сигмоид на 0.5 очень сложно он так и будет норовить спрыгнуть.

 

 это может быть т.к. привел только в качестве примера

Urain:

2) У Булашева в "Статистика для трейдера" есть схема оценки эффективности позиции (читай ордера), можно применить эту схему и тренировать сеть на поставку торговых сигналов, а тралы, безубытки это всё уже элементы ТС к сетке не относящиеся.

3) Фильтры это элементы предобработки (подготовки примеров), вещь нужная но нужно отделять мухи от котлет. Если пихать в алгоритм сетки предобработку то универсализации не достичь.

 нет, фильтры в данном случае это часть торговой логики, а не предобработки данных.

Я предлагаю не пихать в алгоритм сетки, а дать возможность обучать сеть в составе общей логики ТС. Что является по-вашему выходом НС? Только конечный прогноз покупать/продавать?

 

 
TheXpert:

Т.е. АТР РСИ и машки будут задавать контекст? Еще и на множестве входов ТС? Это ж тупая подгонка без шансов.

тебе нужно то что реально будет зарабатывать, или пример где НС является только одним из элементов ТС и тогда на чем её обучать?

P.S. кстати вполне хорошие результаты на многих парах показывают системы на 2ух машках с несколько нестандартной фильтрацией (НС там вроде не нужны :)) 

 
Avals:

 1) это может быть т.к. привел только в качестве примера

 2) нет, фильтры в данном случае это часть торговой логики, а не предобработки данных.

Я предлагаю не пихать в алгоритм сетки, а дать возможность обучать сеть в составе общей логики ТС. Что является по-вашему выходом НС? Только конечный прогноз покупать/продавать?

 

1) Это не булыжник в твою сторону, я просто подчеркнул важность этого момента.

2) Выходом НС может быль сигнал любой интерпретации, в контексте торговли это могут быть как классификация состояния рынка (плохой хороший, тренд флет итд) так и конкретные торговые сигналы, кстати никто не запрещает классифицировать сигнал конкретного индикатора. Например: "машка щас" даёт плохой сигнал. Натренировав сетку на такой сигнал, далее её можно использовать в составе комитета. Выше вроде предлагалось создать удобный интерфейс объединения сетей в комитеты. Эффективность сделок это лишь частный случай постобработки.

 
TheXpert:
 Я ж хочу научить НС торговать по твоей ТС, добавив ей еще сверху пару степеней свободы.
тогда там слабая сторона это действительно закрытие   позиции с прибылью. Можно попробовать для этого НС обучить, но наверное это оффтоп для этой ветки
 
Avals:

вам нужно то что реально будет зарабатывать

Ну просто этот фильтр это банальность и сделать его вообще без проблем. Алгоритм простой. Прогоняем ТСку, собираем входы и нужные параметры (МА, РСИ, АТР) в точках входа или некоторых окрестностях.

Затем на вход даем собранные параметры -- на выход или результат сделки в пипсах или просто 1 если плюс, -1 если минус. Все это дело пихаем в банальный 3-слойный нелинейный персептрон и обучаем.

Вуаля.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства сделок - Документация по MQL5
 
Urain:


2) Выходом НС может быль сигнал любой интерпретации, в контексте торговли это могут быть как классификация состояния рынка (плохой хороший, тренд флет итд) так и конкретные торговые сигналы, кстати никто не запрещает классифицировать сигнал конкретного индикатора. Например: "машка щас" даёт плохой сигнал. Натренировав сетку на такой сигнал, далее её можно использовать в составе комитета. Выше вроде предлагалось создать удобный интерфейс объединения сетей в комитеты. Эффективность сделок это лишь частный случай постобработки.

комитет это только часть решения. Как удобно и эффективно реализовать обучение таких НС которые являются только частью логики конкретной системы? Их нельзя натренеровать отдельно т.к. обучающей выборки нет.
 
Avals:

комитет это только часть решения. Как удобно и эффективно реализовать обучение таких НС которые являются только частью логики конкретной системы? Их нельзя натренеровать отдельно т.к. обучающей выборки нет.
Хотел было ответить "что мешает её сделать", но это будет лишь частное решение. Всё верно нужно предусмотреть обучение НС и как часть советника и отдельно на готовых примерах.
 
TheXpert:

Ну просто этот фильтр это банальность и сделать его вообще без проблем. Алгоритм простой. Прогоняем ТСку, собираем входы и нужные параметры (МА, РСИ, АТР) в точках входа или некоторых окрестностях.

Затем на вход даем собранные параметры -- на выход или результат сделки в пипсах или просто 1 если плюс, -1 если минус. Все это дело пихаем в банальный 3-слойный нелинейный персептрон и обучаем.

Вуаля.

да, можно так, только это через одно место)))

К примеру, ТСка с оптами. Провести подобное упражнение для каждого прогона оптов? Ладно, можно как-то извратиться и автоматизировать этот процесс. 

Или наоборот, фильтр на вход обычный (булева логика), а покупает/продает НС.

Но в принципе из всего можно выкрутиться и реализовать как-то. Вопрос удобства, наглядности и переносимости для использования другими. 

 
sergeev:

а разве работа с НС заключается только в выборе её топологии ? Метод обучения тоже играет не маловажную роль. Топология и обучение тесно связаны.

У всех юзеров есть свое имхо, поэтому забирать половину принимаемого решения на себя нельзя.

Мы должны создать конструктор сетей, не ограничивающий себя какими-то предустановками. И по возможности универсальный.

В предложенной мной схеме построения сети метод обучения не зависим от топологии !!!

Поскольку сетка сама знает откуда чего берётся и куда чего девается то распространение ошибки дело автоматическое и программисту об этом заморачиваться не придётся.


sergeev 

2011.10.19 17:06:50

Двумерного массива будет достаточно для разнообразных топологии и наглядного понимания?

Я давеча отвечал, но на досуге обдумал все это:

Для построения сети будет достаточно вот такой таблицы связей

  слой
нейрон
    входслой связинейрон связи выход связи
1
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
20
0
1
0
0
2
0
1
1
1
0


Это пример трёхслойной MLP нулевой слой входы, первый слой два нейрона, второй слой один нейрон.

Первые три колонки создаются последовательным перечислением всех нейронов и всех входов нейронов, вторым проходом задаётся соответствие (с одним исключением, если "слой связи" больше или равен "слою" то выход больше 0, те обратно сигнал можно брать только с оператора задержки).

Используя такую таблицу связей можно задать топологию хоть рандомом, а это всё же показатель универсальности.

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

 
Urain:

В предложенной мной схеме построения сети метод обучения не зависим от топологии !!!

Поскольку сетка сама знает откуда чего берётся и куда чего девается то распространение ошибки дело автоматическое и программисту об этом заморачиваться не придётся.

Не верю (с) :)

Причина обращения: