Perceptron, Нейронная сеть |
Здравствуйте, гость ( Вход | Регистрация )
Perceptron, Нейронная сеть |
leonid553 |
23.3.2007, 11:29
Сообщение
#1
|
Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Yury V. Reshetov
Нейронная сеть Что такое нейронная сеть или Perceptron? Это алгоритм использующий уравнение линейного неравенства (линейного фильтра), с помощью которого можно причислить исследуемый объект к тому или иному классу или же наоборот исключить его из этого самого класса объектов. Само неравенство выглядит так: w1 * a1 + w2 * a2 + ... wn * an > d где: 1. wi - весовой коэффициент с индексом i; 2. ai - численное значение признака с индексом i исследуемого объекта; 3. d - пороговое значение, чаще всего равное 0. Дело в том, что геометрически плоскость описывается линейным уравнением. Например, в трехмерном пространстве относительно координат X, Y и Z уравнение плоскости имеет вид: A * X + B * Y + C * Z + D = 0 Координаты всех точек, расположенных по одну сторону от плоскости, в этом самом пространстве, удовлетворяют неравенству: A * X + B * Y + C * Z + D > 0 А координаты всех точек лежащих по другую сторону от плоскости, удовлетворяют неравенству: A * X + B * Y + C * Z + D < 0 Таким образом, если нам известно уравнение некой плоскости и координаты любых точек, то мы можем разделить множество всех точек пространства на два множества точек, разделяемых этой самой плоскостью. ПОСТАНОВКА ЗАДАЧИ Если мы разделим объекты на два класса: открываемые длинные позиции и короткие позиции, а в качестве признаков возьмем значения индикаторов или осцилляторов технического анализа, то остается лишь выяснить уравнение плоскости и попытаться с ее помощью произвести идентификацию. Постановка задачи ясна. Множества точек пересекаются в пространстве и провести четкую разделительную черту между ними невозможно. Единственным и приемлемым решением здесь является линия, которая будет отделять оба множества точек таким образом, чтобы с ее помощью большинство красных объектов оказалось по одну сторону, а синих по другую. На сей раз, мы имеем дело с задачей оптимизации, то есть поиском уравнения разделяющей плоскости или линии, способной максимально разделить два класса объектов друг от друга, но с вероятностью того, что часть точек, принадлежащих одному классу, будет ошибочно идентифицировано, как принадлежащих к классу другому. Попробуем теперь определиться с постановкой задачи, которую мы собираемся решить. Элементарно, что нужно знать трейдеру для прибыльной торговли - это направление движения котировок. То есть если котировки пойдут вверх, то следует открыть длинную позицию. Если вниз, то необходимо открывать позицию короткую. Следовательно, два класса объектов у нас уже есть, а именно, направление движения котировок. Для того, чтобы принять решение, следуя техническому анализу, трейдеры прибегают к исследованию так называемых технических индикаторов или осцилляторов. Мы также будем исследовать осциллятор. Поскольку технические осцилляторы - это гистограммы, значения которых отклоняются от горизонтальной линии, то соответственно и нейронная сеть нам понадобится с линейным фильтром. В качестве признаков объекта, будем брать паттерны, то есть значения осциллятора в четырех точках, взятые с шагом в семь периодов вглубь истории, начиная от текущего момента. Эскизы прикрепленных изображений |
leonid553 |
14.4.2007, 17:05
Сообщение
#71
|
Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Благодарю!
Поставил. Оч. полезная штуковина! Теперь наглядно видно работу перцептрона на истории! И Веса теперь изначально можно подбирать не от фонаря - а осмысленно. iPeriod - в коде - также нужно подставлять в др. индикаторы... Только он у меня почему-то не работает - так как нужно! Показывает только отрицательные значения! А вместо положительных - сплошная штриховка! Эскизы прикрепленных изображений |
NoName |
14.4.2007, 18:08
Сообщение
#72
|
Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
Дело оказалось в билде MT! На 203-м работает нормально, а на 202 такая же картинка. Если 202 на Windows2000 - вообще падает терминал. Почему так - не пойму, вроде бы простенький индикатор, да и в последнем билде особых изменений нет.
|
leonid553 |
15.4.2007, 8:06
Сообщение
#73
|
Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Благодарю! Так и случилось! Сейчас поставил билд 203 и всё стало ОК!
|
NoName |
15.4.2007, 13:01
Сообщение
#74
|
Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
Цитата так пусть курят лучше два варианта советника - один из которых работает только в режиме ONLY LONG,а другой - ONLY SHORT Но это в перспективе... В архиве два советника: один открывает только длинные позиции, другой только короткие. Код пререписал по своему, но принцип работы остался тот же. Только трал заменил тралом от Кима. Magic формируется автоматически в зависимости от инструмента и ТФ. LongShort.rar ( 4.12 килобайт ) Кол-во скачиваний: 429 Сообщение отредактировал NoName - 16.4.2007, 15:35 |
leonid553 |
15.4.2007, 17:20
Сообщение
#75
|
Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Поставил.
Сходу удалось получить +2550 за три года. в лонге. Зарядил на оптимизацию. Жду ... |
NoName |
15.4.2007, 18:38
Сообщение
#76
|
Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
Провёл оптимизацию советника LongOnly по фунту на H1 по данным Лайтфорекса. Оптимизация провоилась за 2006. Период с января 2007 по сегодня оставил как экзаменационный.
Отчёты тестов приведены ниже. OnlyLong_Opt_2006.rar ( 42.76 килобайт ) Кол-во скачиваний: 302 OnlyLong_Exam_2007.rar ( 16.6 килобайт ) Кол-во скачиваний: 279 P.S. Выше была проверка на выживаемость Вот теперь думаю, для постановки на демо оптимизировать его по сегодня или всё же оставить недельки 2-4 для проверки ??? |
leonid553 |
16.4.2007, 11:53
Сообщение
#77
|
Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
Слушай!
Что-то мне "тревожно" стало за эти версии! Сделок должно быть поболе - чем мы "имеем" ! По шорту - зарядил фунтик - так он мне за полтора года выдал всего три сделки ! (ладно - хоть профитных) В коде мне пока трудновато разобраться! Дай пож. сюда кусочек - где прописаны условия на вход и прокомментируй, пож. детально! |
NoName |
16.4.2007, 12:10
Сообщение
#78
|
Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
На счёт шорта и меня стали сомнения терзать. Сейчас ещё раз проверю не допустил ли ошибки, если не найду то выложу с комментариями
|
leonid553 |
16.4.2007, 12:18
Сообщение
#79
|
Группа: Активный участник Сообщений: 2 002 Регистрация: 14.4.2006 Из: г.Самара Пользователь №: 28 Спасибо сказали: 11 раз(а) |
В любом случ. надо код - для ясности
|
NoName |
16.4.2007, 14:33
Сообщение
#80
|
Группа: Активный участник Сообщений: 514 Регистрация: 1.5.2006 Из: Украина, Кременчуг Пользователь №: 146 Спасибо сказали: 0 раз(а) |
Цитата Слушай! Что-то мне "тревожно" стало за эти версии! Сделок должно быть поболе - чем мы "имеем" ! По шорту - зарядил фунтик - так он мне за полтора года выдал всего три сделки ! (ладно - хоть профитных) В коде мне пока трудновато разобраться! Действительно, допустил ошибку. В советнике использовался обычный стохастик вместо двухполярного. Но дело в другом. Когда всё исправил - вообще не могу получить положительного результата! |
Текстовая версия | Сейчас: 6.7.2024, 0:36 |