以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=170338)

--  作者:小小草
--  发布时间:2019/6/6 15:35:20
--  请教问题出在哪。怎么改写代码。
序列模式下,主图叠加。代码如下:
A1:EMA(CLOSE,5);
A2:EMA(CLOSE,34);
A44:EMA(CLOSE,44);
C1:=CLOSE;
K1:(C1<(A2-0.3*MINDIFF)&&C1<(A1-0.3*MINDIFF)&&C1<(A44-0.3*MINDIFF)),NODRAW;
K2:(C1>(A2+0.3*MINDIFF)&&C1>(A1+0.3*MINDIFF)&&C1>(A44+0.3*MINDIFF)),NODRAW;
G:IF(K2=0&&K1=1&&REF(K1,1)=0,-3,IF(K1=0&&K2=1&&REF(K2,1)=0,+3,0)),NODRAW;
编译能通过,应用于图的时候就显示最后第七行解释错误,无论是序列模式还是逐k模式,无论选主图 副图。都是此行解释错误。
最后一行也就是G:IF(K2=0&&K1=1&&REF(K1,1)=0,-3,IF(K1=0&&K2=1&&REF(K2,1)=0,+3,0)),NODRAW;
问题出在哪?
将最后一行注释掉,
//G:IF(K2=0&&K1=1&&REF(K1,1)=0,-3,IF(K1=0&&K2=1&&REF(K2,1)=0,+3,0)),NODRAW;
则正常了。可是我就是需要最后一行得到最终的判定条件啊
问题一:序列模式下,ref函数能够应用于if语句里面吗
问题二:if语句里再嵌套if语句嘛。

--  作者:banzhuan
--  发布时间:2019/6/6 15:39:29
--  
//用下面代码再试试
A1:EMA(CLOSE,5);
A2:EMA(CLOSE,34);
A44:EMA(CLOSE,44);
C1:=CLOSE;
K1:(C1<(A2-0.3*MINDIFF)&&C1<(A1-0.3*MINDIFF)&&C1<(A44-0.3*MINDIFF)),NODRAW;
K2:(C1>(A2+0.3*MINDIFF)&&C1>(A1+0.3*MINDIFF)&&C1>(A44+0.3*MINDIFF)),NODRAW;
G:IF(K2=0&&K1=1&&REF(K1,1)=0,-3,IF(K1=0&&K2=1&&REF(K2,1)=0,3,0)),NODRAW;

1、可以使用;
2、可以再嵌套