您现在的位置:程序化交易>> 期货公式>> (MC)multicharts>> MC知识>>正文内容

highd函数的问题 [MC]

  • MC用户求助: 我不知道您的图表从什么时间开始的,也不知道您的指标是从第几根K线开始计算的。假设您图表最开始的日期时间是2017-07-1,9:05分,指标最大bar设置为5,那么指标会从第六根bar开始计算得出数据。highd(N)默认是-1,当currentbar是1时,highd(0)开始赋值,当currentbar>1 且当根bar的日期和前一根bar的日期不同时,highd(1)开始赋值,当下一次再出现同样的条件时,highd(2)开始赋值,以此类推,更准确的逻辑您可以看一下函数OHLCPeriodsAgo的代码。所以highd(0)和highd(1)或者相邻两个之间的距离应该是一天,换算成5分钟周期,就会有几百根bar的距离。所以,刚开始的很多根bar,计算的hd1=highd(1)是-1; highest函数的用法,使用两个参数,第一个是pricevalue,第二个是length(长度),highest计算的是pricevalue在length长度根bar上pricevalue的数值;所以,hestd=highest(hd1,ndays)不是得到前5天的最高价,而得到从当根bar到前4根bar上hd1的数值最大值;之所以,hestd刚开始会得到0,是因为在MC中任意数值没有计算的情况下都是0,也就是说,第6根上hd1=-1,而hd1[1]是0(因为没有计算)。您需要弄清楚函数内部的逻辑。

     

  • MC回复讨论一: 我不知道您的图表从什么时间开始的,也不知道您的指标是从第几根K线开始计算的。假设您图表最开始的日期时间是2017-07-1,9:05分,指标最大bar设置为5,那么指标会从第六根bar开始计算得出数据。highd(N)默认是-1,当currentbar是1时,highd(0)开始赋值,当currentbar>1 且当根bar的日期和前一根bar的日期不同时,highd(1)开始赋值,当下一次再出现同样的条件时,highd(2)开始赋值,以此类推,更准确的逻辑您可以看一下函数OHLCPeriodsAgo的代码。所以highd(0)和highd(1)或者相邻两个之间的距离应该是一天,换算成5分钟周期,就会有几百根bar的距离。所以,刚开始的很多根bar,计算的hd1=highd(1)是-1; highest函数的用法,使用两个参数,第一个是pricevalue,第二个是length(长度),highest计算的是pricevalue在length长度根bar上pricevalue的数值;所以,hestd=highest(hd1,ndays)不是得到前5天的最高价,而得到从当根bar到前4根bar上hd1的数值最大值;之所以,hestd刚开始会得到0,是因为在MC中任意数值没有计算的情况下都是0,也就是说,第6根上hd1=-1,而hd1[1]是0(因为没有计算)。您需要弄清楚函数内部的逻辑。

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容