在编写模型前,先了解模型执行的几个方式?

在编写模型前,先了解模型执行的几个方式?

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);

 

按此在新窗口浏览图片

 

从以上内容可以看到,在文华的模型执行方式中,有好几种方式,

在实际编写过程中,应该根据实际需求,先制定好模型执行的方式,再去编写模型.

原文链接:https://www.quant.bsiot.cn/?p=322,转载请注明出处。
0
分享海报

评论0

请先
显示验证码
展开