在开发的过程中会遇到各种形形色色的BUG,诸如语法错误,逻辑错误引起的BUG,甚至是由电脑操作系统本身BUG引起的你的程序BUG,诸如系统不兼容,非法访问,内存溢出,时间线程的瘫痪等等。开发的艰难就是对各种层出不穷的BUG进行的攻坚,是非常消耗的人脑工作。开发中的乐趣就是对各种层出不穷的BUG攻坚之后的沾沾自喜了。
在开发EA的过程中,我偶尔会遇到这样一个BUG:
2020.10.20 21:45:01.337Access violation read to 0x00000003 in 'C:\ProgramFiles\FXCMMetaTrader4\MQL4\Libraries\MySql.dll'
意思大概是非法访问MySql.dll文件。
MySql.dll文件是我用来链接并访问数据库操作的拓展程序,这个bug会导致整个EA系统运行的瘫痪。
这个问题很早之前我就发现了,只是偶尔出现,导致系统瘫痪之后,重启就行了。因此我并没有去解决这个问题,直到最近出现的频率高了很多,才幡然悔悟这是一个很重要的问题,不能一直都靠重启来解决。
我想了好些天,早上起来,想通了这个BUG出现的时间点有些规律,然后对比了下日志文件出现BUG的时间,发现是一个线程里面出来的BUG,我现在把他拿出来了 放到了一个时间线程里面,希望不会再报错瘫痪了吧。
开发是个很有意思的事情,因为他可以实现你很多的奇思妙想。总之,坚持就会有收获的。
工欲善其事,必先利其器,交易最重要的是遵守规则,严格执行。关注公众号,学习MQL入门到精通EA教程,学习更多EA编程,畅写属于自己的EA,锻造属于自己的神兵利器。
领取专属 10元无门槛券
私享最新 技术干货