Как совместить информацию по нескольким ТФ для обучения нейросети? - страница 3

 
Anton_M:

А зачем вам вообще терминал? У вас же в обучающей выборке для сети уже должны быть данные о том, где лучше входить в рынок, а на тестовой выборке вы получаете процент хороших исходов (обучение с учителем).

Для C# есть библиотека Аккорд, но я в ней не стал разбираться, зачем, если есть питон с кучей примеров кода и крутыми библиотеками. Тем более возможность обучать сеть на серверах гугла для меня перевешивает всё остальное.

Аккорд видел, не вариант - толком поддержки от Майкрософт, мало примеров в сети - не стал рассматривать, на keras-sharp пока остановил свой выбор, буду еще с реализацией разбираться

терминал нужен из за тестера - лучше чем тестер МТ нет ничего, все остальное от лукавого )))

 я пару месяцев назад разбирался с интеграцией MQL5 - C# , выбор свой сделал - все без проблем тудым-сюдым можно гонять с фантастическими скоростями, поддержка пользователей С# очень большая, проблем нет с получением информации

ЗЫ: пробую Питон иногда поковырять - увы, очень тяжело идет обучение - опыт владения С++, MQL, Delphi сильно мешает, проще найти готовые пакеты НС и визуализировать и/или пользовательские интерфейсы сделать на стадии разработки в C# , а само тестирование и исторические данные от MQL5 брать, время разработки минимальное

 
Igor Makanu:

Аккорд видел, не вариант - толком поддержки от Майкрософт, мало примеров в сети - не стал рассматривать, на keras-sharp пока остановил свой выбор, буду еще с реализацией разбираться

терминал нужен из за тестера - лучше чем тестер МТ нет ничего, все остальное от лукавого )))

 я пару месяцев назад разбирался с интеграцией MQL5 - C# , выбор свой сделал - все без проблем тудым-сюдым можно гонять с фантастическими скоростями, поддержка пользователей С# очень большая, проблем нет с получением информации

ЗЫ: пробую Питон иногда поковырять - увы, очень тяжело идет обучение - опыт владения С++, MQL, Delphi сильно мешает, проще найти готовые пакеты НС и визуализировать и/или пользовательские интерфейсы сделать на стадии разработки в C# , а само тестирование и исторические данные от MQL5 брать, время разработки минимальное

Я где-то год назад писал разработчикам, спрашивал про поддержку NET, и вот, наконец-то, она появилась. На этот счёт тоже много идей есть, как применить...

 

По теме - снимать информацию в тестере с минимального ТФ о верхних ТФ на  текущем баре, в момент его открытия.

Если работать планируете не с чистыми ценами, а предикторами, то попробуйте использовать CatBoost в качестве строителя моделей - там есть чисто версия из командной строки, при желании и питон и R есть, плюс там исходники открытые, если действительно шарите в коде, то может перекинете логику интерпретации модели на MQL5.

 
Aleksey Vyazmikin:

По теме - снимать информацию в тестере с минимального ТФ о верхних ТФ на  текущем баре, в момент его открытия.

это ясно, вопрос в другом был, по крайней мере у меня: инфу о новом баре старшего ТФ подавать постоянно на вход НС это правильно? - будет длительное время подаваться одни и те же значения (выше таблица была времени открытия бара)

 
Igor Makanu:

это ясно, вопрос в другом был, по крайней мере у меня: инфу о новом баре старшего ТФ подавать постоянно на вход НС это правильно? - будет длительное время подаваться одни и те же значения (выше таблица была времени открытия бара)

В этом случае получаются ретурны - дельты настоящего и прошлого - информация - думаю, что это правильно. Однако с голыми ценами я не работаю, а вот индикаторы так и транслирую.

 
Aleksey Vyazmikin:

В этом случае получаются ретурны - дельты настоящего и прошлого - информация - думаю, что это правильно. Однако с голыми ценами я не работаю, а вот индикаторы так и транслирую.

Пока что голые цены нужны для примера. Да, для НС голые цены малополезны, в этом-то и фишка)

Дельты настоящего и прошлого у вас сама сеть определяет, или вы как-то их подаёте?
 
