指标缓冲数组残留值的问题

 

我有一个自定义指标。 

1、

环境介绍:指标A有3个缓冲数组Buf1,buf2,Buf3,其中buf1非零就画线。 指标A已经加载到图表中。  

操作步骤: 关闭MT4,五天不开MT4,这五天之内市场中有新的数据。 第5天打开MT4终端时,指标A的缓冲数组buf1 第M柱的值显示非零(画线了) 。 

问题:buf1第M柱值非零是错误的,正确的值应该是0 。 (经过核对,只有buf1第M柱的值是错误的,其它缓冲数组里的值都是对的) 

2、环境介绍:  指标A有3个缓冲数组Buf1,buf2,Buf3,其中buf1非零就画线。 指标A已经加载到图表中。  

操作步骤: 关闭MT4,五天不开MT4,这五天之内市场中有新的数据。 第5天打开MT4终端时,指标A的缓冲数组buf1 第M柱的值显示非零(画线了) 。

立即关闭MT4重新打开,  buf1第M柱的值从非零变成0 ;或者不关闭MT4,将指标A从图表删除,再加载到图表,  buf1第M柱的值从非零变成0


请问:为什么会有这样的差异呀,需要在指标A中加入什么样的判断机制,才会避免出现几天后打开MT4,指标计算错误的情况。 我怀疑是指标缓冲数组中有残留值没有清零。

 
有人知道这是什么原因吗
 
1648401654c:
有人知道这是什么原因吗

仅从描述来看,无法给出回复。这类问题的debug需要源码。

原因: