НЕЙРОННЫЕ ИНДИКАТОРЫ ФОРЕКС

Лучшие Форекс брокеры 2021:

НЕЙРОННЫЕ ИНДИКАТОРЫ ФОРЕКС

Предсказатель на основе самообучающейся нейронной сети.
Предлагается индикатор использующий нейронную сеть прямого распространения (feedforward neural network), которая самообучается методом Обратного Распространения Ошибки (backpropagation). Сеть загружается через DLL файл, исходный C++ код которого прилагается.
Нейронная сеть это ничто иное как нелинейная модель выходов как функция входов. На входы подаются данные задаваемые пользователем, например выборки временного ряда. Смысл выходных данных также задаётся пользователем, например сигналы 1=buy/0=sell. Структура сети опять же задаётся пользователем. Сеть прямого распространения состоит из

-входного слоя (input layer), элементами которого являются входные данные,

— скрытых слоёв (hidden layers), состоящих из вычислительных узлов называемых нейронами (neurons) и

— выходного слоя (output layer), который состоит из одного или нескольких нейронов, выходы которых являются выходами всей сети.

Все узлы соседних слоёв связаны между собой. Эти связи называются синапсами (synapses). Каждый синапс имеет вес (weight w[i,j,k]), на которой умножаются данные передаваемые по синапсу. Данные передвигается слева направа т.е. от входов сети к её выходам. Отсюда и название, «сеть прямого распространения». Общий пример этой сети изображён на рисунке внизу

Данные перерабатываются нейронами за два шага:

Рейтинг Форекс брокеров:

1. Все входы, помноженные на соответствующие веса, сначала суммируются

2. Затем получившиеся суммы обрабатываются функцией активации нейрона (activation or firing function) и посылаются на единственный выход.

Смысл функции активации нейрона заключается в моделировании работы нейрона мозга: нейрон срабатывает только после того как информация достигла определённого порога. В математическом аспекте, эта функция как раз и придаёт нелинейность сети. Без неё, нейронная сеть была бы линейной авторегрессионной моделью (linear prediction model). В прилагаемых библиотечных функциях возможен выбор трёх функций активации нейрона

