- 显示:
- 1879
- 等级:
- 已发布:
- 2014.02.11 07:38
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
但是这个函数在MQL5中已经不存在了,主要是因为MQL5在库中提供了所有必要的基础底层函数,来实现类似功能。.
作为一种替代,几个程序员提供了该函数的MQL5版本。我找到了4个不同的版本,它们分别来自circlesquares, komposter (来自代码库), dc2008 (来自著名的文章 从mql4向mql5迁移) 和 marketeer (俄语论坛)。
我发现所有的4个版本都有明显的bug,都没能准确的实现MQL4中的iBarShift()函数的功能。事实上,当日期作为输入参数时,和蜡烛线的开盘时间不符,所有的版本都返回错误的值。
因此我决定对这些函数的准确度和速度做一些测试,当然最后开发我自己的版本。你可以在附件中找到库和新版函数,以及一个用于评测该函数的小脚本。
请注意,iBarShift()并不是在MQL5中最佳的实现某些功能的方式。会有更好的解决方案,这取决于你的算法。
P.S: mql5的858/868/871版有一个bug,导致我的函数运行非常缓慢/报错。此bug在880版中被修复了。
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/1864