Вероятностные нейронные сети, пакеты и алгоритмы для MT4 - страница 12

 
klot:
renegate:
Господа!
Так что на вход нейросети подавать будем? Какой функционал ошибки выберем?


Судя по содержанию, это мало кого интересует. Многие думают, что дело в софте....

Предлагаю начать с угла наклона лин. регрессии с разными периодами. И можно с разных ТФ. :)

Функционал ошибки - максимальная прибыль.

Здравствуйте!
Угол лин. регрессии на вход, на мой взгляд, это очень интересно!
Посчитать угол линейки просто(берем две точки, арктангенс и вперед). Только вот это будет угол для данного ТФ. Получается для каждого ТФ будет свой коэффициент определяющий масштаб по вертикали что-ли. Как Вы решаете эту проблему?
 
VBAG:
klot:
renegate:
Господа!
Так что на вход нейросети подавать будем? Какой функционал ошибки выберем?


Судя по содержанию, это мало кого интересует. Многие думают, что дело в софте....

Предлагаю начать с угла наклона лин. регрессии с разными периодами. И можно с разных ТФ. :)

Функционал ошибки - максимальная прибыль.

Здравствуйте!
Угол лин. регрессии на вход, на мой взгляд, это очень интересно!
Посчитать угол линейки просто(берем две точки, арктангенс и вперед). Только вот это будет угол для данного ТФ. Получается для каждого ТФ будет свой коэффициент определяющий масштаб по вертикали что-ли. Как Вы решаете эту проблему?


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

 
klot:


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

Я в inint определяю ТФ, соответственно ему выбираю заранее подобранный коэффициент, но самому этот способ не нравится. А как масштабировать чегой-то так и не придумал.

P.S. Пошел к Вам на форум регистрироваться.
 
VBAG:
klot:


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

Я в inint определяю ТФ, соответственно ему выбираю заранее подобранный коэффициент, но самому этот способ не нравится. А как масштабировать чегой-то так и не придумал.

P.S. Пошел к Вам на форум регистрироваться.


я бы не стал торговать ГЛЯДЯ на один ТФ...   торговля на одном ТФ это как слепой переходящий МКАД

 

по масштабированию

вот одна из идей по средним

берем

m1 m5 m15 m30   это для входа    H1 H4 D1 как доминирующий тренд

на m1 m5 m15 m30  необходимо ловить полное раскрытие веера сразу по 4 таймфреймам

т е MA1 M3 M5 M8 M13 M21 M34 M89   на данных тф  должны разом  раскрыть веер средних  или начинать его раскрывать! это и есть точки

кстати у беттера очень похожие точки!

но в НЕЙРОСЕТЬ надо подать что то типа 0  или 1  по каждой средней на каждом ТФ ну и по коли баров

предлагаю как вариант брать  расстояние между средними приводить к 1  если ближайшая более тяжолая ниже ближайшей легкой

это будет тенденция UP по данным двум средним

 когда по всем средним на m1 m5 m15 m30 получим 1  это и есть  UP верхушка  -  далее анализ   более старших ТФ

т е всегда вход начинаем искать на M1 затем поднимаясь на старшие ТФ

пример как масштабировать  растояние между средними

 

для каждой средней по каждому ты для каждого бара массив 

..

 

 AdE = 10000;

mas[0][1][ off+ _i ] = iMA( Symbol(),PERIOD_M1, 5, 0 , MODE_EMA, PRICE_CLOSE, off+ _i );
tmp = mas[0][1][ off+ _i ]-mas[0][2][ off+ _i ]; // между 5 и 8
    tmp = MathCeil(AdE*tmp)/AdE;    // адаптивное упрощение
    if(tmp>1)  tmp=1;  if(tmp<-1) tmp=-1;
    NN[1][1][_i+8] = tmp; // // -1 или 1 загоним в сеть  диапазон -1  ...  1  в сетку
   
mas[0][0] [ off+ _i ]= iMA( Symbol(),PERIOD_M1, 3, 0 , MODE_EMA, PRICE_CLOSE, off+ _i );

tmp = mas[0][0] [ off+ _i ]- mas[0][1][ off+ _i ]; // масштабируем между 5 и 3 машками
tmp = (tmp) / Point;
    tmp = MathCeil(AdE*tmp)/AdE;    // адаптивное упрощение
    if(tmp>1)  tmp=1;  if(tmp<-1) tmp=-1;

    NN[1][1][_i] = tmp; // -1 или 1 загоним в сеть

 

что такое полное раскрытие веера  и точка начала раскрытия надеюсь понятно

 

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

допустим , 4 таймфрейма   средниие 1 3 5 8 13 21 34 55 89   ну и допустим 5 баров  получаем

