以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  [求助]请问这个公式为什么算出来的结果是空值  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174905)

--  作者:vakoth
--  发布时间:2020/3/11 12:21:01
--  [求助]请问这个公式为什么算出来的结果是空值
如题,在逐K线模式下算出来的没有任何数据,是溢出了还是我写的有问题

a1 :=1/8;
a2 :=1/10;
CT:=(a2*(1-a1)-a1*(1-a2))*REF(close,1);
VARIABLE:TP:=0;
TP :=(a1+a2)*close + CT + ((1-a1)+(1-a2))*TP;

--  作者:FireScript
--  发布时间:2020/3/11 13:35:03
--  
 因为你第一个K上TP被赋予了一个无效值,而第二个K开始的TP都是和之前tP值关联的。

你处理下CT在第一个K上的问题,第一个K位置 ref(c,1)是一个无效值。

--  作者:vakoth
--  发布时间:2020/3/11 13:51:39
--  
哦明白了,非常感谢
--  作者:vakoth
--  发布时间:2020/3/11 14:05:49
--  
IF BARPOS>2 THEN CT:=(a2*(1-a1)-a1*(1-a2))*close[BARPOS-1];

这样写可以吗,结果是出来了,但是我不知道这样写,公式是不是就直接是从 BARPOS>2 开始运行