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

 
Anton_M:

Примерно так:

H1[1] , H1[2], H1[3], H1[4], ..., H1[100],  W1[1], W1[2], W1[3], W1[4], ..., W1[100], MN[1], MN[2], MN[3], MN[4], ..., MN[100]

H1[2] , H1[3], H1[4], H1[5], ..., H1[101],  W1[2], W1[3], W1[4], W1[5], ..., W1[101], MN[2], MN[3], MN[4], MN[5], ..., MN[101]

H1[3] , H1[4], H1[5], H1[6], ..., H1[102],  W1[3], W1[4], W1[5], W1[6], ..., W1[102], MN[3], MN[4], MN[5], MN[6], ..., MN[102]

нет, так не прокатит - Вы таким обучением будете в будущее подглядывать

Вы MQL владеете? можно было бы тестовые примеры обсудить - тема довольно интересная для меня

 

вот сделал выгрузку времени открытия бара в тестере, посмотрите как формируются новые бары:

 
Igor Makanu:

нет, так не прокатит - Вы таким обучением будете в будущее подглядывать

Вы MQL владеете? можно было бы тестовые примеры обсудить - тема довольно интересная для меня

Не совсем понял, как я буду в будущее подглядывать?

MQL владею только на базовом уровне, мне он особо не нужен. Пишу профессионально на C#. Для себя все котировки загрузил в SQL-базу и с ней работаю, периодически подгружая новые котировки.

У вас какая-то странная таблица. Время открытия бара всегда совпадает по вертикали. Если открылся недельный бар, то в это же время откроется и D1, H12-H1, M15 и т.д., любой тф ниже недели, кратный неделе.

 
Anton_M:

У вас какая-то странная таблица. Время открытия бара всегда совпадает по вертикали. Если открылся недельный бар, то в это же время откроется и D1, H12-H1, M27, M15 и т.д., любой тф ниже недели.

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

первый столбец - это опорный ТФ, появился новый бар на этом ТФ - пишем время открытия бара №1 на старших ТФ

желтым выделил время открытия новых баров

именно в такой последовательности формируются бары по всем ТФ, а в Вашем примере происходит подглядывание в будущее


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

Файлы:
 
Igor Makanu:

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

первый столбец - это опорный ТФ, появился новый бар на этом ТФ - пишем время открытия бара №1 на старших ТФ

желтым выделил время открытия новых баров

именно в такой последовательности формируются бары по всем ТФ, а в Вашем примере происходит подглядывание в будущее

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

 
Anton_M:

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

тогда у Вас другая задача, Вы просто анализируете бар №0 старших ТФ, по сути Вы просто подаете при обучение max и min значение массива H1[]

но по моему это не совсем правильно - НС и так веса перестроит если нужны будут значения max и min

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

 
Igor Makanu:

тогда у Вас другая задача, Вы просто анализируете бар №0 старших ТФ, по сути Вы просто подаете при обучение max и min значение массива H1[]

но по моему это не совсем правильно - НС и так веса перестроит если нужны будут значения max и min

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

На C# удобно формировать датасет, тем более что котировки в SQL-базе лежат. Саму НС пытаюсь на питоне делать - Tensorflow+Keras. Кстати, гугл даёт бесплатную возможность обучать свою сеть в течение, кажется, 8ми часов на GPU с 16Гб. оперативки (colab research google com). Что не может не радовать, т.к. у меня комп древний.

Пока про подключение C# к MQL только в планах. Для начала хоть бы так что-то заработало, а остальное уже просто мелочи.
 
Igor Makanu:

тогда у Вас другая задача, Вы просто анализируете бар №0 старших ТФ, по сути Вы просто подаете при обучение max и min значение массива H1[]

но по моему это не совсем правильно - НС и так веса перестроит если нужны будут значения max и min

А может и не перестроит. Чем более конкретными будут обучающие данные, тем более конкретным будет результат (ну это в моём понимании). Лучше фичи задавать явно, а не надеяться на магию обучения.

 
Anton_M:

На C# удобно формировать датасет, тем более что котировки в SQL-базе лежат. Саму НС пытаюсь на питоне делать - Tensorflow+Keras. Кстати, гугл даёт бесплатную возможность обучать свою сеть в течение, кажется, 8ми часов на GPU с 16Гб. оперативки (colab research google com). Что не может не радовать, т.к. у меня комп древний.

Пока про подключение C# к MQL только в планах. Для начала хоть бы так что-то заработало, а остальное уже просто мелочи.

понятно, увы у меня такая же путаница в возможностях машинного обучения - несколько недель собираю инфу в сети, все на Питоне сидят, в C# вроде есть аналоги ( keras-sharp ), но инфы очень мало, Питон интересен, но только благодаря своей безумной поддержкой в инете и возможностью консольного ввода, для тестирования -  совсем не вариант связка MQL - Python

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


Anton_M:

А может и не перестроит. Чем более конкретными будут обучающие данные, тем более конкретным будет результат (ну это в моём понимании). Лучше фичи задавать явно, а не надеяться на магию обучения.

зависит от конкретного пакета НС, много скрытых реализаций от пользователя - нужно тестами проверять, но думаю, что обсуждаемый пример - поиск min и max НС сама всегда должна обнаруживать,

простые сети, все равно формируют результирующий полином 

net=i=1nxiwi

и веса w меняются от значимости данных, если Вы постоянно подаете min и max, то возможно будет относительно этого входа НС сформирован больший коэф. w  , но значит где то будут уменьшены другие веса...

ладно это все только тестами можно выяснить и в конкретной реализации НС могут отличаться результаты (даже от способа нормализации вх. данных могут отличаться результаты) - все равно "черный ящик" будет

 
Igor Makanu:

понятно, увы у меня такая же путаница в возможностях машинного обучения - несколько недель собираю инфу в сети, все на Питоне сидят, в C# вроде есть аналоги ( keras-sharp ), но инфы очень мало, Питон интересен, но только благодаря своей безумной поддержкой в инете и возможностью консольного ввода, для тестирования -  совсем не вариант связка MQL - Python

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

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

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

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