根据10%的之字转向的上一个波峰波谷位置,确定价格形态(日线周期)。 P1:=PEAK(H,10,1,1); N1:=PEAKBARS(H,10,1,1); T1:=TROUGH(L,10,1,1); M1:=TROUGHBARS(L,10,1,1); DRAWTRENDLINE(N1=0,P1,N1=0,P1,COLORRED); DRAWTRENDLINE(M1=0,T1,M1=0,T1,COLORGREEN); 求之子转向的前M个波谷的位置。 用法: TROUGHBARS(X,P,M,C) 求X满足条件P形成之子转向的前M个波谷的位置。C是标记量,取 1表示P是百分比数值;取0表示P是绝对数值。 注: 本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例1: TROUGHBARS(LOW,10,1,1);表示最低价的10%的之字转向的上一个波谷到当前的周期数; TROUGHBARS (MA(LOW,34),100,1,0);表示34个周期内最低价均线的100个价位的之字转向的 上一个波谷到当前的周期数 例2: 10%的之字转向的上一个波峰波谷的位置标注相应的值(日线周期)。 P1:=PEAK(H,10,1,1); N1:=PEAKBARS(H,10,1,1); T2:=TROUGH(L,10,1,1); N2:=TROUGHBARS(L,10,1,1); DRAWNUMBER(N1=0,H,P1,2,COLORYELLOW); DRAWNUMBER(N2=0,L,T2,2,COLORYELLOW); 例3: 根据10%的之字转向的上一个波峰波谷位置,确定价格形态(日线周期)。 P1:=PEAK(H,10,1,1); N1:=PEAKBARS(H,10,1,1); T1:=TROUGH(L,10,1,1); M1:=TROUGHBARS(L,10,1,1); DRAWTRENDLINE(N1=0,P1,N1=0,P1,COLORRED); DRAWTRENDLINE(M1=0,T1,M1=0,T1,COLORGREEN); TROUGHBARS 40
WAVEPEAK 返回K线图波峰位置。 用法: WAVEPEAK(N) 如果当前K线最高价大于前后N根K线的最高价返回1,否则返回0。N 支持变量。 注: 1、当N为有效值,但当前的k线数不足N根,或者N为空值的情况下,代表不成立,该函数返回0。 2、本函数有未来函数性质。 例1: WAVEPEAK(10); //如果当前K线最高价大于前10根K线最高价且大于后10根K线最高 价返回1,否则返回0。 例2: K线价格与MACD的DIFF发生顶背离时,标注“顶背离”。 DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26); TMP:=WAVEPEAK(5); DIFF1:VALUEWHEN(TMP=1,DIFF),NODRAW; H1:VALUEWHEN(TMP=1,H),NODRAW; TMP1:=H1REF(DIFF1,1); DRAWTEXT(TMP1,H,'顶背离'); 例3: HH:=VALUEWHEN(WAVEPEAK(5),H);//取满足最高价大于前后5根k线最高价k线的最高 价格 H>HH,BK;//当前最高价大于HH,买开(突破前波峰高点,买开) 返回K线图波谷位置。 用法: WAVEVALLEY(N) 如果当前K线最低价小于前后N根K线的最低价返回1,否则返回0。 N支持变量。 注: 1、当N为有效值,但当前的k线数不足N根,或者N为空值的情况下,代表不成立, 该函数返回0。 2、本函数有未来函数性质。 例1: WAVEVALLEY(10); //如果当前K线最低价小于前10根K线最低价且小于后10根K线最 低价返回1,否则返回0。 例2: K线价格与MACD的DIFF发生底背离时,标注“底背离”。 41
WAVEVALLEY DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26); TMP:=WAVEVALLEY(5); DIFF1:=VALUEWHEN(TMP=1,DIFF); L1:=VALUEWHEN(TMP=1,L); TMP1:=L1>REF(L1,1)&&DIFF1 将当前位置到若干周期前的数据设为1。 用法: BACKSET(X,N),若X非0,则将包含当前位置在内的一共N周期的数值设为1。 注: 1、当N为有效值,但当前的k线数不足N根,按照实际的根数计算; 2、N为0或空值的情况下,返回空值。 3、N可以为变量 4、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例:BACKSET(CLOSE>OPEN,2);表示当K线收阳时,将该周期及前一周期数值设为 1,否则为 0 该函数参数支持变量计算如BACKSET(CLOSE>OPEN,VAR1);//VAR1是变量 引用后N个周期的数据。 用法: REFX(X,N)引用X在N个周期后的值。 注: 1、当N为有效值,但当前的k线数不足N根,返回无效值; 2、N为0时返回当前X值;N为空值时返回空值。 3、N不能为变量 42 BACKSET(X,N) REFX 4、本函数运算量很大,将占用很多的CPU资源,导致行情刷新速度变慢,请谨慎使用! 例:REFX(CLOSE,5);表示引用自当前周期后第5个周期的收盘价 10.头寸函数 (47) 一根K线上信号满60个时,自动对前面的信号进行删除。 清除规则: 1、仅作用于信号执行方式选择为不复核的模型 2.仅作用于模组运行过程中,效果测试及模组加载的历史信号不受该关键字影响。 例: AUTOCLEARSIG CLOSE>OPEN,BK; CLOSE GROUPBKVOL 取模型分组后的模组多头持仓。 用法: GROUPBKVOL('A')返回模型组A的多头模组持仓。 参数可以取从A-I 注: 相应组的买开信号后,GROUPBKVOL('A')增加,即BK(‘A’),BPK(‘A’),BK(‘A’,1)后GROUPBKVOL('A')增加,其他组的开仓信号,GROUPBKVOL('A')取值不变 相应组的卖平信号后,GROUPBKVOL('A')取值相应的减少,即SP(‘A’),SPK(‘A’),SP(‘A’,1)后,GROUPBKVOL('A')取值减少,其他组的平仓信号后,GROUPBKVOL('A')取值不变 全清信号后,GROUPBKVOL('A')取值减为0 例: MA1:MA(C,5); C>MA1,BK(‘A’,1); C>O,BK(‘B’,1); GROUPBKVOL('A')>0&&C>REF(H,1),BK(‘A’,1);//A组多头持仓大于0并且最新价大于前一周前最高价,再买开一手 C GROUPSKVOL