Обсуждение статьи "Нечеткая логика в торговых стратегиях"

 

Опубликована статья Нечеткая логика в торговых стратегиях:

В статье рассматривается пример использования нечеткой логики для построения простой торговой системы, с использованием библиотеки Fuzzy. Предложены варианты улучшения системы путем сочетания нечеткой логики, генетических алгоритмов и нейронных сетей.

Полученные функции принадлежности на выходе, после оптимизации (входные остались без изменения, поскольку мы их не оптимизировали):

Было изначально:

Стало:

Автор: Maxim Dmitrievsky

 

Давно ждал такую статью, но как-то не полностью раскрыта.

Как ведёт себя система в будущем после оптимизации на истории, есть шанс получать прибыль, и топчется около нуля?

 
Статья очень интересная и более того, она подтверждает гипотезу о несимметричности рынка.
 

Начал читать статью и по ходу на первом же примере словил кучу ошибок.

Оказалось, что в Curve.mqh нет ENUM_LINE_END. Ну прописал его. Вылезло куча ошибок в Canvas.mqh. Например, нет Attach.

Совсем ничего не понимаю. На днях же использовал сам Graphics.mqh, запускаю свои коды, а они тоже не работают.

Даты всех файлов от 05.09.2017 - когда обновился на 1653. Да и точно все работало в 1653.

Ничего не понимаю, и прошу прощения у Автора за этот почти оффтоп.


Чтобы не быть голословным, прикрепил mqh-файлы. Совсем не понимаю, что могло произойти.


ЗЫ Поставил 1643 и 1653 - не помогает.

Файлы:
Curve.mqh  23 kb
Canvas.mqh  83 kb
 
fxsaber:

Начал читать статью и по ходу на первом же примере словил кучу ошибок.

Оказалось, что в Curve.mqh нет ENUM_LINE_END. Ну прописал его. Вылезло куча ошибок в Canvas.mqh. Например, нет Attach.

Совсем ничего не понимаю. На днях же использовал сам Graphics.mqh, запускаю свои коды, а они тоже не работают.

Даты всех файлов от 05.09.2017 - когда обновился на 1653. Да и точно все работало в 1653.

Ничего не понимаю, и прошу прощения у Автора за этот почти оффтоп.


Чтобы не быть голословным, прикрепил mqh-файлы. Совсем не понимаю, что могло произойти.


ЗЫ Поставил 1643 и 1653 - не помогает.

Добрый день. Вы используете старую версию файла Canvas.mqh.

Актуальная версия файла в аттаче.

Файлы:
Canvas.mqh  152 kb
 
Vitaly Muzichenko:

Давно ждал такую статью, но как-то не полностью раскрыта.

Как ведёт себя система в будущем после оптимизации на истории, есть шанс получать прибыль, и топчется около нуля?


Привет, после оптимизации любая система ведет себя случайным образом на новой выборке, если не было хотя бы walk-forward тестирования, эта статья была маленько не об этом ,а об том что в MT5 есть такая библиотека, которую никто не использует, и которую можно использовать оригинальными способами :) Можно даже нейросеть сделать, подав выходы из нескольких нечетких логик на входы другим, и прикрутив к ним какой-нибудь оптимизатор для настройки весов. Но и уже существуют Fuzzy нейронные сети, правда в данной библиотеке их нет.

П.С. еще насчет оптимизации - поскольку fuzzy уменьшает вероятность переобучения, то все-таки должно быть лучше на новых данных, вопрос в том насколько входы в нечеткую логику описывают рынок. Понятно, что 3 осциллятора, которые описывают примерно одно и то же, делают это так себе.

 
fxsaber:

Начал читать статью и по ходу на первом же примере словил кучу ошибок.

Оказалось, что в Curve.mqh нет ENUM_LINE_END. Ну прописал его. Вылезло куча ошибок в Canvas.mqh. Например, нет Attach.

Совсем ничего не понимаю. На днях же использовал сам Graphics.mqh, запускаю свои коды, а они тоже не работают.

Даты всех файлов от 05.09.2017 - когда обновился на 1653. Да и точно все работало в 1653.

Ничего не понимаю, и прошу прощения у Автора за этот почти оффтоп.


Чтобы не быть голословным, прикрепил mqh-файлы. Совсем не понимаю, что могло произойти.


ЗЫ Поставил 1643 и 1653 - не помогает.


Тоже ничего не понимаю, попробуйте версию которую вам скинули, я ничего не менял в этой библиотеке, если не поможет могу скинуть свою.

 
Roman Konopelko:

Добрый день. Вы используете старую версию файла Canvas.mqh.

Актуальная версия файла в аттаче.

Добрый день, Спасибо, так и есть. Не понимаю только, откуда старый мог взяться и почему каждая переустановка терминала меняла его дату, но не содержимое? Наверное, это баг.

Maxim Dmitrievsky:

Тоже ничего не понимаю, попробуйте версию которую вам скинули, я ничего не менял в этой библиотеке, если не поможет могу скинуть свою.

Спасибо, так и понял. Вашу статью буду читать...

 
Maxim Dmitrievsky:

Можно даже нейросеть сделать, подав выходы из нескольких нечетких логик на входы другим, и прикрутив к ним какой-нибудь оптимизатор для настройки весов.

Или взять сразу готовую PNN - подать в неё напрямую описанные классы и сэмплы без нечеткой прослойки. Получим оценку вероятностей всех классов/исходов, можем проанализировать получившиеся базовые функции как аналог функций принадлежности.
 
Stanislav Korotky:
Или взять сразу готовую PNN - подать в неё напрямую описанные классы и сэмплы без нечеткой прослойки. Получим оценку вероятностей всех классов/исходов, можем проанализировать получившиеся базовые функции как аналог функций принадлежности.

Плохо знаком с ними, к сожалению, байесовский классификатор использовал только, получилось что он ничем не лучше других линейных моделей типа той же регрессии +-. Поэтому не уверен стоит ли использовать PNN вместо MLP или RDF, Random forest возможно в след. статье опишу, он быстрый и кач-во моделей хорошее.

Опыты в Microsoft Azure Studio делал, там быстро можно сравнить модели на одном и том же сэте.

Microsoft Azure Machine Learning Studio
  • studio.azureml.net
Azure Machine Learning Studio is a GUI-based integrated development environment for constructing and operationalizing Machine Learning workflow on Azure.
 

Делить "торговое пространство" на зоны нечеткой логики. не является ли само по себе проявлением "чёткой" логики:)

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