在使用HHV函数是,如果参数的时间跨度中,刚好有进行过送股,函数对比的依然是除权前和除权后的价格。
比如HHV(HIGH, 20),如果这20天中间,经过10送10的除权,除权前每股80元,除权后每股40元,后面股价上涨至42元,HHV函数中仍然是用80和42去作比较。这个问题请问怎么解决?请赐教。注:已下载并使用复权数据。
1.软件采用的是向前等比复权,复权后的值就应该是贴合当前数据的形态。并没有问题。
//MACD
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIFF,9);
MACD := 2*(DIFF-DEA) * 100, COLORSTICK;
//KDJ
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:3*K-2*D;
NHD := NEWHBARS(HIGH, 1);
//支撑,从2天前,即突破位置算起,找到第一个J值拐点,从拐点往前,算到创新高周期内macd最小值的点为止
count_begin : Ref(BARSLAST(Ref(J, 2) > Ref(J, 1) And Ref(J, 1) < J), 2) + 1;
count_end : LLVBARS(MACD, NHD);
zc : Ref(HHV(HIGH, NHD - count_begin - count_end), count_begin + 2);
002776 柏堡龙,2016年11月18日的ZC值怎么会是85.75而不是除权后的价格?
不好意思,我弄错了,我再看看,复权的数据我还是不太理解用法。
nhd是2,count_begin是3,count_end是0
你这个减下来是-1了
你用HHV(HIGH, 20),这个语句去查看呢
后面改成这样
//支撑,从2天前,即突破位置算起,找到第一个J值拐点,从拐点往前,算到创新高周期内macd最小值的点为止
count_end : Ref(BARSLAST(Ref(J, 2) > Ref(J, 1) And Ref(J, 1) < J), 2) + 1;
count_begin : LLVBARS(MACD, Ref(NHD, 2)) - 2;
zc : Ref(HHV(HIGH, count_begin - count_end), count_end + 2);
还是002776, 2016年11月18日
当时 count_begin=70,count_end=3,则zc = Ref(HHV(High, 67), 5),此时算出的zc为85.75,为复权前的价格
本地情况如下。你在图表上右键-数据-除权数据,看下这个品种本地除权数据有吗?
此主题相关图片如下:}zwxdczy@yyoi3h)4t80n5w.png
