Как добавить нейронку

 
//+------------------------------------------------------------------+
//| 2-х слойная нейросеть из 3-х нейронов |
//| первый слой - два нейрона |
//| второй слой - один нейрон |
//| веса W[0], W[N+1], W[2*N+2] - задают смещение нейронов |
//| N - число входов |
//| Число подстраиваемых весов расчитывается как N*2+2+3 |
//+------------------------------------------------------------------+
double neuronet1(double W[],double x[]) 
{
int i;
int N=ArraySize(x);
if(ArraySize(W)!=N*2+5) {
Print("Ошибка! Размер массива весов должен быть = ",N*2+5);
return(0);
}
double sum=0.0;
double Out1=0.0, Out2=0.0;
//---Neuron 1 ----------------+
sum=W[0];
//---
for(i=1; i<=N; i++) { 
sum+=W[i]*x[i-1];
}
Out1=th(sum);
//---Neuron 2 ----------------+
sum=W[N+1];
//---
for(i=N+2; i<=2*N+1; i++) { 
sum+=W[i]*x[i-N-2];
}
Out2=th(sum);
//---Neuron 3 ----------------+
return(th(Out1*W[2*N+3]+Out2*W[2*N+4]+W[2*N+2]));
}
//+-----------------------------------------------------------------+
//| Гиперболический тангенс |
//+-----------------------------------------------------------------+
double th(double x)
{
double x_=MathExp(x);
double _x=MathExp(-x);
//-----
double a=(x_+_x);
double b=(x_-_x);
if( a==0) a=0.00000001;
return(b/a);

Добрый день .

Function "neuronet1" is not referenced and will be removed from exp-file
Function "th" is not referenced and will be removed from exp-file
Я понимаю что надо прописать..

Подскажите как прописать его в советник .

 
azfaraon писал (а) >>

Подскажите как прописать его в советник .

Кого?

 
DrShumiloff писал (а) >>

Кого?

Вот этот кусок кода.

Код я записал вот только после компиляции выдает вот это .

Нужно прописать.

Function "neuronet1" is not referenced and will be removed from exp-file
Function "th" is not referenced and will be removed from exp-file

 
azfaraon писал (а) >>

Вот этот кусок кода.

Код я записал вот только после компиляции выдает вот это .

Нужно прописать.

Function "neuronet1" is not referenced and will be removed from exp-file
Function "th" is not referenced and will be removed from exp-file

Всё просто. х[] это вектор, состоящий из N элементов. Записываете в этот массив то, на чём будет принимать решение НС.

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

if(neuronet1(W,x)>=1)
{
   //то например Buy
}
if(neuronet1(W,x)<=-1)
{
   //то например Sell
}

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

А 1 и -1 - это условно пороги... Кроме этого нет нормализации данных о чём Вы тоже должны заранее позаботиться... Не спец по НС, но этот пример мне как то не понятен в применении...

 
StatBars писал (а) >>

Всё просто. х[] это вектор, состоящий из N элементов. Записываете в этот массив то, на чём будет принимать решение НС.

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

Таким образом он уже будет прописан в советник?

'W' - incompatible types C:\Program Files\0\experts\0t.mq4 (294, 16)
'x' - incompatible types C:\Program Files\0\experts\0t.mq4 (294, 18)

 
azfaraon писал (а) >>

Таким образом он уже будет прописан в советник?

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

 
azfaraon писал (а) >>

Таким образом он уже будет прописан в советник?

'W' - incompatible types C:\Program Files\0\experts\0t.mq4 (294, 16)
'x' - incompatible types C:\Program Files\0\experts\0t.mq4 (294, 18)

Double W[], Double x[]

 
azfaraon писал (а) >>

Добрый день .

Function "neuronet1" is not referenced and will be removed from exp-file
Function "th" is not referenced and will be removed from exp-file
Я понимаю что надо прописать..

Подскажите как прописать его в советник .

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

 
azfaraon писал (а) >>

Добрый день .

Function "neuronet1" is not referenced and will be removed from exp-file
Function "th" is not referenced and will be removed from exp-file
Я понимаю что надо прописать..

Подскажите как прописать его в советник .

значит так, запоминай, а лучше на бумажку запиши

нажимаешь ПУСК->ПРОГРАММЫ->MetaTrader 4

там выбираешь мышкой MetaEditor, в нем и прописываешь. :D

 
Garfish писал (а) >>

значит так, запоминай, а лучше на бумажку запиши

нажимаешь ПУСК->ПРОГРАММЫ->MetaTrader 4

там выбираешь мышкой MetaEditor, в нем и прописываешь. :D

Умно

 
azfaraon писал (а) >>

Добрый день .

Function "neuronet1" is not referenced and will be removed from exp-file
Function "th" is not referenced and will be removed from exp-file
Я понимаю что надо прописать..

Подскажите как прописать его в советник .

Надо просто подумать...

На своём форуме я выкладывал примеры обучения этой НС с помощью генетического алгоритма. Можо использовать ГА Метатрейдера.

Причина обращения: