Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
нормализовывать не всегда нужно, кто сказал что сеть МОЖЕТ и ДОЛЖНА работать только с 0 и 1 ?
могу прикрепить простую сетку с примером, (к сожалению сейчас под рукой нет материалов) - попозже прикреплю
где простая NN решает эту задачу без предварительной подготовки данных с нормализацией
к сожалению это не исходник
впрочем пример который я дал! он как бы уже нормализован
условие есть два диапазона
1 0-100
2 10-30
необходимо просто найти отношение положения в одном диапазоне - которое известно к
по сути это масштабирование
Нормализация нужна практически всегда. Данные должны находиться в пределах области определения ф-ции активации.
В скрипте сигмоид [-1;+1]. Если заменить скажем на экспоненциальную ... или квадратный корень.
http://www.statsoft.ru/home/portal/applications/NeuralNetworksAdvisor/Adv-new/ActivationFunctions.htm
http://www.statsoft.ru/statportal/tabID__32/MId__141/ModeID__0/PageID__354/DesktopDefault.aspx
вот пример создания сети ... на вход подается LOW т е нет нормализации
http://www.statsoft.ru/statportal/tabID__32/MId__141/ModeID__0/PageID__354/DesktopDefault.aspx
вот пример создания сети ... на вход подается LOW т е нет нормализации
Использовать не нормированные данные иногда очень полезно. Они не теряют информативность, которая может быть потеряна в ходе преобразований.
А формализованного механизма определения информативности обучающей выборки нет ...
Кстати, там в статье нигде не отображено какая ф-ция активации используется. Судя по всему, что-то с областью определения [-inf;+inf] or [0;+inf] ...
немного изменил программу!
чуточку изменил формат вывода на экрантеперь СКРИПТ считает своим долгов вычислить с высокой точностью выходные данные
программа конечно не универсальная уже получилась а заточенная под кол входов и выходов
но размер скрытого слоя! подбирается в процессе обучения
следующий релиз - попробую сделать гибким по количеству входов и выходов
и если получится добавлю генетическим алгоритмом
цель которого будет убийство НЕЙРОНОВ с большим количеством ошибок
и размножение нейронов с малым количеством ошибок!
т е по сути поиск в массиве тех нейронов которые имеют наименьшее количество ошибок и создание от них потомства которое будет замещать
те нейроны которые плохо себя зарекомендовали...
1 Скорость обучения на текущий момент низкая
2 изменение - количества нейронов скрытого 1-го уровня случайное без логики
3 остановка обучения при полученни высокой точности по образцу данных на входе и выходе
Как пользоваться этим? Наложил на график скрипт, кучи цифр начали переписываться... Что они говорят эти цифры?
Как пользоваться этим? Наложил на график скрипт, кучи цифр начали переписываться... Что они говорят эти цифры?
А Вам зачем ? Я, имея свой собственнй алгоритм тренировки сети по ГА и то с трудом в коде разобрался - время надо на это тратить, понять куда входы пихнуть, как из этого выхода вывести и когда бай-сел делать и вообще можно ли ? Или Вы тут за граалем пробегали ?
Как пользоваться этим? Наложил на график скрипт, кучи цифр начали переписываться... Что они говорят эти цифры?
А Вам зачем ? Я, имея свой собственнй алгоритм тренировки сети по ГА и то с трудом в коде разобрался - время надо на это тратить, понять куда входы пихнуть, как из этого выхода вывести и когда бай-сел делать и вообще можно ли ? Или Вы тут за граалем пробегали ?
Blast не ищите тут советника или индикатора - до этого еще далеко
это скоре изучение принципов работы нейросети причем на MQL4
---
вообще разумно это писать на C++ в виде DLL если цеплять к MT, или иных языках - быстрых
Loknar - это лишь модификация скрипта выложенного в начале с попыткой получить более точные данные на выходе
--
кстати попытался добавить слой :-), не говоря уже о выходах входах ... труба алгоритм обучения просто умирает в момент...
---
хочу попробовать что то типа
3 выхода
на выходе не тупо 0 или 1 или -1 0 +1 а некий диапазон
x 0 0 - бай удержание бай
0 x 0 флет ( выход из бай или селл )
0 0 x селл удержание селл
где х не является 0 или 1 а имеет некую девитацию в неком диапазоне к примеру -1.000 0.000 +1.000
т е может принимать значение скажем 0.1122 или -0.012
комбинация 3 выходов анализируется на предмет пересечения границ
входы 9 на каждом ТФ - берем M1 M5 M15 M30 H1 H4 итого 54 входа
подаем разницу между средними 3 5 8 13 21 34 55 89 144 233 по каждому тф
итого 3-5 5-8 8-13 13-21 21-34 34-55 55-89 89-144 144-233 итого 9 на каждом тф
получаем что то типа ВЕЕРА СРЕДНИХ в представлении сетки... :-) в матрице
когда имеем что то типа паттерн 2 3 4 5 6 7 8 9 10 11 веер полностью раскрылся вверх судя по всему селл
когда имеем паттерн -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 веер полностью раскрылся вниз - БАЙ
циферки условные бывает и такой паттерн -1 -3 -7 - 10 -15 -20 -30 -40 -80 на большем тф---
обучающая выборка что то типа
1 2 1 0 -3 2 3 0 4 M1
-1 2 -1 0 1 2 3 0 -4 M5
...
........................ H4
Подготовка данных для обучения
Как пользоваться этим? Наложил на график скрипт, кучи цифр начали переписываться... Что они говорят эти цифры?
А Вам зачем ? Я, имея свой собственнй алгоритм тренировки сети по ГА и то с трудом в коде разобрался - время надо на это тратить, понять куда входы пихнуть, как из этого выхода вывести и когда бай-сел делать и вообще можно ли ? Или Вы тут за граалем пробегали ?
Изначально мне нравится сама идея нейронных сетей. О ней знаю только лишь, что имея 1000 точек каким-то образом сеть сойдется в одну точку... и что автотрейдинг был выйгран с советником на алгоритме сетей. У меня есть планы создать свой вариант такой сети, но на данном этапе я непонимаю ничего, ни в mql4 ни в нейронных сетях.
Поэтому сначала впишу свою стратегию в советника, чтоб выучить mql4. Ну а потом уже с сетями думать будут.
Твой вариант скачал ради интереса. Впервые столкнулся с подобными вещами. Ничего вообще не понимаю в работе таких сетей. Поэтому и возникли такие вопросы.
Кстати буду рад любым ссылкам по подобной тематике, которые на ваш взгяд достойны внимания!
ЭТА ЖЕ СЕТЬ
немного изменил программу!
чуточку изменил формат вывода на экрантеперь СКРИПТ считает своим долгов вычислить с высокой точностью выходные данные
программа конечно не универсальная уже получилась а заточенная под кол входов и выходов
но размер скрытого слоя! подбирается в процессе обучения
следующий релиз - попробую сделать гибким по количеству входов и выходов
и если получится добавлю генетическим алгоритмом
цель которого будет убийство НЕЙРОНОВ с большим количеством ошибок
и размножение нейронов с малым количеством ошибок!
т е по сути поиск в массиве тех нейронов которые имеют наименьшее количество ошибок и создание от них потомства которое будет замещать
те нейроны которые плохо себя зарекомендовали...
1 Скорость обучения на текущий момент низкая
2 изменение - количества нейронов скрытого 1-го уровня случайное без логики
3 остановка обучения при полученни высокой точности по образцу данных на входе и выходе
ЭТА ЖЕ СЕТКА но написанная на Microsoft Visual C++ 6.0
скорость работы на порядки выше чем на MQL4
алгоритм не менялся, перенос с MQL4 на C++ максимально прямой, без применения объектов - классов
Еще вариант но на MQL
просто попытка работы на M1 показывает текущее направление тренда
выход 3 числа, по идее можно не обучать при пуске - а сразу взять готовые Веса - обучить заранее
---
9 входов на которые подается нормализованная разность мувингов
---
out-1 out-2 out-3 выход
0.9 0.01 0.01 trend up
0.01 0.9 0.01 flet
0.01 0.01 0.9 trend Down
---
планирую добавить 3-4 таймфрейма и обсчитывать из сразу!
PNN когда уже веса накрутила работает очень быстро
---
код тестовый эксперементальный - прошу не пинать