1、一开一平信号过滤模型
——模型中通过写入AUTOFILTER函数来控制和实现一开一平的信号过滤,有多个开仓信号都满足条件的时候,取第一个信号作为有效信号,后面的k线上的同样信号将被过滤掉。
——过滤模型支持的指令:BK、BP、BPK、SK、SP、SPK、CLOSEOUT,不支持BK(5)等带手数的指令
例如:
MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);
CROSSUP(C,MA1),BK;
CROSSUP(MA1,MA2),BK;
C>BKPRICE+10||C<BKPRICE-5,SP;
AUTOFILTER;

如上图所示:CROSSUP(C,MA1)满足条件出现BK信号,后面的K线满足CROSSUP(MA1,MA2),的BK信号条件时因为加入了AUTOFILTER, BK信号被过滤掉不能出现
2、加减仓模型
——模型中不写入AUTOFILTER函数,允许连续出开仓信号或者连续出平仓信号,可以实现加仓、减仓。
——支持的指令:BK(N)、BP(N)、SK(N)、SP(N)、CLOSEOUT、BPK(N)、SPK(N),不支持不带手数的开平仓指令。
(1)支持指令分组。
(2)多个指令条件同时满足时,按条件语句编写的先后顺序执行信号。
例如:
MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);
CROSSUP(C,MA1),BK(1);
CROSSUP(MA1,MA2),BK(1);
C>BKPRICE+10||C<BKPRICE-5,SP(BKVOL);

如上图所示:CROSSUP(C,MA1),满足条件出现了BK信号,后续K线满足了CROSSUP(MA1,MA2)时可以继续出现加仓信号
3、一根K线一个信号的模型,
一根K线一个信号的模型又可以细分为收盘价模型和指令价模型
1)收盘价模型
——K线走完计算信号进行下单(一根K线形成过程中也进行计算,这时信号会忽闪,k线没有走完出现的信号会被忽略,不进行下单)
——信号方向与持仓方向一致,不存在信号消失的情况
例如:
MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);
CROSSUP(MA1,MA2),BPK;//5周期均线上穿10周期均线做多。
CROSSDOWN(MA1,MA2),SPK;//5周期均线下穿10周期均线做空。
AUTOFILTER;

2)指令价模型
模型通过写入checksig或checksig_min 来实现指令价下单
——不管k线是否走完,计算出信号就进行实时下单,即K线未走完前下单;
——K线结束时复核,如果持仓方向与k线结束时的信号方向不符会自动同步持仓。
例如:
MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);
CROSSUP(MA1,MA2),BPK;//5周期均线上穿10周期均线做多。
CROSSDOWN(MA1,MA2),SPK;//5周期均线下穿10周期均线做空。
AUTOFILTER;
CHECKSIG(BPK,’A’,0,’D’,0,0);//出信号立即下单,K线走完复核
CHECKSIG(SPK,’A’,0,’D’,0,0);//出信号立即下单,K线走完复核

4、一根K线多个信号的模型
模型通过使用multsig 或multsig_min来控制并实现一根K线出多个信号
——不管k线是否走完,计算出信号就进行实时下单
——信号不进行复核,不存在信号消失的情况,信号方向与持仓方向始终一致
——一根K线中如果满足多个信号条件可以反复多次执行
例如:
MA1:MA(CLOSE,5);
MA2:MA(CLOSE,10);
CROSSUP(MA1,MA2),BK;
C>BKPRICE+10||C<BKPRICE-5,SP;
AUTOFILTER;
MULTSIG(0,0,2,0);

从以上内容可以看到,在文华的模型执行方式中,有好几种方式,
在实际编写过程中,应该根据实际需求,先制定好模型执行的方式,再去编写模型.

评论0