Нечеткая логика в MQL5.

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Нечеткая логика в MQL5.

Сообщение Рэндом » 24 мар 2017, 02:18

Введение.

Иногда при программировании советников можно столкнуться с тем что система плохо поддается формализации. И действительно в естественном языке есть такие понятия как тепло, холодно или жарко и другие похожие понятия. Это нечеткие понятия. Т.е. они размыты. Например 18 градусов это тепло, но и 21 градус это тепло, а 30 градусов это уже жарко, но и 35 это тоже жарко. Но все дело в том, что компьютер оперирует точными цифрами и жесткими понятиями. Если мы при программировании сталкиваемся с нечеткими понятиями, то такие понятия описать очень сложно. Вот тут и приходит на помощь нечеткая логика. Нечеткая логика — это раздел математики оперирующий нечеткими множествами и логикой над такими множествами. Нечеткая логика просто незаменима в тех случаях, когда на поставленный вопрос нет чёткого ответа (да или нет; «0» или «1») или наперёд неизвестны все возможные ситуации. Создал нечеткую логику Лютфи Заде в 1965 году. А создатели Метатрейдер 5 добавили библиотеку нечеткой логики в этот терминал. Вот ее мы и рассмотрим далее. Но сначала подробней о самой нечеткой логике.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Нечеткая логика в MQL5.

Сообщение m555 » 25 мар 2017, 18:25

Рэндом писал(а):
Введение.

Иногда при программировании советников можно столкнуться с тем что система плохо поддается формализации. И действительно в естественном языке есть такие понятия как тепло, холодно или жарко и другие похожие понятия. Это нечеткие понятия. Т.е. они размыты. Например 18 градусов это тепло, но и 21 градус это тепло, а 30 градусов это уже жарко, но и 35 это тоже жарко. Но все дело в том, что компьютер оперирует точными цифрами и жесткими понятиями. Если мы при программировании сталкиваемся с нечеткими понятиями, то такие понятия описать очень сложно. Вот тут и приходит на помощь нечеткая логика. Нечеткая логика — это раздел математики оперирующий нечеткими множествами и логикой над такими множествами. Нечеткая логика просто незаменима в тех случаях, когда на поставленный вопрос нет чёткого ответа (да или нет; «0» или «1») или наперёд неизвестны все возможные ситуации. Создал нечеткую логику Лютфи Заде в 1965 году. А создатели Метатрейдер 5 добавили библиотеку нечеткой логики в этот терминал. Вот ее мы и рассмотрим далее. Но сначала подробней о самой нечеткой логике.


И действительно как более точно определить это "0" или все таки "1"? Вот например даже и не только для программирования можно столкуться с подобным выбросом, когда например по ТФ день наблюдается что цена пойдет на снижение и по ТФ неделя на повышение. В общем можно говорить, что первый день будет снижение и в итоге выйдет цена на росте. Но это наверное слабый пример, просто вспомнил сегодняшний прогноз.
Жду продолжения.
Аватар пользователя
m555
 
Сообщений: 3443
Зарегистрирован: 09 июл 2015, 21:55
Средств на руках: 51.77 Доллар
Награды: 1
Ветеран I (1)
Группа: Базовая
Благодарил (а): 507 раз.
Поблагодарили: 376 раз.

Re: Нечеткая логика в MQL5.

Сообщение Haos » 25 мар 2017, 18:37

Неумение это определить говорит не о том, что нужна нечеткая логика, а что "четкой логики" не хватает трейдеру. Все эти замороки в терминале специально даются чтобы увести трейдера в дебри иллюзии.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Нечеткая логика в MQL5.

Сообщение m555 » 25 мар 2017, 21:40

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


Даже и не сомневался, что от вас будет подобный ответ.
А может все трейдеры видят рынок как-то по своему? Вот как например объяснить когда по какой нибудь паре показывают, что количество покупателей примерно равно количеству продавцов? И очень часто такое наблюдается именно по евро/доллару. Что все торгуют в разные стороны и в локах вечных сидят?
Весь рынок это иллюзия и трейдеры часто торгуют лишь "воздухом".
Аватар пользователя
m555
 
Сообщений: 3443
Зарегистрирован: 09 июл 2015, 21:55
Средств на руках: 51.77 Доллар
Награды: 1
Ветеран I (1)
Группа: Базовая
Благодарил (а): 507 раз.
Поблагодарили: 376 раз.

Re: Нечеткая логика в MQL5.

Сообщение Рэндом » 26 мар 2017, 01:21

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

