下载MetaTrader 5
要添加评论,请登录注册
您想要编写技术指标吗?在MQL5 参考中找出解决方案!
chenji
5
chenji 2012.07.05 13:34 

当前的最新版MT4,||函数与if..else函数无用,也就是EA中,加入了其中之一,就无法执行,并且只用if函数也是时灵时不灵的,不能正常工作,导致我6月份无法下单(1个月才找到问题所在),至于还有没有别的问题,我就不知道了,现在也只能手动下单,很不适应。希望官方能赶快更新版本,修复智能交易功能,谢谢。

==================================
刚刚无意中才发现,是>=与<=的问题,不是||与if..else的问题
我EA里面,有几个条件,比如sx1>=0.0001与sx4<=-0.0001之类的,当等于的时候,条件并没有生效,只有>与<时才生效,这是时灵时不灵的原因,现在把条件改成了sx1>0.00009与sx4<-0.00009,就运转良好了
两个值之间的>=与<=,与内置的时间冒是没有问题,比如cx2>=cx3,hour()>=8与之类的,等于时是生效的
BaiChun Li
838
BaiChun Li 2013.07.17 12:34  
我也遇到过类似的看似非常奇怪的问题,似乎是在个别的平台上,但是我有一个信念! 最后我用了这样一句非常简单的代码解决了这种问题,把它放在本例中就可以改写成这样: (NormalizeDouble(sx1,4)>=0.0001) 其中sx1是一个Double类型的变量D,0.0001是一个常数C,对应本例就是一个4为小数的Double类型值。 当时我遇到这个问题的时候,我检测了D小数后面8位结果依然是和常量C相等的,因为无法得到再后面的值,我就换了一个方式我干脆不管它后面是不是真的还有我看不见的数字我就给它来个NormalizeDouble(),结果果然就正常了。于是,我把这类问题干脆规在了代码的不严谨。
/
要添加评论,请登录注册