https://www.mql5.com/ru/forum/124189 + поиск... а пока выглядит как профессиональный журналистский вопрос - "Что Вы можете сказать по этому поводу?"...
Намного сложнее :) . Увы, реалии таковы, пользоваться ООП в MQL5 на полную и легко не получится. Так что, ИМХО, лучше НС написать на ЯВУ общего назначения и потом подключить дллкой.
А пользовать, да, лучше таки MQL5.
Проще некуда. Работает и на MQL4 и на MQL5. На MQL5 раз 20-40 быстрее правда, код одинаковый.
MLP будет выглядеть так:
//+------------------------------------------------------------------+ //| NNlib.mqh | //| Copyright 2009, JQS aka Joo. | //+------------------------------------------------------------------+ /*В теле программы объявить double SumHiddenLayer[]; ArrayResize(SumHiddenLayer,N2Count); */ //================================================================================================== void ANN(int N1Count,int N2Count,int N3Count,double &SumHiddenLayer[], double &InputNN[],double &WeightNN[],double &OutNN[]) { int cnt_W=0; //Присваивание ячейкам массива сумм значений точек насыщения нейрона: (+b) for (int i=0;i<N2Count;i++) { SumHiddenLayer[i]=WeightNN[cnt_W]; cnt_W++; } //Суммирование: (+w1*x1+...+wn*xn+b) для каждого нейрона for (int i=0;i<N1Count;i++) { for (int u=0;u<N2Count;u++) { SumHiddenLayer[u]+=InputNN[i]*WeightNN[cnt_W]; cnt_W++; } } //Посчитаем функцию активации для каждого скрытого нейрона for (int i=0;i<N2Count;i++) { SumHiddenLayer[i]=(2.0/(1.0+MathPow(2.0,-SumHiddenLayer[i])))-1.0; } //************************************************************************* //Присваивание ячейкам массива сумм значений точек насыщения нейрона: (+b) for (int i=0;i<N3Count;i++) { OutNN[i]=WeightNN[cnt_W]; cnt_W++; } //Суммирование: (+w1*x1+...+wn*xn) для каждого нейрона for (int i=0;i<N2Count;i++) { for (int u=0;u<N3Count;u++) { OutNN[u]+=SumHiddenLayer[i]*WeightNN[cnt_W]; cnt_W++; } } //Выровняем по границе от -1 до 1 for (int i=0;i<N3Count;i++) { if (OutNN[i]>1.0) { OutNN[i]=1.0; } if (OutNN[i]<-1.0) { OutNN[i]=-1.0; } } } //======================================================================
Если на mql5 - то и пользоваться нужно его возможностями, а не переносить один-в-один код с mql4.
Возможности нужно применять, согласен. Но зачем усложнять то, что просто и работает? Как там у классика - отсекать лишнее.
Покажите мне код масштабируемой по количеству нейронов в каждом слое трёхслойной MLP, такой, что бы он работал быстрее моей NN, и я скажу Вам большое спасибо.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет всем,
Я сюда, так сказать, за хорошим советом. Начнем. Я студент, учусь в Польше (будущий программист). В начале следующего года должен оборонятся. Сегодня от декана пало предложение, в качестве инженерской работы, сделать нейросеть. Вы уже поняли о чем далее будит идти речь? Хочу написать сеть на MQL. С языком проблем нет, а вот с нейросетями еще не знаком так хорошо как бы хотелось. По этому поводу хотелось бы спросить следующее:
-где я могу найти качественную информацию на тему;
-MQL4 или MQL5?
-другие рекомендации и собственное соображения на тему.
Дело вполне серьезное, поэтому надеюсь на конструктивные ответы.
Всем заранее спасибо.