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

 
FION писал (а) >>

Вот стоит конкретная задача написать скрипт, который в данный момент на заданную глубину истории выдаст решение -

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

http://www.fxreal.ru/forums/topic.php?forum=2&topic=1

ИМХО не получится, сеть в скрипте должна быть как минимум обучена.

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

 
TheXpert писал (а) >>

ИМХО не получится, сеть в скрипте должна быть как минимум обучена.

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

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

 
FION писал (а) >>

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

Ну так если все готово, то зачем делать еще раз? Или вы хотите полностью рабочий Грааль? %)

 

Предложения по коду YZ_BETTER_HC_2_2.mq4.

1. Даём команду на обучение шаблона (поставить на график соответствующие стрелочки).

2. После обучения будут выдаваться ПОСТОЯННО сообщения:

2008.07.02 21:20:37 YZ_BETTER_HC_2_2 EURUSD,M1: opt=2 2008.07.08 10:19 bar=526 PatTeachYES=2 i=1

3. Когда Вам надоест на это смотреть, вставьте следующий код (меняем тип и цвет стрелок), для ориентира, первая строка как в оригинале:


Print(" opt="+lMAX_PAT+" "+TimeToStr(PathDT[i],TIME_DATE|TIME_MINUTES) +" bar="+PatiBAR[i]+" PatTeachYES="+PatTeachYES[i] +" i="+i);

//изменим стрелки
int obj_total=ObjectsTotal();
for(int $a=obj_total-1;$a>=0;$a--){

string name=ObjectName($a);
if(ObjectType(name)!=OBJ_ARROW)
continue;
int arrow_code=ObjectGet(name,OBJPROP_ARROWCODE);
if(arrow_code==241) {
ObjectSet(name,OBJPROP_ARROWCODE,233);
ObjectSet(name,OBJPROP_COLOR,Aqua);
}
if(arrow_code==242) {
ObjectSet(name,OBJPROP_ARROWCODE,234);
ObjectSet(name,OBJPROP_COLOR,Red);
}
if(arrow_code==240) {
ObjectSet(name,OBJPROP_ARROWCODE,232);
ObjectSet(name,OBJPROP_COLOR,Yellow);
}

}

 

Лежал тут код YZ_BETTER_2_3_1_1.mq4


подправленный ( ник не помню )

куда то пропал



я вот что попробовал!


увы ни разу не получил обученную сеть!


int start() 
{
 
 
    ZeroWeight(); // обнулили корректировки весов
    RandomWeight(); // Задали начальные веса
    SetTeachPattern();// Задали обучающие шаблоны
    bool bbb;
 
   while ( bbb == false )
   {
      bbb = TrainNetwork(); // Обучили сеть на шаблоне
 
   if ( bbb == true )
      Print( " OK ");
   if ( bbb == false )
      Print( " BAD ");
   }
 
    return(0);
}
Файлы:
 

Попробуйте поменять скорость и моментум

void ChangeWeight() // Корректировка весов
{
    double Speed=0.5;// Скорость обучения
    double Impuls=0.5;// Импульс
...

и прогоните не для всех NUM_PUT


bool TrainNetwork() 
{
    int pat, loop, i, n=1; //n=NUM_PAT;
    bool bError;

я только что прогнал для единственного образца сошлось все нормально.

P.S. По-моему это вы должны меня учить :) как правильно.

 
sergeev писал (а) >>

Попробуйте поменять скорость и моментум


и прогоните не для всех NUM_PUT


я только что прогнал для единственного образца сошлось все нормально.

P.S. По-моему это вы должны меня учить :) как правильно.

У меня много сомнений о возможности применения нейронных сетей в торговле.

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

например, рукописного почерка, когда одна и та же буква (символ) разными людьми изображалась разным начертанием

и система (сеть) должна была научиться распознать любые из этих начертаний.

Она их распознает бесспорно, за счет накопления информации.

В торговле (форексе) задача значительно сложнее.

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

сколько бы мы не тренировали коэффициенты типа StopLoss и TP на истории, это не дает абсолютно никакой

гарантии о том, что в седующей через какой-то период момент ситуация не провалится.

Резюме.

Нужно научить эксперт принимать решения в любой последующий момент времени в зависимости от сложившейся ситуации.

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

Пока, опять же я может быть не прав, задача нерешимая.

Слишком много неформализованных вопросов.

 
edwkhan писал (а) >>

У меня много сомнений о возможности применения нейронных сетей в торговле.

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

например, рукописного почерка, когда одна и та же буква (символ) разными людьми изображалась разным начертанием

и система (сеть) должна была научиться распознать любые из этих начертаний.


Нейросеть изначально была предназначена для моделирования мозговой деятельности и создания ИИ.

Распознавание это так сказать прикладное направление, как и биржа собсно.

Она их распознает бесспорно, за счет накопления информации.


Накопления?? А где сеть их хранит эти накопления? Не за счет накопления, но обобщения.

В торговле (форексе) задача значительно сложнее.

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

сколько бы мы не тренировали коэффициенты типа StopLoss и TP на истории, это не дает абсолютно никакой

гарантии о том, что в седующей через какой-то период момент ситуация не провалится.

Резюме.

Нужно научить эксперт принимать решения в любой последующий момент времени в зависимости от сложившейся ситуации.

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

Нуу, с этим сложно не согласиться :) .

Пока, опять же я может быть не прав, задача нерешимая.

Слишком много неформализованных вопросов.

Ндык, а чем мы здесь маемся? Пытаемся решить и формализовать. Может что получится... В конце концов прецедент есть :) .

 
TheXpert писал (а) >>

Нейросеть изначально была предназначена для моделирования мозговой деятельности и создания ИИ.

Распознавание это так сказать прикладное направление, как и биржа собсно.

Накопления?? А где сеть их хранит эти накопления? Не за счет накопления, но обобщения.

Нуу, с этим сложно не согласиться :) .

Ндык, а чем мы здесь маемся? Пытаемся решить и формализовать. Может что получится... В конце концов прецедент есть :) .

Наверное я еще не набрел на прецедент:).

 
edwkhan писал (а) >>

Наверное я еще не набрел на прецедент:).

странно...