跨周期引用问题 (文华财经WH8赢智V8.2)

投资者咨询:跨周期引用问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 14:20
 

图片点击可在新窗口打开查看
5分钟K线上引用60分钟MACD
图片种最上面用红色方框圈出来的是这样来的:
MACD60:VAR1.MACD;

图片中间紫色圆圈圈出来的是这样来的:
DIFF60:VAR1.DIFF
DEA60:VAR1.DEA
2*(DIFF60-DEA60),COLORSTICK;

很明显两种算法结果是不一样的,这是为什么?哪种方法是正确的  
技术人员回复
日期:2018-5-18 14:32

是您的理解有误,不是这样比较的,

 

您主图中红框位置的macd指标值是60分钟K线的,而副图紫圈位置的macd指标值是当前5分钟K线的,

 

不同级别周期的指标是用不同价格计算的,所以返回值是不同的,

 

关于跨周期您可以参见这个帖子研究下 【编写技巧】:wh8 跨周期编写方法介绍  图片点击可在新窗口打开查看

 

 

 

投资者咨询:跨周期引用问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 14:20
 不是的,是出现了意外,但我也不知道是什么意外,我截图的时候他们的值是不一样的,但是当我重新加载后值就一样了
您没有仔细看我的题,我全部都是跨周期引用过来的,上面的是直接引用的60分钟的MACD的值,下面的是引用的60分钟的diff和dea,然后在5分钟图上用60分钟的diff和dea计算的60分钟的MACD
我上面的意思就是想说,这两种操作的结果是否一样?

然后在这顺便问一下,我在高级编程的一个课程里,看到过  if  begin  end  这个语句块,不是if函数那个if,我想知道,这种语句是可以正常用在指令价模型里进行开仓平仓的是吗?我想查这个的用法在哪可以查到详细的用法?  
技术人员回复
日期:2018-5-19 11:50
 是由于MACD本身使用了EMA这样的回溯函数

在直接引用MACD指标,是使用60分钟周期计算好的DIFF DEA得到的

而引用60分钟的DIFF DEA,是依据5分钟周期K线数据在回溯计算,由于数据量不同,计算指标数值会不同

重新计算后,相当于再申请了相同数据量,因此数值又一样了

在实际计算中,更建议您使用第一种方式,直接引用最后数值来计算


另外,IF语句也是可以放到指令价模型中使用,您可以整理下思路具体说明下思路,我们分析看下
投资者咨询:跨周期引用问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-5-18 14:20
IF  BEGIN  END
这个语句在哪有说明或者教程吗,我自己看看就可以了,我现在没有用到这个语句的情况,只是想了解一下,学一下 
技术人员回复
日期:2018-5-19 17:34
在程序化的高级教程中有编写案例,您可以下载看下:https://cxh.wenhua.com.cn/download.asp?pid=2 

此外,您也可以参考链接中的编写了解下:http://help.wenhua.com.cn/dispbbs.asp?BoardID=14&ID=669590