|
|
BETWEEN(A,B,C) 介于 |
|
ISDELIVERYDAY 判断该周期是不是交割日 |
CROSS(X,Y) 交叉函数 |
ISLASTBAR 判断该周期是否为最后一根K线 |
CROSSUP(A,B) 向上穿越 |
ISLASTKLINE 判断该周期是否收盘前最后一根K线 |
CROSSDOWN(A,B) 向下穿越 |
ISUP 阳线 |
CROSS2(A,B) 二次交叉函数 |
KLINEEND 判断K线当前状态是否是K线结束 |
DIVERGENCE(X1,X2,S,L,HL)
变量X1与X2在指定周期内是否发生背离 |
KLINESTART 判断K线当前状态是否是K线开始 |
EVERY(COND,N) 判断函数 |
LAST(COND,N1,N2) 判断函数 |
EXIST(COND,N) 判断函数 |
LOOP2(COND,A,B) 循环函数 |
FILTER(COND,N) 过滤 |
LONGCROSS 维持交叉函数 |
IFELSE(COND,A,B) 条件函数 |
TREND 获取K线趋势 |
ISDOWN 阴线 |
VALUEWHEN(COND,DATA) 取值 |
ISEQUAL 平盘 |
|
|
|
|
|
|
|
BETWEEN(A,B,C)
介于 |
表示A是否处于B和C之间,成立返回1(Yes),否则返回0(No)。
注:
1、其中若A=B、A=C、或A=B且B=C时函数返回值为1(Yse)。
例1:
BETWEEN(CLOSE,MA5,MA10); //表示收盘价介于5日均线与10日均线之间。 |
CROSS(X,Y)
交叉函数 |
表示A从下方向上穿过B,成立返回1(Yes),否则返回0(No)
注:
1、满足穿越的条件必须上根k线满足A<=B,当根k线满足A>B才被认定为穿越。
例1:
CROSS(CLOSE,MA(CLOSE,5));//表示收盘线从下方向上穿过5周期均线 |
CROSSUP(A,B)
向上穿越 |
表当A从下方向上穿过B,成立返回1(Yes),否则返回0(No)
注:
1、CROSSUP(A,B)等同于CROSS(A,B),CROSSUP(A,B)编写更利于理解。
例1:
MA5:=MA(C,5);
MA10:=MA(C,10);
CROSSUP(MA5,MA10),BK;//MA5上穿MA10,买开仓。
//CROSSUP(MA5,MA10),BK; 与 CROSSUP(MA5,MA10)=1,BK;表达同等意义 |
CROSSDOWN(A,B)
向下穿越 |
表示当A从上方向下穿B,成立返回1(Yes),否则返回0(No)
注:
1、CROSSDOWN(A,B)等同于CROSS(B,A),CROSSDOWN(A,B)编写更利于理解
例1:
MA5:=MA(C,5);
MA10:=MA(C,10);
CROSSDOWN(MA5,MA10),SK;//MA5下穿MA10卖开仓
//CROSSDOWN(MA5,MA10),SK; 与 CROSSDOWN(MA5,MA10)=1,SK;表达同等意义 |
CROSS2(A,B)
二次交叉函数 |
表示N个周期内当A从下方向上穿B偶数次。 赢顺不支持
注:
1、若N为0,则从第一个有效的值开始算。
2、当N为有效值,但当前的k线数不足N根,或者N空值的情况下,代表不成立,该函数返回0
例1:
MA5:=MA(C,5);
CROSS2(C,MA5,10) 返回值为1(Yes),表示当前周期是10个周期内(包含当前周期)收盘价从下方向上穿过5周期均线的第偶数次;返回值为0(No),表示当前周期不是10个周期内(包含当前周期)收盘价从下方向上穿过5周期均线的第偶数次 |
DIVERGENCE(X1,X2,S,L,HL)
变量X1与X2在指定周期内是否发生背离 |
变量X1与X2在指定周期内是否发生背离
用法:
S: 设置转折点两边需要的周期数,取值应小于L的四分之一;S不可以为变量;
L: 计算的总的范围的周期数;L不可以为变量。
HL: 可以取值为1和-1
1表示根据X1的峰值判断背离情况;
X1在L周期内波峰取值创了新高,但X2在X1峰值对应的取值没有创新高,熊背离,或称顶背离
-1表示计算波谷点,
X1在L周期内波谷取值创了新低,但X2在X1波谷对应的取值没有创新低,牛背离,或称底背离;
例1:
MA10:MA(C,10);
DIVERGENCE(C,MA10,2,20,1);//在20个周期内,收盘价与5周期均线存在顶背离
说明:收盘价峰值的判断标准--收盘价大于前2个周期的收盘价,并且大于后2个周期的收盘价,认为为收盘价的峰值;
即在当根K线前面的20个周期(不包含当根K线)内,收盘价存在两个这样的峰值,且峰值创了新高,但是在两个峰值对应K线取到的10周期均线照的值未创新高 |
EVERY(COND,N)
判断函数 |
判断N周期内,是否一直满足COND条件。若满足函数返回值为1,不满足函数返回值为0;
注:
1、N包含当前k线。
2、若N是有效数值,但前面没有那么多K线,或者N为空值,代表条件不满足,函数返回值为0。
3、N可以是变量
例1:
EVERY(CLOSE>OPEN,5);//表示5个周期内一直是阳线
例2:
MA5:=MA(C,5);//定义5周期均线
MA10:=MA(C,10);//定义10周期均线
EVERY(MA5>MA10,4),BK;//4个周期内MA5都大于MA10,则买开仓。
//EVERY(MA5>MA10,4),BK;与EVERY(MA5>MA10,4)=1,BK;表达同等意义 |
EXIST(COND,N)
判断函数 |
判断N个周期内是否有满足COND的条件(包含当前周期)
注:
1、N可以是变量。
2、若N是有效数值,但前面没有那么多K线,或者N为空值,代表条件不满足,该函数返回值为0
例1:
EXIST(CLOSE>REF(HIGH,1),10);表示10个周期中是否存在收盘价大于前一个周期的最高价,存在返回1,不存在则返回0.
例2:
N:=BARSLAST(DATE<>REF(DATE,1))+1;
EXIST(C>MA(C,5),N);// 表示当天是否有满足收盘价大于5周期均线的k线,存在返回1,不存在返回0 |
FILTER(COND,N)
过滤 |
当COND条件成立,将其后N周期内的数据设置为0.
注:
1、N为空值,返回空值。
2、N不能为变量
3、不能与BKPRICE,BARSBK,SKPRICE,BARSSK一起使用
例1:
FILTER(CLOSE>OPEN,3);// 查找阳线,3天内再次出现的阳线不被记录在内 |
IFELSE(COND,A,B)
条件函数
|
若COND条件成立,则返回A,否则返回B
注:
1、COND是判断条件;A、B可以是条件,也可以是数值。
例1:
IFELSE(ISUP,H,L);//如果k线为阳线,取最高价,否则取最低价
例2:
A:=IFELSE(MA5>MA10,CROSS(DIFF,DEA),IFELSE(CROSS(D,K),2,0));//当MA5>MA10时,取是否满足DIFF上穿DEA,否则(MA5不大于MA10),当K,D死叉时,令A赋值为2,若上述条件都不满足,A赋值为0
A=1,BPK;//当MA5>MA10,以DIFF上穿DEA作为开多仓条件
A=2,SPK;//当MA5不大于MA10,以K、D死叉作为开空仓条件 |
ISDOWN
阴线 |
判断该周期是否收阴
注:
1、ISDOWN等同于C<O
例:
ISDOWN=1&&C<REF(C,1),SK;//如果当根k线收阴并且收盘价小于前一周期收盘价,则开空
//ISDOWN=1&&C<REF(C,1),SK; 与 ISDOWN&&C<REF(C,1),SK; 表达同等意义 |
ISEQUAL
平盘 |
判断该周期是否平盘
注:
1、ISEQUAL等同于C=O
例1:
EVERY(ISEQUAL=1,2),CLOSEOUT;//如果持续2根k线都是平盘,则全平。 |
ISDELIVERYDAY
判断该周期是不是交割日 |
判断该周期是否是交割日。如果当前k线是交割日则返回1(Yes),否则返回0(No)
注:
1、只能使用在日线及小于日线的周期,在周线月线等大于日线的周期使用时返回值始终为0
例1:
ISDELIVERYDAY=1&&TIME>=1000,CLOSEOUT;//如果当根k线是交割日并且时间是10:00,则全平。 |
ISLASTBAR
判断该周期是否为最后一根K线 |
判断该周期是否为最后一根k线
注:
1、该函数属于未来函数。
例1:
VALUEWHEN(ISLASTBAR=1,REF(H,1));//如果当前k线是最后一根k线,则取前一周期的最高价。 |
ISLASTKLINE
判断该周期是否收盘前最后一根K线 |
判断该周期是否为每日收盘前最后一根k线,返回是1(Yes),否则返回0(No)。
例1:
ISLASTKLINE=1,CLOSEOUT;//如果该周期是当日收盘前最后一根k线,则全平 |
ISUP
阳线 |
判断该周期是否收阳
注:
1、ISUP等同于C>O
例:
ISUP=1&&C>REF(C,1),BK;//如果当根k线收阳并且收盘价大于前一周期收盘价,则开多
//ISUP=1&&C>REF(C,1),BK; 与 ISUP&&C>REF(C,1),BK;//表达同等意义 |
KLINEEND
判断K线当前状态是否是K线结束 |
判断K线当前状态是否是K线结束。
用法:
1、KLINEEND 如果当前K线状态为K线的结束,则返回1,否则返回0。
2、模组运行时下根K线接收到第一笔数据时,判断上根K线结束;历史回测中该函数返回值为1 |
KLINESTART
判断K线当前状态是否是K线开始 |
判断K线当前状态是否是K线开始。
用法:
1、KLINESTART 如果当前K线状态为K线的开始,则返回1,否则返回0。
2、模组运行及效果测试选择信号执行方式为“不进行信号复核”时,可以采用该函数来控制信号出现的时间 |
LAST(COND,N1,N2)
判断函数 |
判断过去N1到N2周期内,是否一直满足COND条件。
注:
1、若N1与N2只相差一个周期(如N1=3,N2=2),则函数判断距离当前K线最近的那个周期上是否满足条件(即判断过去N2个周期的那根K线上是否满足条件)
2、当N为有效值,但当前的k线数不足N根,或者N空值的情况下,代表不成立,该函数返回0
3、N可以是变量。
例1:
LAST(CLOSE>OPEN,10,5);//表示从过去第10个周期到第5个周期内一直是阳线
例2:
MA5:=MA(C,5);
LAST(C>MA5,4,3);//判断距离当前k线3个周期的那根k线上是否满足C大于MA5. |
LOOP2(COND,A,B)
循环函数 |
LOOP2(COND,A,B);循环条件函数
若COND条件成立,则返回A,否则返回B
注:
1、COND是判断条件;A、B可以是条件,也可以是数值。
2、该函数支持变量循环引用前一周期自身变量,即支持下面这样的写法Y: LOOP2(CON,X,REF(Y,1));
例1:
X: LOOP2(ISUP,H,(X,1));//如果k线为阳线,取当根K线的最高价最高价,否则取上一次是阳线的K线的最高价
例2:
BB:LOOP2(BARSBK=1,LOOP2(L>LV(L,4),L,LV(L,4)),LOOP2(L>REF(BB,1),L,REF(BB,1)));//持有多单时,开多单那根的前面4个周期内的最低价为起始止损点BB,如果后续K线最低价比前一个最低价高,取当前最低价为止损点,否则取前一个低点为止损点,
SS:LOOP2(BARSSK=1,LOOP2(H<HV(H,4),H,HV(H,4)),LOOP2(H<REF(SS,1),H,REF(SS,1)));//持有空单时,开空单那根的前面4个周期内的最高价为起始止损点SS,如果最高价比前一个最高价低,取当前最高价为止损点,否则取前一个高点为止损点
H>HV(H,20),BK;
L<LV(L,20),SK;
C<BB,SP;
C>SS,BP;
AUTOFILTER; |
LONGCROSS
维持交叉函数 |
维持交叉函数
LONGCROSS(A,B,N) 表示A在N个周期内都小于B,本周期A从下向上穿越B
注:
1、当N为有效值,但当前的k线数不足N根,
2、N为空值的情况下,代表不成立,函数返回0
例1:
LONGCROSS(CLOSE,MA(CLOSE,10),20);//表示收盘线在10日均线之下持续20周期后从下向上穿过10日均线
|
TREND
获取K线趋势 |
获取K线趋势。
用法:
1:TREND 如果K线的形成过程中最高价先出现,则返回值为3;如果最低价先出现,则返回值为2;若最高和最低一起出现,则返回值为1;默认为0。
2:该函数只支持效果测试和模组运行。 |
VALUEWHEN(COND,DATA)
取值 |
当COND条件成立时,取X的当前值。如COND条件不成立,则取上一次COND条件成立时X的值。
注:
X可以是数值也可以是条件。
例1
VALUEWHEN(HIGH>REF(HHV(HIGH,5),1),HIGH);表示当前最高价大于前五个周期最高价的最大值时返回当前最高价
例2:
VALUEWHEN(DATE<>REF(DATE,1),O);表示取当天第一根k线的开盘价(即当天开盘价)
例3:
VALUEWHEN(DATE<>REF(DATE,1),L>REF(H,1));表示在当天第一根k线上判断当前最低价是否大于昨天最高价。如果返回1,说明当天跳空高开。返回0,说明当天不满足跳空高开条件。 |
|
|
|
|
|
|