以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  关于引用程序问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=91058)

--  作者:新手123
--  发布时间:2016/2/14 13:09:25
--  关于引用程序问题

老师,

      你好!

 

我有一段技术指标如下:

 

买:=IF("KDJ.J"(27,3,3)<0,10,0);
条件:=CROSS(9.9,买);
VAR1:=(2*CLOSE+HIGH+LOW)/4;
VAR2:=LLV(LOW,5);
VAR3:=HHV(HIGH,5);
VAR4:=EMA((VAR1-VAR2)/(VAR3-VAR2)*100,5);
MA1:=MA(VAR4,2);
AA:STICKLINE(VAR4>MA1,VAR4,MA1,3,1),COLORRED;
AAA:IF(VAR4>MA1,VAR4,MA1),COLORRED;
BBB:=STICKLINE(VAR4>MA1 AND REF(VAR4,1)<30,VAR4,MA1,3,1),COLORRED;
STICKLINE(VAR4<=MA1,VAR4,MA1,3,1),COLORFFCC66;
DRAWICON(CROSS(9.9,买),VAR4-12,5);
STICKLINE(CROSS(9.9,买),VAR4+5,MA1-4,3,1),COLORYELLOW;
XXX:=STICKLINE(BBB,VAR4+5,MA1-4,3,1),COLORYELLOW;
STICKLINE(FILTER(XXX ,5) ,VAR4+5,MA1-4,3,1),COLORYELLOW;

 

当我把引用程序:买:=IF("KDJ.J"(27,3,3)<0,10,0);

换成:

RSV:=(CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100;
K:=SMA(RSV,3,1);

D:=SMA(K,3,1);
J:=3*K-2*D;

 

买:=J<0,10,0);

 

再运行时,两个程序结果不一样,请帮忙看看是错在哪里?如何更改?谢谢。



--  作者:jinzhe
--  发布时间:2016/2/14 13:11:05
--  
kdj的计算公式里面有sma,sm是依赖于前一个数据,所以 引用出来的结果和计算结果是不一样的,这两种结果都说得通。用直接计算的就可以
--  作者:新手123
--  发布时间:2016/2/14 14:17:07
--  

老师,

 

    我之所以问这问题是因为引用程序:买:=IF("KDJ.J"(27,3,3)<0,10,0);计算结果较为接近实际,而直接计算的错的很离谱,但程序中引用太多了,影响整个程序的效率,所以,请老师把引用程序:买:=IF("KDJ.J"(27,3,3)<0,10,0);改为直接计算使两个运算结果一样,谢谢了。

 


--  作者:jinzhe
--  发布时间:2016/2/14 14:22:56
--  
上一个回复就已经回答了引用和直接计算结果是不一样的,所以用户直接做引用