Нейронная сеть в виде скрипта - страница 5

 
Blast:

Как пользоваться этим? Наложил на график скрипт, кучи цифр начали переписываться... Что они говорят эти цифры?

Переписывающиеся цифры ( сделано для наглядности ) - это, веса нейронов, которые подстраиваются в процессе обучения ( см. выше по ветке) .

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

Входы

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 2 )) test_pat[0] = 0.1 ; else test_pat[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 3 )) test_pat[1] = 0.1 ; else test_pat[1] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 4 )) test_pat[2] = 0.1 ; else test_pat[2] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 5 )) test_pat[3] = 0.1 ; else test_pat[3] = 0.9;

Выход

               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[0] = 0.1 ; else desired[0] = 0.9;
               if (iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 0 )>iMA(NULL,0,13,0,MODE_SMMA,PRICE_MEDIAN,pat + 1 )) desired[1] = 0.1 ; else desired[1] = 0.9;

Вход и выход - только для примера . Поскольку это не самый лучший вариант .

Самый лучший вариант надо искать и пробовать .

Файлы:
 
sprite:

Вход и выход - только для примера . Поскольку это не самый лучший вариант .

Самый лучший вариант надо искать и пробовать .

А не пробовали в качестве выхода получить вероятность прогнозируемого направления, хотя бы в простом варианте - вверх/вниз ?

 
SK. писал (а):
sprite:

Вход и выход - только для примера . Поскольку это не самый лучший вариант .

Самый лучший вариант надо искать и пробовать .

А не пробовали в качестве выхода получить вероятность прогнозируемого направления, хотя бы в простом варианте - вверх/вниз ?

А как ее (вероятность прогнозируемого направления ) закодировать ?
 
sprite:
А как ее (вероятность прогнозируемого направления ) закодировать ?

Наверное, как-то же можно. Вы же получаете на выходе какие-то 0 и 1.

Например, 01 = 50%, 10 = 50%, 00 = -100%, 11=+100%.

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

 

Целевая функция для обучения сетки - вопрос интересный!

Он раскрывается в книге Ежов, Шумский "Нейрокомпьютинг и его применения в экономике и бизнесе"

 
Друзья, забудьте вы про этот mql. Он медленный. Пишите сеть на C++, учите её, а потом готовые коэффициенты забивайте в программу на mql. Люди даже видеокарту пытаются загрузить по время обучения, как только не извращаются, чтобы сэкономить время, а вы его попусту тратите.
 
Wisard писал (а) >>
Друзья, забудьте вы про этот mql. Он медленный. Пишите сеть на C++, учите её, а потом готовые коэффициенты забивайте в программу на mql. Люди даже видеокарту пытаются загрузить по время обучения, как только не извращаются, чтобы сэкономить время, а вы его попусту тратите.

это очевидно... конечно медленный

но это не помешало ( хорошему программисту BETTER,у реализовать это в коде MQL4 )

дело тут в другом

простой пример я тут выложил, простая сетка: на Си сетка обучается доли секунд она же на MQL до нескольких минут и даже часы

а обученная работает по скорости приемлемо - т е я хочу сказать что если ее не переобучать на каждом шагу

то PNN сеть работает очень быстро! и на Си она или на MQL4 или на самом медленном скрипте - в реальной работе это не будет заметно

потому что решение не надо принимать так словно происходит ловля блох - скорости машины вполне хватит

но я предпочел бы создавать-писать сеть на Си - это позволит быстро ее обучаеть, переделывать дописывать и гонять в тестах

перенос в MQL4 никакого смысла не имеет... разве что для ЧЕМПИОНАТА

 
SK. писал (а) >>

А не пробовали в качестве выхода получить вероятность прогнозируемого направления, хотя бы в простом варианте - вверх/вниз ?

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

скорее это не предсказание что будет я показания того что есть в данный момент,

попытка удержать открытую позицию в нужном направлении не давать входить выходить против ее указаний

само открытие уже можно делать по различным фильтрам другим индикаторам к приммеру по дивергенциям ковергенциям на меньших ТФ

хотя может быть у кого то сеть настолько хороша что не требует дополнительных манипуляций

 
YuraZ писал (а) >>

это очевидно... конечно медленный

но это не помешало ( хорошему программисту BETTER,у реализовать это в коде MQL4 )

дело тут в другом

простой пример я тут выложил, простая сетка: на Си сетка обучается доли секунд она же на MQL до нескольких минут и даже часы

а обученная работает по скорости приемлемо - т е я хочу сказать что если ее не переобучать на каждом шагу

то PNN сеть работает очень быстро! и на Си она или на MQL4 или на самом медленном скрипте - в реальной работе это не будет заметно

потому что решение не надо принимать так словно происходит ловля блох - скорости машины вполне хватит

но я предпочел бы создавать-писать сеть на Си - это позволит быстро ее обучаеть, переделывать дописывать и гонять в тестах

перенос в MQL4 никакого смысла не имеет... разве что для ЧЕМПИОНАТА

Может идти по пути подключения DLL на С++ для ускорения MQL. Написать несколько универсальных шаблонов-функций на С++, хотя это вроде как то же, что и НШДТ. Кстати BETTER все писал на С++ и окончательный результат перевел на MQL.
 
YuraZ писал (а) >>

ЭТА ЖЕ СЕТЬ

ЭТА ЖЕ СЕТКА но написанная на Microsoft Visual C++ 6.0

скорость работы на порядки выше чем на MQL4

алгоритм не менялся, перенос с MQL4 на C++ максимально прямой, без применения объектов - классов

Не нашла dll файл.  Если можно подскажите как его создать.