下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

2014.02.24 12:50
程序库

MLP Neural Network Class - MetaTrader 5程序库

| Chinese English Русский Español Deutsch 日本語 Português

显示:
679
等级:
投票: 27
\MQL5\Scripts\MLP\
testmlps.mq5 (4.67 KB)预览

CNetMLP 提供多层感知(MLP).

该类的功能是:输入矢量和网络结构是分离的,也就是输入矢量和网络结构描述是互不相连的。

输入矢量在合理范围内可以说任意大小。 输入数据应该是被标准化了的, 比如数据应该在-1 .. 1 或者 0 .. 1之内。 网络根据使用数据的类型采用多种激活模式: 双曲正切函数应该使用-1..1的数据范围, 而sigmoid函数则使用0..1 的数据范围。

网络具有直接传输信号的多层结构。网络结构被描述为一个一维数组,数组的值决定每层的神经元个数。 层和神经元的数目不受限制。网络甚至可以说由一个神经元构成。

每个神经元有多个输入,这取决于它在网络中的位置,而输出只有一个。如果你希望网络有N个输出响应, 最后一层应该有N个神经元。 学习算法是iRprop. 学习数据的输入和输出以矢量形式存放在一维数组中。学习过程受限于学习循环次数或者允许误差范围。

利用类的参数化构造器创建网络。

CNetMLP  *net=new CNetMLP(

层的数目, 网络结构数组, 输入矢量大小, 激活方式类型: 0 - sigmoid函数, 1 - hyperbolic tangent双曲正切函数).

网络学习通过调用函数Learn(学习模式, 输入数据数组, 输出数据数组, 学习循环次数, 允许误差). 学习结果可以检查类变量 mse – 学习中的错误 以及 epoch – 完成的学习循环次数来完成。

Calculate函数(输入矢量数组, 网络输出数组) 用来获取网络响应输出。

函数Save(带有标志位FILE_WRITE 和 FILE_BIN flags打开文件句柄) 以及 函数Load (带有标志位FILE_READ 和 FILE_BIN flags打开文件句柄) 用来分别保存网络到一个文件以及从文件载入一个网络。只有学习错误和数组存到文件中。 加载网络之前必须遵守创建网络和存储网络的规范。

类的使用可参考附上的示例。类和示例文件必须放在相同文件夹。

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/596

iSimpleClock iSimpleClock

该指标以注释方式显示简单时钟。

SuperTrend SuperTrend

SuperTrend指标

矩阵运算库 矩阵运算库

该库提供了简单矩阵运算:加,减,乘,求逆矩阵。

iSimpleClock_v2 iSimpleClock_v2

通过“Lable”图形对象(OBJ_LABEL)显示的简单时钟。