- UID
- 2
- 积分
- 2874674
- 威望
- 1387366 布
- 龙e币
- 1487308 刀
- 在线时间
- 13156 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-24
|
非过滤模型的运行规则[文华财经]
1、非过滤模型的编写
非过滤模型,允许连续出开仓信号或者连续出平仓信号,可以实现加仓、减仓。
支持的指令:BK(N)、BP(N)、SK(N)、SP(N)、CLOSEOUT,不支持不带手数的开平仓指令和反手指令。
支持指令分组
2、模组的加载初始化
加载时会自动弹出初始化窗口,用户手动输入持仓方向和开仓价格。模组后续运行,以带入的持仓为上一个信号,执行模型后续出的信号。(8.1.162以后版本采用此规则)
3、信号的下单手数
按照指令里写的手数下单
可以用MYVOL函数取运行模组中的设定的下单手数,例如:BK(2*MYVOL)
4、主观干预
(1)当前信号是开仓信号(BK、SK)的状态下,在本根和后续k线上,可以加仓下单;
(2)当前信号是平仓信号(BP、SP)的状态下,在本根和后续k线上,可以减仓下单;
(3)模组持仓为0时候,不允许主观干预;
干预失败的几种情况:
(1)有挂单不能进行手动干预
(2)有未处理完的操作不能进行手动干预
(3)有多头持仓不能干预卖开
(4)有空头持仓不能干预买开
(5)没有多头持仓不能干预卖平
(6)没有空头持仓不能干预买平
干预成功的结果:
直接发出委托,不在K线图上产生信号,但是会改变模组持仓。
5、非过滤模型根据模组持仓来计算下一个信号
(1)模组的理论持仓为0的情况下,找开仓信号(BK或SK),先找到的有效;
(2)开仓信号后,可以出现继续加仓信号、再减仓信号或清仓信号;
(3)平仓信号后,可以出现继续减仓信号、再加仓信号或清仓信号;
(4)一个指令行,在一次“开仓->平仓”交易过程中只发一次信号;
提示:该机制在8.1.273以后版本生效
6、一根k线多信号
一根k线上信号确定以后,会计算下一个信号,支持一根k线上先后出现多个信号。
但是,在模型具有MONO_SIGNAL语句的情况下,一根K线只支持一个信号,取最先出现的信号作为有效信号。
提示:8.1.229以及以前版本,模型的历史数据回测,是按照MONO_SIGNAL机制进行的,不管模型是否包含这个语句。
信号的下单执行规则
1、开仓信号发出时,不管模组中是否有挂单,直接发出开仓指令
2、平仓信号发出时
(1)如果之前发出的开仓信号委托还没有发出,则停止执行平仓信号
(2)如果之前发出的开仓信号有挂单(还没有成交或部分成交),先撤掉对应的挂单,然后执行平仓指令(平实际的模组持仓手数,如果0手持仓就不发委托)
3、在系统正在执行信号忽闪造成的消失处理的情况下,必须等信号消失处理完,再执行新的信号。
4、信号消失的处理
(1)对应的信号还未发出委托,则停止执行该信号
(2)对应的信号有挂单,但是还没有成交,撤掉挂单
(3)对应的开仓信号已经委托并且成交(全部成交或部分成交),则平仓对应手数,恢复0持仓状态。
(4)对应的平仓信号已经委托并且成交(全部成交或部分成交),则新开仓对应手数,恢复以前的持仓状态。
适用于8.1.176或更高版本 |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|