第十八节 学习一款神经网络EA
随着计算能力的增强以及深度学习的出现,人们采用神经网络技术解决了很多实际问题,同时对神经网络也越来越重视。那么,神经网络如何用于外汇的交易?其实早在2008年就已经出现了神经网络EA,并在那一年的交易大赛中拿了第一名,所以在十年以前就已经有人把这项技术用来交易了。
鉴于大家对神经网络没有一个大致的概念和了解,这里贴上一个网址供大家学习和参考:
这篇文章比较通俗易懂,建议大家细读,有一定数学基础的可以去看看神经网络的教材,认真研究研究。
本节课拿一款神经网络的EA给大家做一个讲解,看看神经网络类的EA是如何工作的,然后教大家使用MQL4里面自带的遗传算法来寻找优化的参数。
1 策略代码
这个策略的代码是2008年那款得第一名的源码,在网上已经有公布,有兴趣的可以自己搜一下,完整的代码如下:
extern double tp1 = 50;
extern double sl1 = 50;
extern int p1 = 10;
extern int x12 = 100;
extern int x22 = 100;
extern int x32 = 100;
extern int x42 = 100;
extern double tp2 = 50;
extern double sl2 = 50;
extern int p2 = 20;
extern int x13 = 100;
extern int x23 = 100;
extern int x33 = 100;
extern int x43 = 100;
extern double tp3 = 50;
extern double sl3 = 50;
extern int p3 = 20;
extern int x14 = 100;
extern int x24 = 100;
extern int x34 = 100;
extern int x44 = 100;
extern int p4 = 20;
extern int pass = 1;
extern double lots = 0.01;
extern int mn = 888;
static int prevtime = 0;
static double sl = 10;
static double tp = 10;
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
if (Time[0] == prevtime)
{
return(0);
}
prevtime = Time[0];
if (! IsTradeAllowed())
{
again();
return(0);
}
int total = OrdersTotal();
for (int i = 0; i < total; i++) {