Здравствуйте, гость ( Вход | Регистрация )

> 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   Perceptron   23.3.2007, 11:29
NoName   Я, наверное, временно откажусь от версии с двумя о...   28.4.2007, 20:03
leonid553   Версия с лотами работает - ну как часики! Спас...   29.4.2007, 8:52
NoName   Тут нужно найти золотую середину! Увеличение...   29.4.2007, 10:08
leonid553   Тут нужно найти золотую середину! Увеличени...   29.4.2007, 11:17
leonid553   просто изменил число лотов - в начальном условии н...   29.4.2007, 10:14
leonid553   Но здесь строго :angry: придется использовать ту...   29.4.2007, 11:27
NoName   Вот тут или ты уже запутался или я чего-то не по...   29.4.2007, 11:45
leonid553   ДА действительно! Поторопился я немного. Трети...   29.4.2007, 12:43
leonid553   166 СДЕЛОК В ПЕРВОЙ ВЕРСИИ закрылись с профитом...   4.5.2007, 20:13
leonid553   Как это реализовать программно?. И насколько это р...   29.4.2007, 14:40
NoName   Ну теперь всё ясно и понятно. Завтра-послезавтра ...   29.4.2007, 16:21
leonid553   А я вот пока задумался о просадке. :angry: Пожал...   29.4.2007, 17:54
leonid553   Предположим, я хочу ввести дополнительное условие ...   30.4.2007, 13:17
NoName   Да, правильно. Но лучше для индикатора в основном ...   30.4.2007, 14:46
leonid553   Понял! Благодарю!   30.4.2007, 16:19
leonid553   В свете последних событий на счете , т.е. поведени...   2.5.2007, 11:33
NoName   Честно говоря, я сейчас сознательно пытаюсь уйти о...   2.5.2007, 17:02
leonid553   Перелопатил десятки (без приувеличения) индикаторо...   5.5.2007, 18:10
NoName   А мне пока что видится использование вместо перцеп...   5.5.2007, 18:38
leonid553   Ну как зачем ! Видим, :unsure: - пошел отскок...   6.5.2007, 19:25
NoName   :) Если мы отключим советник, то у нас линия балан...   6.5.2007, 21:20
leonid553   На реале - отключим. На демо - оставим! Кстати...   7.5.2007, 7:18
leonid553   to NoName: Вот ты писал недавно - "Сейчас мне...   9.5.2007, 12:19
leonid553   to NoName: По аналогии с обьединенной версией сове...   31.7.2007, 10:42
NoName   Не заметил вовремя этот пост. Но, смотрю, ты и без...   31.7.2007, 15:12
leonid553   Вставил трейлинг. Работает советник. Но.... Не так...   31.7.2007, 15:13
NoName   Совершенно верно. Всё что помещено в этих скобках ...   31.7.2007, 15:28
leonid553   Понятно. Спасибо.   31.7.2007, 15:42
leonid553   Убрал - if (isNewBar) { .... } И заработал экспер...   31.7.2007, 15:57
NoName   Для того что бы не править библиотеку с тралом м...   31.7.2007, 16:41
NoName   Только вот подумал что этот код сгодится только д...   31.7.2007, 16:59
leonid553   Это я у же все сделал"! (без библиотеки) ...   31.7.2007, 17:13
NoName   Ну код который я выложил выше, он как раз с разным...   31.7.2007, 17:13
leonid553   Понял! Прошу прощ. за невнимательность!   31.7.2007, 17:20
NoName   Немного подумал и решил что всё же грамотнее будет...   31.7.2007, 17:22
leonid553   Немного подумал и решил что всё же грамотнее буде...   20.8.2007, 17:53
leonid553   Ок! Сейчас гляну! Кстати! Что это за т...   31.7.2007, 17:38
NoName   Это стандартная библиотека метатрейдера, в которой...   31.7.2007, 18:13
leonid553   Ок! Понял! :o :)   31.7.2007, 18:15
leonid553   Только обьясни пож., почему грамотнее будет исполь...   31.7.2007, 18:42
NoName   Да потому что не нужно повторять код два раза...   31.7.2007, 20:29
leonid553   Понял! И ещё. Обьясни пож. смысл вот этих стро...   1.8.2007, 14:46
NoName   bool isNewBar=false; if (ExpertBars !=Bars...   1.8.2007, 17:20
leonid553   Благодарю за разъяснение!   1.8.2007, 17:52
leonid553   Ещё вопрос /---- input parameters extern strin...   2.8.2007, 19:18
NoName   А у тебя вообще переменная Spread где-то используе...   2.8.2007, 19:50
leonid553   Я тогда её вот в эти блоки вставлю - хуже не будет...   2.8.2007, 19:58
NoName   Нет, как есть нельзя оставлять. Тралить не будет в...   3.8.2007, 6:30
leonid553   Ок! Вставил вместо Symbol() в тралах - названи...   3.8.2007, 9:34
NoName   Не на ТИКАХ, а на барах. Думаю что с условием всё...   3.8.2007, 10:07
leonid553   Как это, - " не на тиках а на барах" ? С...   3.8.2007, 11:53
NoName   ------Проверяем условие на покупку------------- ...   3.8.2007, 14:58
leonid553   Ок! Тогда вот что! Пусть у нас нет открыты...   3.8.2007, 15:56
leonid553   В одной из статей на форуме MQ нашел пример того -...   3.8.2007, 16:19
leonid553   Вот ещё один момент . Мы как-то его уже выясняли. ...   5.8.2007, 7:09
leonid553   При использовании "ускоренной" версии с...   5.8.2007, 8:17
NoName   Привет! Попробую по порядку. вроде бы в этой...   6.8.2007, 7:40
leonid553   Ок! Благодарю! Ещё вопрос. Вот сегодня на ...   6.8.2007, 11:38
NoName   Именно! Я же говорил тебе не использовать эту ...   6.8.2007, 15:20
leonid553   Ок! Вот ещё проблема с мультивалютной версией...   6.8.2007, 16:48
leonid553   Возможно причина в функции OrderSend, кот. мы испо...   6.8.2007, 19:10
NoName   Этот блок проверяет есть ли открытая позиция с и...   6.8.2007, 19:48
leonid553   Всё понятно теперь! За исключением ТФ! Отк...   6.8.2007, 19:52
NoName   Какая разница по какому ТФ открывать позицию? На ...   6.8.2007, 19:56
leonid553   Но показания индюков-то должны сниматься с конкрет...   6.8.2007, 20:03
NoName   У индюков вторым параметром идёт таймфрейм: ( stri...   6.8.2007, 20:07
leonid553   Благодарю! На сегодня вопросов больше нэт!   6.8.2007, 20:20
leonid553   По мультивалютному сделал так: (Задействовал ф-ю M...   7.8.2007, 4:02
NoName   Вот тут ошибка: OrderSend("USDCHF", OP_B...   7.8.2007, 7:54
leonid553   да нет! это я здесь так написал - "240...   7.8.2007, 10:20
NoName   Число 49 взял от фонаря. Почему именно его - не по...   7.8.2007, 11:46
leonid553   Число 49 взял от фонаря. Почему именно его - не п...   8.8.2007, 6:25
NoName   вот в последней версии для ускоренных ресчетов в...   8.8.2007, 9:26
leonid553   Ок! В следующей, - трехвалютной версии я, пожа...   7.8.2007, 13:17
leonid553   А условие на открытие позиции вот такое - if ...   7.8.2007, 13:29
NoName   Скорее всего дело не с ордерами а с настройками. Н...   7.8.2007, 13:35
leonid553   Всё соответствует! и магик задан extern int ...   7.8.2007, 13:54
leonid553   /=================================================...   7.8.2007, 14:52
leonid553   Вроде бы разобрался! Установил. Скомпеллировал...   7.8.2007, 16:24
leonid553   Вставляю третью и последнюю пару. В мультивалютный...   7.8.2007, 19:08
leonid553   Обнаружился вроде глюк в версии с вызовом индюка...   8.8.2007, 17:46
NoName   Почему значения Env_up [0] и Env_low[0] должны м...   8.8.2007, 19:00
leonid553   Понял. По мульти ещё вопрос. Как раз по блокировке...   9.8.2007, 5:34
NoName   string st=""; if (ZeroBarOrd) st=...   9.8.2007, 10:16
leonid553   Думаю - что на счету Лайта-реал можно закрыть рабо...   9.8.2007, 10:51
NoName   На счёт AI согласен, думаю нет надобности его боль...   9.8.2007, 13:54
leonid553   Закончил мульти-версию. Три пары задействОвал. По ...   9.8.2007, 14:33
leonid553   Никак у меня не получается вставить блокировку в к...   9.8.2007, 17:30
NoName   Привет, Леонид! Получил почту, спасибо. Правда...   10.8.2007, 15:40
leonid553   Ок! Там в трехвалютке не отображалась информац...   10.8.2007, 16:21
NoName   По поводу цвета значков. Попробовал у себя полож...   11.8.2007, 12:48
leonid553   Поставил вопрос на MQ http://forum.mql4.com/ru/783...   11.8.2007, 12:53
leonid553   to NoName: Вот ещё идея подошла! Нет необходим...   13.8.2007, 15:22
leonid553   Решил проблему с библиотекой "b-lots". Д...   17.8.2007, 13:36
Dimi   Вот попробовал на скорую руку советника сделать по...   29.8.2007, 13:52
NoName   Скажу сразу что в суть кода не вникал. variable ...   29.8.2007, 15:07
leonid553   Dimi, возьми для начала одно - самое простое услов...   29.8.2007, 17:39
leonid553   но сначала вот что. В мт4 два типа индикаторов. Вс...   29.8.2007, 18:03
Dimi   Дааа блин, как все запущенно..... :scare: Разбират...   29.8.2007, 20:28
leonid553   double iCustom( string symbol, int timeframe, stri...   30.8.2007, 5:44
3 страниц V < 1 2 3 >


Ответить в эту темуОткрыть новую тему

 



- Текстовая версия Сейчас: 13.3.2026, 2:07