A1:=C>REF(C,1); //
FC:=CLOSE;
N:=BARPOS,NOAXIS;
NT:=0;
;
FOR j=N downto 2 DO
BEGIN
IF A1=0 THEN BREAK;
A1:=REF(A1,1);
NT:=NT+1;
END
想得到连续满足A1的周期数,试了好几种方法都没法得到,请老师指点一下。
为了在条件不符合的时候就直接跳出循环。这个问题我自己已经解决了。还有一个问题就是backset的用法。
AY1:=BACKSET(TJ11=1,9);
这句输入后,在TJ11=1的情况下,AY1还是没有任何改变,麻烦老师解释一下,谢谢!
这句是条件满足后,把AY1当前k线以及之前8根k线(一共9根)赋值为1,其他为0。也就是最近9根k线上的ay1是1,其他时候是0
FOR j=N downto 2 DO
BEGIN
IF X[j]=0 THEN BREAK;
NT:=NT+1;
END
NX:NT;
TJ11:NT=9;
TJ13:ISLASTBAR AND BETWEEN(NT,5,8);
AY1:BACKSET(TJ11=1,9);
就是在图表上已经显示了TJ11=1,而AY1还是等于0.
这是相关的代码,麻烦看看有什么问题
你看的AY1,是TJ11成立附近的9根,还是随便的一根k线?
就如我上面讲的,要TJ11条件成立哪根和之前8根,AY1才是1
就是成立的那根和它前面8根都还是0啊


此主题相关图片如下:qq图片20160729152049.png

A1:=C>REF(C,4); //
FC:=CLOSE;
N:=BARPOS,NOAXIS;
NT:=0;
VARIABLE: X[360]=0;
X[N]:=A1;
FOR j=N downto 2 DO
BEGIN
IF X[j]=0 THEN BREAK;
NT:=NT+1;
END
NX:NT;
TJ11:NT=9;
TJ13:ISLASTBAR AND BETWEEN(NT,5,8);
AY1:BACKSET(TJ11=1,9);
本地没有出现满足条件的地方
用户注明一下是哪个合约品种,哪个周期,哪个时间点上成立了