Вроде как два способа .
1 Берем показания индикатора с 0 бара, 1 бара, 2 бараи тд. Получаем вектор Х1{0,1,2...}. Далеее смещаем на один Х2{1,2,3.....}. Соотв Х3{2,3,4...}.
2 Берем показания нескольких например индикаторов на одном баре это и будет обучающий вектор. Пример Х1{х1,х2,х3} на нулевом баре, х1=MACD(3), х2=MACD(EUR/USD,3), х3=процент ставки . Точно также вектора Х2 для первого бара и тд.
x4 - скажем бинарная переменная 1-если цена пошла вверх, 0 -если цена пошла вниз
в режиме классификации объекта, безусловно, нам неизвестно значение этой переменной в будущем.
бинарная переменная будет работать в режиме обучения, т.е. когда обучаются веса она не участвует w1=(w11 w21 w31) w2=(w12 w22 w32).
как ее внедрить логичнее после классификации в обучении сети. в какой-то части кода будет: id=1 если цена вверх, иначе id=0
x1 класс1; id=1
x2 класс2; id=0
...
x1000 класс1. id=1
потом просуммировать и чья сумма окажется меньше, те веса определяют класс сделок на sell, соответственно другой класс на buy.
в режиме классификации объекта, безусловно, нам неизвестно значение этой переменной в будущем.
бинарная переменная будет работать в режиме обучения, т.е. когда обучаются веса она не участвует w1=(w11 w21 w31) w2=(w12 w22 w32).
как ее внедрить логичнее после классификации в обучении сети. в какой-то части кода будет: id=1 если цена вверх, иначе id=0
x1 класс1; id=1
x2 класс2; id=0
...
x1000 класс1. id=1
потом просуммировать и чья сумма окажется меньше, те веса определяют класс сделок на sell, соответственно другой класс на buy.
Так все таки как определять ее значение? Я про х4
Ее значение может быть только от -1 до 1. Бинарным делать нельзя. Что-то типа вероятности. Но зачем тогда нужна сеть?
ИЗВИНИТЕ ЗА СТЕПЕНЬ ФОРМАЛИЗАЦИИ ИДЕИ. ЭТО НАБРОСОК ЛИШЬ. А ВООБЩЕ ПОДСКАЖИТЕ КАК СНИМАТЬ ПОКАЗАТЕЛИ ВЕКТОРА,ЕСЛИ Я ХОЧУ КЛАСТЕРИЗОВАТЬ MACD X=(X1 X2 ... Xn)
1. Зачем нужна нам бинарная переменная x4.
В процессе обучения мы получаем матрицу весов в нашем случае 2 класса следовательно,
w=( w11 w12 )
w21 w22
(w31 w32)
Допустим мы обучили веса, теперь в режим работы советник подает вектор и он без труда отнесется к одному из классов, но что значит этот класс непонятно. А из содержательного подхода мы будем снимать такие показатели MACD, т.е. подавать вектора x=(x1 x2 x3), чтобы можно было априорно(идентифицировать) движение цены.
2. Реализация определения класса.
Как я вижу. У меня написан блок итерационный блок обучения, есть отдельный блок обучения с погружением в предысторию.
Алгоритм примерный определения бинарной переменной id (веса не обучены)
0)kk=равен числу пропущенных баров в истории k=1;
1) Если не первый проход : if (Close[0]>a) id[kk-k+1]=1; id[kk-k+1]=0;
2) подается вектор x. a=Close[0]
3)
обучение весов (алгоритм обучения сети кохонена)
каждый вектор у меня запоминается в глобальный массив
k++;
если не добрались до текущей даты и времени goto 1)
4) в конце провести глобальную классификацию, внeсти результаты в вектор class[] и сопоставить сформировавшийся вектор id[] затем
for (int i=1;i++;kk) if class[i]=1 SumClass1=SumClass1+id[k];
else SumClass2=SumClass2+id[k];
if SumClass1>Sumclass2 будем OderType=OP_BUY; else OderType=OP_SELL
3. Именно бинарная нужна, думаю она самая простая в реализации.
Так все таки как определять ее значение? Я про х4
Ее значение может быть только от -1 до 1. Бинарным делать нельзя. Что-то типа вероятности. Но зачем тогда нужна сеть?
про x4 забудьте =) согласен, вы правильное замечание сделали. торопился, мысль присвоила мою отдельную переменную в x4. это же конечно неверно.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени суток!
ВНИМАНИЕ НЕ НАДО ПИСАТЬ ВАШЕ ОТНОШЕНИЕ К ЭТОЙ СТРАТЕГИИ, Я УВАЖАЮ МНЕНИЕ МНОГИХ НА ЭТОМ ФОРУМЕ, НО МНЕ НУЖНО УЗНАТЬ МНЕНИЕ КАК СНИМАТЬ ДАННЫЕ В МАССИВ ДЛЯ ОБУЧЕНИЯ И ПРИНЯТИЯ ТОРГОВЫХ РЕШЕНИЙ !
Предложите, если можете конкретную идеологию как заносить входной вектор (на каждом баре), в обучающую матрицу.
Как я вижу и как уже написал только с другим индикатором (с ним часто сливает):
Подается входной вектор X1 X2 X3 X4...Xn, где X1,X2,... показатели индикатора, в данном случае MACD.
У меня 2 класса пока, что которые определяют движение вниз цены валютной пары(тогда открываемся на SELL) и вверх (открываем BUY), если будут результаты, то еще ввиду 3-й класс для флэта)
Необходимо отнести вектор X1 X2 ... к кому то классу. Покажите на рисунке с какой периодичностью снимать значения MACD, чтобы с высокой вероятностью цена пошла определенному классу. Может какие-то есть характерные точки...