5 * 9 = 45 нейронов  для тф  по указанному набору средних

45 * 4 =  180 нейронов для всех ТФ...  

можно попробовать распределить нейроны по слоям  M1 M5 M15 M30   будет 4 слоя

я бы правда в сеть довавил сигналы ДИВЕРГЕНЦИИ на слой самый близкий к выходу 

 
YuraZ:
VBAG:
klot:


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

Я в inint определяю ТФ, соответственно ему выбираю заранее подобранный коэффициент, но самому этот способ не нравится. А как масштабировать чегой-то так и не придумал.

P.S. Пошел к Вам на форум регистрироваться.


я бы не стал торговать ГЛЯДЯ на один ТФ...   торговля на одном ТФ это как слепой переходящий МКАД

по масштабированию

вот одна из идей по средним

берем

m1 m5 m15 m30   это для входа    H1 H4 D1 как доминирующий тренд

на m1 m5 m15 m30  необходимо ловить полное раскрытие веера сразу по 4 таймфреймам

Привет, Юрий!  Я бы тоже не стал торговать ГЛЯДЯ на один ТФ.... Более того, я даже как-то высказывал огромные сожаления по поводу отсутствия нестандартных ТФ  и наличие которых дало бы возможность  мониторить по ним в поисках самых надежных сигналов. Это как суслик - мы его не видим, а он есть! Например, на 30 минутке еще не раскрылось, а на 28 минутке - уже есть сигнал.
Ну это отдельная очень глыбокая тема. Есть наработки в этом направлении. Мыло в профиле.

По масштабированию я имел ввиду немного не то.
Вот набросал индюк для демонстрации своего вопроса, который меня давно волнует.  Он рисует линию линейной регрессии.  Предположим, что мы хотим измерить угол её наклона, но  какой масштаб выбрать по  вертикали(по цене)?  Даже на одном  ТФ  возможно  сжатие  по вертикали:


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

По нейро сетям ничего не могу прокоментировать. Такие сети сам не проектировал(особенно на С), а очень хотелось бы, да времени нет.

P.S. Мне нравится Ваш советник на дивергенциях. Желаю удачно финишировать на чемпионате.
Файлы:
 
2 Paramon
никак не могу найти NeuroDimension NeuroSolution 5.06 Developer, может... кто нибудь... хоть намёком помогите. или отправте на почту. andrew.opeyda(собака)gmail.com
у меня есть:
E views
Poly Analyst 46
Evolver 4.06
 
njel:
2 Paramon
никак не могу найти NeuroDimension NeuroSolution 5.06 Developer, может... кто нибудь... хоть намёком помогите. или отправте на почту. andrew.opeyda(собака)gmail.com
у меня есть:
E views
Poly Analyst 46
Evolver 4.06

Лучше всего взять на сайте разработчика, но нужна будет небольшая регистрация.
 
точнее не могу скопмилировать DLL. Dll creation failed, даже в демо примере. а NeuroSolution - пока единственный пакет который подходит мне для работы. Спасибо и на этом. ))
 

Как готовить данные на вход нейрона!

допустим имеется нейрон с тремя в ходами , на каждом входе W весы

нейрон на выходе должен выдать некотрое значение

1 вариант нейрон получает нкоторый диапазон уже преобразованных данных допустим { -1.0 -0.9 -0.8 -0.7 ... 0 . 0.1 0.2 ... 0.7 0.8 0.9 1. 0} на каждый вход

на выходе только два значения 0 : 1

2 вариант нейрон получает нкоторы диапазон уже преобразованных данных допустим { -10.0 ... 0 ... 10.0 } на каждый вход

на выходе так же диапазон значений но уже с учетом весов

3-й вариант нейрон получает { 1 0 0 } на каждый вход на выходе в зависимости от весо { 0 1 }

как вообще правильно готовить преобразовывать данные.... для нейрона... не может же быть все просто 1 и 0 ... должен быть какой то диапазон ?

я говорю о входящем слое! каждый слой сживает данные сильнее и сильнее

по идее надо получить 6 состояний на выходе сети а не тупо 1 и 0

на выходе уже имеет допустим имеем 6 состояний

1 1-продаем

2 1-закрываем продажу

3 1 покупаем

4 1 закрываем покупку

5 1-удерживаем бай тенденция роста

6 1-удерживаем селл тенденция снижения

может я заблуждаюсь

 
что давать на вход и что будет на выходе зависит от функции активации
зачастую если ф-ция в виде гиперболического тангенса то входы нормируют -1..1 или 0..1
а вот кто в neurosolutions скомпилировал dll?
Причина обращения: