下载MetaTrader 5

MT4 765版的MetaEditor 1035 出现异常价格,造成无法比较数据大小,无法产生信号

要添加评论,请登录注册
添加线程到收藏夹。追踪更快的变化!
gmxgmx
67
gmxgmx 2015.03.30 05:31 

MT4 765版的MetaEditor 1035 出现异常价格,造成无法比较数据大小,无法产生信号。具体表现:

收盘价出现4位小数,指标也出现类似情况。有时还会出现超过5位小数的返回值。

 

注意:除了收盘价,其他变量,包括数组,都是经过NormalizeDouble函数处理过的,设定的位数都是_Digits。

 

这是正常情况吗?怎么处理?

 

图1:注意 Close[0] 

调试截图 

 图2:注意 maxTR3

图2

  图3:注意 SHB[0] 、 mabM[0] 、 LHB[1]

图3 

Xiangdong Guo
3741
Xiangdong Guo 2015.03.30 13:18  
NormalizeDouble 只是内部处理时小数点的位数对齐,与显示时的位数无关,在显示的时候你应该用DoubleToString(Close[0], _Digits)。
WenMing Yang
943
WenMing Yang 2015.03.30 17:35  
765版本确实漏洞很多,以前工作很正常的EA现在时好时坏,如果一直是不正常也好找原因,现在时好时坏。神经兮兮的。官方也不见有更新。难道是我的电脑有问题?
Xiangdong Guo
3741
Xiangdong Guo 2015.03.30 17:47  
jonssen:
765版本确实漏洞很多,以前工作很正常的EA现在时好时坏,如果一直是不正常也好找原因,现在时好时坏。神经兮兮的。官方也不见有更新。难道是我的电脑有问题?
最新的784已经beta release了。
gmxgmx
67
gmxgmx 2015.03.31 05:24  
tradelife:
NormalizeDouble 只是内部处理时小数点的位数对齐,与显示时的位数无关,在显示的时候你应该用DoubleToString(Close[0], _Digits)。

首先,感谢回复。

产生问题的原因,并不清楚,这是在调试时发现的。

我想通过 NormalizeDouble 来实现准确的数值比较。数位不一致,比较的结果也许不准。不知道是否如此?

gmxgmx
67
gmxgmx 2015.03.31 05:27  
tradelife:
最新的784已经beta release了。
消息很灵通啊!怎么才能得到这些消息?
Xiangdong Guo
3741
Xiangdong Guo 2015.03.31 14:15  
gmxgmx:

我想通过 NormalizeDouble 来实现准确的数值比较。数位不一致,比较的结果也许不准。不知道是否如此?

如果只比较数值的 “>" 或 "<",就不需 NormalizeDouble,只有在比较 “==” 时用。
gmxgmx
67
gmxgmx 2015.04.03 03:32  

@tradelife:
谢谢! 

要添加评论,请登录注册