Нечеткая логика имеет широкое применение. Она даже используется в стиральных машинах. ::yaz-yk: И есть информация об успешном использовании в трейдинге японцами. Я думаю что это не случайность. И если бы они могли сделать свою систему без нечеткой логики, то сделали. Хотя... Любую систему можно запрограммировать. Ведь та же нечеткая логика работает на "четком" :-) компьютере. Здесь другой вопрос. Затраты сил на разработку.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Нечеткая логика в MQL5.

Сообщение Рэндом » 26 мар 2017, 01:29

Информация для подумать. Рассмотрим температуру. Тепло имеет значение 0.5 (уже не 0 или 1). Жарко имеет значение 0.5. И какой вывод из этого можно сделать при помощи обычной логики? А никакого. А какой вывод сделает человек? Уже не тепло, но еще не жарко. Нечеткая логика сделает такой же вывод.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Нечеткая логика в MQL5.

Сообщение Haos » 26 мар 2017, 08:45

Рэндом писал(а):Информация для подумать. Рассмотрим температуру. Тепло имеет значение 0.5 (уже не 0 или 1). Жарко имеет значение 0.5. И какой вывод из этого можно сделать при помощи обычной логики? А никакого. А какой вывод сделает человек? Уже не тепло, но еще не жарко. Нечеткая логика сделает такой же вывод.

Ты путаешь термины которыми человек описывает свои ощущения с математикой с четкими значениями. В твоем примере речь идет о дополнительной формализации градаций диапазонов температур в качестве "ощущений человека". Это имеет отношение (косвенное) к экспертной оценке, которая является разделом в эконометрике для изучения. Здесь не нужно ничего фантазировать как с точки зрения применять ли нечеткую логику, поскольку это то, что я уже написал выше и не буду повторяться, так и то, что делается с помощью упомянутой экспертной оценки. Далее дискуссию прекращаю, поскольку понятно, что любая новая игрушка должна наскучить сначала, т.е. прийти понимание, что она не имеет отношения к трейдингу. На это нужно потратить время.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Re: Нечеткая логика в MQL5.

Сообщение Haos » 26 мар 2017, 08:49

Кстати, в неумелых руках нечеткая логика приводит вот к таким курьезам, когда в тесте по литературе бывает такое:
Вопрос: любил ли Онегин Татьяну?
Варианты ответа:
- Да
- Нет
- Не сильно
- Не всегда
;;-)))
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Нечеткая логика в MQL5.

Сообщение m555 » 26 мар 2017, 16:07

Haos писал(а):Кстати, в неумелых руках нечеткая логика приводит вот к таким курьезам, когда в тесте по литературе бывает такое:
Вопрос: любил ли Онегин Татьяну?
Варианты ответа:
- Да
- Нет
- Не сильно
- Не всегда
;;-)))


Аналогично можно и для трейдинга подобное написать. Будет ли снижение курса евро/доллар на этой неделе?
И аналогичные ответы.
- Да
- Нет
- Не сильно
- Не всегда.

Если не сильно, то можно просто зафиксировать небольшую прибыль.
Если не всегда, то стоит дождаться такого момента и поймать это движение.
А первых два ответа в комментариях не нуждаются.
Аватар пользователя
m555
 
Сообщений: 3443
Зарегистрирован: 09 июл 2015, 21:55
Средств на руках: 51.77 Доллар
Награды: 1
Ветеран I (1)
Группа: Базовая
Благодарил (а): 507 раз.
Поблагодарили: 376 раз.

Re: Нечеткая логика в MQL5.

Сообщение Рэндом » 26 мар 2017, 21:48

Что такое нечеткие множества?

Нечеткие множества или нечеткие переменные — это основа нечеткой логики.
Давайте рассмотрим четкие множества. Например такое как молодые люди. Например молодыми людми считаются люди в возрасте от 0 до 20 лет. А что если человеку 21 год? Он уже не молодой? Будет естественно если степень молодости будет убывать от 20 до 30 лет. Например от 0 до 20 степень молодости будет равна 1, а от 20 до 30 она будет убывать до 0. Графически изобразить это можно так;
image-doc-l-fl-001-02.gif

Получается что 25 летние еще молоды со степенью 50%. Вот эта функция представленная на картинке и есть нечеткое множество.
Давайте рассмотрим еще один пример близкий трейдеру. Качество отработки уровня. Допустим, что если цена развернулась в пределах 5 пунктов от уровня он отработал идеально. Т.е. от -5 до 5 уровень отработал идеально. Этот вариант будет равен 1. А если цена развернулась от значения меньше -50 и больше 50, то уровень не отработал. Значение будет 0. А от -5 до -50 и от 5 до 50 значение будет изменяться от 1 до 0. Вот мы и получили нечеткую переменную. Она будет описываться трапециевидной функцией.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 74

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron