以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  累积一个变量连续大于或小于0的值,周期未知  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=165314)

--  作者:canifly
--  发布时间:2018/9/2 13:20:19
--  累积一个变量连续大于或小于0的值,周期未知
 如题。

比如一个变量X,可以大于或小于0。统计当前X“连续为正”或“连续为负”的和,当由正转负、或由负转正时,则清零重新累积。

这个算法在博易大师里面非常简单,如下:
X:=.....;
pX:=ref(X,1); //前一个周期的X值
SumX:=if(X*pX>0, X+SumX, X);  //如果符号连续则累加,否则清零用当前X代替

但是这段代码在金字塔中报错。请问金字塔实现这个功能,则怎么写?

【重申一下:周期是未知的,且无意义。】

--  作者:canifly
--  发布时间:2018/9/2 15:12:43
--  
 我用了全局变量variable、EXTGBDATA/EXTGBDATA,好像都不行
--  作者:canifly
--  发布时间:2018/9/2 15:49:06
--  
 设置逐K模式后用全局变量搞定了。
--  作者:gxx978
--  发布时间:2018/9/3 8:51:36
--  

可以将x定义为一个全局变量,例如:

variable:x=0;
x:=....;
px:=ref(x,1);
sumx:if(x*px>0,x+px,0);