* сигмоидальная функция sigm(x)=1/(1+exp(-x)) (#0)
* гиперболический тангенс tanh(x)=(1-exp(-2x))/(1+exp(-2x)) (#1)
* рациональная функция x/(1+|x|) (#2)

Порог активации этих функций равен 0. Этот порог может быть сдвинут по горизонтальной оси за счёт дополнительного входа нейрона называемом входом смещения (bias input), которому приписан определённый вес таким же образом как и к другим входам нейрона.

Таким образом, количество входов, слоев, нейронов в каждом слою и веса входов нейронов полностью определяют нейронную сеть, т.е. нелинейную модель, которую она создаёт. Чтобы пользоваться этой моделью необходимо знать веса. Веса вычисляются путём обучения сети на прошлых данных: на входы сети подаются нескольков наборов входных и соответствующих выходных данных и рассчитывается среднеквадратичная ошибка отклонения выхода сети от тестируемого. Цель обучения сети заключается в уменьшении этой ошибки путём оптимизации весов. Существуют несколько методов оптимизации, среди которых основными эвляются метод Обратного Распространения Ошибки (ОРО) и метод генетической оптимизации.

Рейтинг Форекс платформ:

Нейронные сети

* BPNN.dll — библиотечный файл
* BPNN.zip — архив всех файлов необходимых для создания ДЛЛ файла
* BPNN Predictor.mq4 — индикатор предсказывающий будущее значение цены
* BPNN Predictor with Smoothing.mq4 — индикатор предсказывающий будущее значение цены, сглаженной ЕМА

Библиотечный файл BPNN.cpp содержит две функции: Train() и Test(). Train() предназначен для обучения сети для предоставленных входных и выходных данных. Test() предназначен для вычисления выходных данных на основе весов полученных после прогона Train().

Входными (зелёный цвет) и выходными (синий цвет) параметрами функции Train() являются:

double inpTrain[] — обучивающие входные данные (старый первый)
double outTarget[] — обучивающие выходные данные (старый первый)
double outTrain[] — выходы сети после обучения
int ntr — количество обучающих наборов входы-выходы
int UEW — ключ управляющий использованием внешних значений для инициализации весов (1=используем extInitWt[], 0=используем случайные числа)
double extInitWt[] — исходные значения весов
double trainedWt[] — значения весов после обучения
int numLayers — количество слоев в сети включая входной, скрытые и выходной
int lSz[] — одомерный массив размера numLayers, в котором хранятся количества нейронов в каждом слою. lSz[0] задаёт количество входов сети
int AFT — тип функции активации (0-сигмоидальная, 1-гиперболический тангенс, 2-рациональная)
int OAF — ключ использования функции активации в выходны нейронах (1=используем функцию активации, 0=нет)
int nep — максимальное количество обучающих шагов (эпох). Эпоха состоит из проверки всех обучающих наборов.
double maxMSE — среднеквадратичная ошибка, при которой обучения останавливается.

Входными (зелёный цвет) и выходными (синий цвет) параметрами функции Test() являются:

double inpTest[] — входные данные (старый первый)
double outTest[] — выходные данные
int ntt — колчиство наборов в входных и выходных данных
double extInitWt[] — исходные значения весов
int numLayers — количество слоев в сети включая входной, скрытые и выходной
int lSz[] — одомерный массив размера numLayers, в котором хранятся количества нейронов в каждом слою. lSz[0] задаёт количество входов сети
int AFT — тип функции активации (0-сигмоидальная, 1-гиперболический тангенс, 2-рациональная)
int OAF — ключ использования функции активации в выходны нейронах (1=используем функцию активации, 0=нет)

Использование функции активации в выходных нейронах зависит от характера выходны данных. Если выходами сети являются биноминальные сигналы (0/1 или -1/1), то нужно использовать функцию активации (OAF=1). Причём учтите что для функции №0, уровни сигнала 0 и 1, а для функций №1 и 2 уровни -1 и 1. Если выходом сети является предсказание цены, то функция активации в выходном слое не нужна (OAF=0).
Примеры индикаторов использующих нейронную сеть:

BPNN Predictor.mq4 — предсказывает будущие цены. Входными параметрами сети являются относительные приращения цен:

где delay[i] берётся из ряда Фибоначи. Выходом сети является предсказываемое относительное приращение будущей цены. Фунцкия активации в выходном слое отключена.

Входными параметрами индикатора являются

extern int lastBar — номер последнего бара
extern int futBars — количество будущих предсказываемых баров
extern int numLayers — количество слоев в сети включая входной, скрытые и выходной
extern int numInputs — количество входов сети
extern int numNeurons1 — количество нейронов в слое №1
extern int numNeurons2 — количество нейронов в слое №2
extern int numNeurons3
extern int numNeurons4
extern int numNeurons5
extern int ntr — количество обучающих наборов входы-выходы
extern int nep — максимальное количество обучающих шагов (эпох)
extern int maxMSEpwr — экспонента используемая для расчёта максимальной допустимой среднеквадратической ошибки обучения maxMSE=10^maxMSEpwr
extern int AFT — тип функции активации (0-сигмоидальная, 1-гиперболический тангенс, 2-рациональная)

Индикатор выдаёт такую картинку, где

* красный цвет — предсказания от последней цены Open
* чёрный цвет — прошлые тренировочные цены Open, по котором (как ожидаемым выходным данным) проводилось обучение сети
* синий цвет — выходы обученной сети на тренировочных данных

BPNN Predictor with Smoothing.mq4 — тоже предсказывает цены, но с предварительным сглаживанием цен экспоненциальной скользящей средней (EMA) с периодом smoothPer.

1. Копируйте приложенный BPNN.DLL файл в C:\Program Files\MetaTrader 4\experts\libraries
2. Включайте использование DLL в метатрейдере: Tools — Options — Expert Advisors — Allow DLL imports

Если приложенный DLL файл не работает, то компилируйте сами. Все необходимые файлы содержатся в BPNN.zip.
Советы:

* Сеть с 3-ми слоями (numLayers=3: один входной, один скрытый и один выходной) достаточна для подавляющего большинства применений. По теоремe Cybenko (1989) сеть с одним скрытым слоем может моделировать любую непрерывную нелинейную фунцкию и сеть с двумя скрытыми слоями способна описать функцию с разрывами (http://en.wikipedia.org/wiki/Cybenko_theorem):

* Количество нейронов в скрытом слую определяйте экспериментально. В литературе встречаются такие рекомендации: кол-во скрытых нейронов = (кол-во входов + кол-во выходов)/2, либо SQRT(кол-во входов * кол-во выходов). Следите за сообщениями о среднеквадратичной ошибки обучения в окне experts метатрейдера.
* Для получения хорошего обобщения, количество обучающих выборок должно в 2-3 раза превышать количество оптимизируемых весов. Например, в опубликованных примерах, количество весов равно (12+1)*5 на входах скрытого слоя плюс (5+1) на входах выходоного слоя, т.е. 71. Поэтому количество обучающих выборок должно быть по крайней мере 142. Концепт обобщения объяснён на рисунке внизу для одномерного случая y(x).
* Увеличения количества обучающих эпох может не повысить точность предсказаний на тестируемых данных даже если ошибка обучения (MSE) уменьшилась. При большом количестве весов сеть становится переученной (см объяснения внизу).
* Входные данные должны преобразоваться в стационарный ряд. Цены сами по себе таковым рядом не являются. Рекомендуется также нормализовывать входные данные к диапазону -1..1.

На этом графике показана линейная функция y=b*x (x-вход, y-выход) с добавленным шумом к выходам. Из-за этого шума, измерения функции (чёрные точки) не лежат на прямой. Функция y=f(x) может быть смоделирована нейронной сетью. Сеть с большим количеством весов (степеней свободы) способна уменьшить ошибку обучения по всем имеюшимся измерениям до нуля и описать тренировочные выходные данные плавной кривой. Но эта кривая (показана красным цветом) не имеет ничего общего с нашей линейной фунцкией y=b*x (показана зелёным цветом). Использование такой сети для предсказания будущих значений функции y при новых входных значениях x приведёт к большим ошибкам так как шум не предсказуем.

Нейронные сети в трейдинге на Форекс

В данном материале мы расскажем про нейронные сети в трейдинге, их плюсы и минусы, а также затронем тему их применения на рынке Форекс.

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

Вообще термин нейронные сети – был позаимствован из области искусственного интеллекта. С технической точки зрения это понятие означает имитацию механизмов работы человеческого мозга. Главной особенностью является то, что нейронные сети в трейдинге имеют навык обучения на основании того, что уже было сделано.

Суть нейронных сетей

Применение нейронных сетей на рынке Форекс даёт возможность изъять из нескольких потоков данных один результат.

Перед тем, как осуществлять применение нейронных сетей в трейдинге, сначала их нужно обучить находить и корректировать паттерны. Отметим, что процесс обучения, а также тестирование – достаточно ёмкий процесс. Но в будущем эта сеть сможет эффективно прогнозировать тенденцию, отталкиваясь от полученных навыков. То есть, сеть будет постоянно сравнивать новые данные с уже имеющимися в её базе. По результатам этого сопоставления будет делаться прогноз.

В качестве обучения (тренировки) нейронные сети Форекс применяют в анализе сразу два вида данных: для обучения и тестирования.

Преимущества нейронных сетей

Существенным плюсом нейросетей является тот факт, что обучение у них происходит на постоянной основе за счёт новых данных и уже имеющихся прогнозов.

Отметим, что нейросети в дополнение ко всему умеют комбинировать технические и фундаментальные данные, что позволяет их оптимально применять.

Таким образом, нейронные сети Форекс обладают определёнными навыками, позволяющими определять на рынке неучтённые паттерны Price Action и применять их в составлении прогнозных данных, добиваясь максимально точного результата.

Недостатки нейронных сетей

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

Кстати, в наше время написано много автоматических торговых роботов, которые в своей работе применяют нейронные сети Форекс. Вместе с тем, их не стоит считать Граалем, которые все так ищут и не могут найти. Есть основное правило, без которого применение нейронных сетей в трейдинге будет не эффективным. Постоянно нужно заниматься обучением системы, тестировать её и проводить должную оптимизацию советника. Только так можно достичь успеха.

Нейронные сети не работают?

Существует определённая категория трейдеров Форекс, которые убеждены, что нейросети попросту не работают.

Индикатор Boss. Секреты применения

Нейронные сети уже давно успешно применяются во всех сферах деятельности человека. Также её используют для прогнозирования.

Что мешает дать точный прогноз по акциям и валютам, если суждение будет верным, что история повторяется. Таким образом, стоит показать нейронной сети исторические данные, и она сможет прогнозировать движение активов, беря за основу данные с истории.

Однако на практике нейронная сеть прогнозирует с точностью не более 50-60%. Иными словами, это как угадывать цифры с одного до двух.

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

Заключение

Сегодня на рынке Форекс можно найти специальные платформы, в основе которых заложена нейронные сети Форекс и технология, позволяющая обучать её по конкретной торговой системе, чтобы в дальнейшем прогнозировать движение активов на рынке. Что касается актуальности применения таких интеллектуальных помощников, то использовать их нужно. Однако, как в случае с торговыми советниками, везде нужен контроль их деятельности. Ведь машина — это не человек и думать она всё-таки не умеет.

Отметим, что новичкам в трейдинге лезть в нейронные сети Форекс не имеет смысла. Главное самим научиться прибыльно торговать, и после определённого результата пробовать создавать нейросеть.

Нейронные сети их сильные и слабые стороны при использовании в форекс экспертах

Последним ноу-хау в сфере форекс экспертов является использование нейронных сетей. Этот термин был заимствован из систем искусственного интеллекта. Технически, нейронные сети, попросту говоря, имитируют механизмы работы мозга человека. Главная характерность таких систем – способность к обучению на основе результатов своих действий.

Суть и преимущества нейронных сетей

Использование нейронных сетей в форекс экспертах позволяет осуществлять прием нескольких потоков информации и на выходе получать один результат.

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

Для «тренировки» нейронной сети используются два разных набора данных: набор для обучения и набор для тестирования. Преимуществом нейросетей является то, что процесс обучения в них идет постоянно, путем сопоставления своих прогнозов с поступающими данными. Дополнительно к этому нейронные сети комбинируют фундаментальные и технические данные для их оптимального использования. Сети обладают достаточной собственной мощностью для выявления неучтенных паттернов и их дальнейшего применения в прогнозировании для достижения максимально точного выходного результата.

Недостатки нейросетей

К сожалению, преимущества нейронных сетей при прогнозировании в форекс трейдинге в то же время могут быть и их недостатками. Выходящая информация имеет то же качество, что и поступающая. Нейронная сеть может обнаружить паттерн из разных типов информации даже при отсутствии каких-либо взаимосвязей. Способность применять интеллект без оглядки на эмоции – основное достоинство машины перед человеком – одновременно является и недостатком нейронной сети, поскольку при повышенной волатильности на рынке сеть не может присвоить вес внезапно возникшему эмоциональному фактору.

В настоящее время существует множество форекс роботов, чья работа основана на использовании нейронных сетей. Тем не менее, они не являются Граалем, поиском которого занимается уже не одно поколение форекс трейдеров. Важно всегда помнить главное правило форекс трейдинга при использовании нейронных сетей – всегда занимайтесь обучением системы, ее тестированием и оптимизацией, и успех не заставит себя ждать.

Поиск форекс индикаторов vol.3

Ребята есть вот такой рабочий dashboard?
Этот че-то не хочет работать.

Инсайдерский Нейросетевой Индикатор &Quot;Big Profit&Quot; Best Forex Indicator [Нейронные Сети

Вложения

Yaroslav666

Новичок форума
  • 27.07.2022

Нейронная сеть + GHOSTTRADE. Сигналы на отскок. BITMEX. Скальпинг.

  • #17 389

Yaroslav666

Новичок форума
  • 27.07.2022
  • #17 390

Аввакум2

Гуру форума
  • 28.07.2022
  • #17 391

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

Надо ввести код активации. Он в архиве, как и вся инструкция по установке данного продукта.

Кто пошустрее – пускай поделится результатом.
А у кого есть что-то получше из серии нейронных сетей – тоже не стесняйтесь делиться.

Нейросеть на форекс | Neural Network on Forex

Честные Форекс брокеры этого года:
Оцените статью
Сайт любителей Форекса