MQL4代码是用C语言编写的,基本上没有方法在执行代码之前在C语言中使用错误检测机制。 Mql4平台中是否有特殊功能可以帮助在执行前捕获运行时错误?
答案 0 :(得分:0)
没有。你不能抛出错误,你无法抓住它。所以要非常小心,在b!=0
除以a
之前检查b
,在访问idx>=0
之前检查idx<array.size
和array[idx]
并检查{{ 1}}在使用CheckPointer(object)==POINTER_DYNAMIC
调用内容之前。
答案 1 :(得分:0)
在执行代码之前,mql中没有检测到错误的mecanisn。
除了基本检查数组中的范围限制外,除以0,将参数与正确的范围(price,sl,tp ...)一起传递给操作等,这是查找大部分数据的最佳方法。错误正在运行使用M1建立几个月的策略的回溯测试。策略测试程序可在Metatrader上获得。
在回溯测试期间,Metatrader将为您的代码提供大量模拟实际市场的数据,因此代码将通过很多情况/例程/函数,这些情况/例程将在实际交易中找到。
回溯测试是您可以做的最佳模拟,不仅测试策略,还测试代码本身。
这不能保证100%无错误的代码,但在我的情况下,它会找到> 99%的代码。