Anton_M:

Пока что голые цены нужны для примера. Да, для НС голые цены малополезны, в этом-то и фишка)

Дельты настоящего и прошлого у вас сама сеть определяет, или вы как-то их подаёте?

Я не работаю с ценами - работаю с производными. И не работаю с НС - работаю с деревьями. Для НС будет видна дельта (за счет разных ТФ), если речь о голых ценах, но я бы её явно добавил. Вообще не считаю, что без преобразования цен можно что либо получить толковое, но может, я ошибаюсь.

 
Коллеги, позвольте высказаться: При построении ТС с нуля сначала нужно понят что мы хотим получить от НС. то есть какой результат работы сети нам нужен, если речь идёт именно о прогнозировании тогда нужно определить целевую функцию. По опыту скажу что самой нормальной целью для прогнозирования является изменение цены. Тупо Change of Close, ну или разницу между ценой сейчас и на 10 баров вперед, как пример но если у вас годная ТС то этого будет достаточно, поверьте. И не думайте что Вы сейчас забубените аля супер кривую на выходе и она Вам погоду сделает, нет этого не произойдёт, если ТС плохо работает с ченджфоклосе то никакой супер пупер выход дело не спасёт. Если же вы решите, как я, пойти другим путём и попробовать себя в классификации, тогда Вам нужна базовая ТС, которая будет определять время, момент для анализа это может быть ТС построенная на обыкновенных машках, машки пересеклись, всё знамо на этом баре делаем анализ рынка и определяем ложное это пересечение или истинное. Два совершенно разных и в тоже время фундаментальных подхода имеют место быть. Вот Вы какой выбрали для себя?
 
Не знаю как у вас все это работает. Но у меня сеть отказывается обучаться. На вход подаю разницу значений МА различных периодов (веер МА начиная с периода 5 до 21 с шагом 2)  за последние 3 бара. Получается набор данных МА5(1)-МА5(2), МА5(2)-МА5(3), МА5(3)-МА5(4) и т.д. Результат работы сети отображается в индикаторе в виде гистограммы  положительные значения тренд вверх отрицательные тренд вниз. Метод обучения "с учителем". То есть в тестере в визуальном режиме последовательно (тестер стоит на паузе) жму F12 получаю следующий бар. Если сеть указывает не верное значение сообщаю ей об этом (две кнопочки на графике SELL и BUY). Например визуально я определяю тренд вверх, а сеть говорит, что вниз, жму кнопочку (SELL) после чего сеть перестраивает свои веса и начинает показывать тренд вниз. Обучил ее сначала на одном временном участке. Потом на втором ... и т.д. В результате сеть запоминает только то что учила на последнем участке, а все предыдущее забывает. Теперь ломаю голову или я не так учу или сеть у меня криво написана (писал на mql4). В общем хотелось бы получить какой нибудь совет по этому поводу. 
 
Vitalii Ananev:
Не знаю как у вас все это работает. Но у меня сеть отказывается обучаться. На вход подаю разницу значений МА различных периодов (веер МА начиная с периода 5 до 21 с шагом 2)  за последние 3 бара. Получается набор данных МА5(1)-МА5(2), МА5(2)-МА5(3), МА5(3)-МА5(4) и т.д. Результат работы сети отображается в индикаторе в виде гистограммы  положительные значения тренд вверх отрицательные тренд вниз. Метод обучения "с учителем". То есть в тестере в визуальном режиме последовательно (тестер стоит на паузе) жму F12 получаю следующий бар. Если сеть указывает не верное значение сообщаю ей об этом (две кнопочки на графике SELL и BUY). Например визуально я определяю тренд вверх, а сеть говорит, что вниз, жму кнопочку (SELL) после чего сеть перестраивает свои веса и начинает показывать тренд вниз. Обучил ее сначала на одном временном участке. Потом на втором ... и т.д. В результате сеть запоминает только то что учила на последнем участке, а все предыдущее забывает. Теперь ломаю голову или я не так учу или сеть у меня криво написана (писал на mql4). В общем хотелось бы получить какой нибудь совет по этому поводу. 

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

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