EA运行时间久了数据不刷新的问题。使用iMA接口获取均线数据刚开始一切正常。但是如果时间久了获取到的数据是老数据,不能自动刷新。

 

已经使用RefreshRates在获取数据前进行强制数据刷新,但验证发现不怎么起作用。

比较明显的情况是如果在1分钟周期上取1分钟的数据好像长时间也是正常的,但如果在1分钟周期界面上取5分钟的数据,这种情况发生的比较严重。不知那位大神知道原因?

 
greex:

已经使用RefreshRates在获取数据前进行强制数据刷新,但验证发现不怎么起作用。

比较明显的情况是如果在1分钟周期上取1分钟的数据好像长时间也是正常的,但如果在1分钟周期界面上取5分钟的数据,这种情况发生的比较严重。不知那位大神知道原因?

如果是指标的话,不建议计算所有K线, 自定义计算k线的根数,如只计算2000根k线,试一试看看效果能否好点

 
Tiecheng Fu:

如果是指标的话,不建议计算所有K线, 自定义计算k线的根数,如只计算2000根k线,试一试看看效果能否好点

取的k线数还不到2000呢。。。

如果把界面放在H1周期上,在EA中取H1周期的数据,运行多天数据也是正常的。

不正常的是如果把界面设置在H1周期上,取其它周期的数据,时间久了就不正常。


有个方案比较麻烦,就是只用一分钟周期的数据,其它周期的数据通过1分钟自已来计算。不过不合理。系统的这个接口本来就支持周期的,只是时间久了取值不能正确

double  iMA(
   string       symbol,           // symbol
   int          timeframe,        // timeframe
   int          ma_period,        // MA averaging period
   int          ma_shift,         // MA shift
   int          ma_method,        // averaging method
   int          applied_price,    // applied price
   int          shift             // shift
   );

原因: