以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp)
-- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4)
---- [求助]如何实现以下功能? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=78486)
|
-- 作者:saintlucifer
-- 发布时间:2015/5/12 9:10:50
-- [求助]如何实现以下功能?
现在有名为FUNC_DMA的公式如下:INPUT : CH01(3,1,5),DM01(3,2,4); DMA01 : REF(MA(CLOSE,CH01),DM01),COLORYELLOW; 作用是提取3周期前的3日均线作为当前均线;
然后在主策略有以下跨周期引用:
DMA01 := STKINDIEX(\'\',\'FUNC_DMA.DMA01(DMA_CH01,DMA_DM01)\',0,11,3,100); k线周期为30秒周期,多分钟周期为8分钟,这里的stkindiex参数中,引用了3周期后偏移的数据,因此造成了未来函数的问题,由于在func_dma公式里面,dma01参数是提取3周期之前的数据,这里按道理两个是应该会互相抵消的,但实际应用中,却出现了一大段的未来函数段,如下图,请问为什么?如果我想要不出现未来函数,但是又能实现上面的功能,请问可以怎么写?
此主题相关图片如下:001.png
|
-- 作者:jinzhe
-- 发布时间:2015/5/12 9:21:48
--
处理中请稍等
|
-- 作者:jinzhe
-- 发布时间:2015/5/12 9:47:40
--
理论上是这样的,但是系统运行的时候,你在引用未来的数据,那么系统先会判断这个未来的数据时间有没有产生,如果没有产生那么就返回最后的值
上面的结果就是最新的几根k线上,引用未来的数据,而未来的数据时间还没有产生,被系统判断为该未来时间还没有出现,所以返回最后的值
|
-- 作者:saintlucifer
-- 发布时间:2015/5/12 10:10:20
--
那有没有办法解决呢?通过变动公式的内容以达到画出上述线段,但又不会有未来函数的问题?
|
-- 作者:jinzhe
-- 发布时间:2015/5/12 10:16:10
--
你需要引用的数据是ma(c,3) ,为何要绕那么一大个圈子?
|
-- 作者:saintlucifer
-- 发布时间:2015/5/12 10:27:32
--
因为我直接试过引用ma(c,3)画出来的图跟用这种方法画出来的不同,如下图,白线是有未来数据的,黄线是直接引用ma(c,3)的,两个数据不重叠,但是我需要白线的数据,就是要解决未来数据的问题。此主题相关图片如下:002.png
|
-- 作者:jinzhe
-- 发布时间:2015/5/12 10:31:49
--
这个是我本地测试时写的,用ma(c,3)的数据除了未来的那一部分,之前都是一致的
你没必要绕个大圈子 此主题相关图片如下:1.png
|
-- 作者:saintlucifer
-- 发布时间:2015/5/12 10:41:44
--
好的,我再试试
|