设为首页|

当前位置 > 首页 > 产品中心 > 量化策略
量化策略
WH8(文华8)程序化规则说明
发布时间:2015-05-29

WH8(文华8)程序化规则说明

1、过滤模型的规则说明

2、非过滤模型的规则说明

3、公式条件单的规则说明

一、三种模型的逻辑关系

1、非过滤模型,是能够写多个指令,可以进行加仓、建仓操作的模型。

2、过滤模型,是非过滤模型的一个特例,做了一个特殊处理:一类指令只取第一个,不支持加仓、减仓。例如:写5个bk指令,只取最先满足条件的那一个信号有效。过滤模型,用AUTOFILTER语句来定义。

3、公司条件单,也是非过滤模型的一个特例,做了一个特殊处理:只能出一类信号,例如:买开有效。

公式条件单,用CONDITION_ORDER语句来定义。

二、指令分组编写机制说明:

指令分组通俗来讲是指一个模型里,支持指定条件平仓,通过组的形式对相同组的条件进行平仓。

使用方法:

系统默认最多支持9组模型分组,也就是A/B/C/D/E---I。

1、过滤模型指令分组:

以下为编写使用范例,红色部分表示指令的分组。

CROSS(REF(LLV(L,55),1),C),SK('A');//空头A组
CROSS(C,REF(HHV(H,20),1)),BP('A'); //仅对A组的空头平仓。
CROSS(C,REF(HHV(H,55),1)),BK('A');//多头A组
CROSS(REF(LLV(L,20),1),C),SP('A'); //仅对A组的多头平仓。
CROSS(REF(LLV(L,30),1),C),SK('B');//以下为B组
CROSS(C,REF(HHV(H,15),1)),BP('B');
CROSS(C,REF(HHV(H,30),1)),BK('B');
CROSS(REF(LLV(L,15),1),C),SP('B');
AUTOFILTER;//过滤机制

注意事项:

在过滤机制上,先是组过滤再信号过滤。(详解见下)
组过滤是指:
如果上一根K线信号是组A发出的开仓信号(bk sk bpk spk) 当前K线只能是组A的平仓信号及无组别的平仓信号。(组A优先于无组别)
如果上一根K线信号是组A发出的平仓信号(bp sp) 当前K线可以是任意组的开仓信号。(以信号出现的顺序取第一个开仓信号)
如果上一个K线是无组别的开仓信号,当前K线可以是无组别平仓信号或者含有组的平仓信号,优先级为无组别,组('A'),组('B')....组('I')。
信号过滤是指:
开平信号的过滤,优先顺序为:
上一根K线是bk 当前K线必须是spk或sp (spk优先于sp,以下同理)
上一根K线是sk 当前K线必须是bpk或bp
上一根K线是bp 当前K线必须是bk或sk
上一根K线是sp 当前K线必须是bk或sk
上一根K线是bpk 当前K线必须是spk或sp
上一根K线是spk 当前K线必须是bpk或bp

2、非过滤模型指令分组

以下为编写使用范例
MA1:=MA(C,10);
CROSS(C,MA1),BK('A',1);//多头A组
CROSS(MA1,C),SK('A',1);//空头A组
CROSS(MA1,C),SP('A',GROUPBKVOL('A'));//仅对A组的多头平仓,且平掉所有A组多头持仓
CROSS(C,MA1),BP('A',GROUPSKVOL('A'));//仅对A组的空头平仓,且平掉所有A组空头持仓
L>REF(L,5),SK('B',1);//以下对B组
H<REF(H,5),BK('B',1);
CROSS(REF(H,5),H),BP('B',GROUPSKVOL('B'));
CROSS(L,REF(L,5)),SP('B',GROUPBKVOL('B'));

注意事项:

非过滤模型在一个分组里:
1、bk后一根不能出现bp、sk后不能出现sp
2、bk后一根不能出现sk,sk后不能出现bk。
注:在满足以上条件的基础上,同组内根据模型的编写顺序决定信号优先级
以上面例子说明:
如果上一根K线信号是组A发出的开仓信号BK('A',1) 当前K线只能是组A的平多信号和A组的同方向开仓信号
非过滤模型不同分组里:
如果同时满足多个组的信号条件,组别优先级为:无组别 、A 、B—I
不同组间不受以上信号过滤机制的限制,即BK('A',1)可以出现SK('B',1)

三、手动干预的说明

什么是手动干预
手动干预是指在模组运行时,通过手动发出委托对模型进行加减仓的操作,委托会改变模组持仓,不会在模组中形成相应的信号。

1、过滤模型手动干预机制

上一个信号是BK、BPK信号,可以干预买开、卖平
上一个信号是SK、SPK信号,可以干预卖开、买平

2、非过滤模型手动干预机制

上一个信号是BK信号,可以干预买开、卖平
上一个信号是SK信号,可以干预卖开、买平
上一个信号是BP信号,可以干预买平
上一个信号是SP信号,可以干预卖平

3、不允许手动干预或干预失败情况说明:

(1)有挂单不能进行手动干预
(2)有未处理完的操作不能进行手动干预
(3)上一信号为反方向开仓信号不能手动干预买开
(4)上一信号为反方向开仓信号不能手动干预卖开
(5)上一信号为平仓信号不能进行手动干预
(6)当前没有多头持仓不能手动干预卖平
(7)当前没有空头持仓不能手动干预买平
(8)当前有反方向持仓不能手动干预买开
(9)当前有反方向持仓不能手动干预卖开机制
(10)当前K线已发出平仓信号不能手动干预开仓

注意:如果当前K线上有信号且已固定上一个信号为当前K线上的信号,否则为除了当根K线的最后一个信号。
公式条件单模组:
手动干预,不受任何约束,模组持仓可以有锁仓
不允许手动干预和干预失败情况的说明

(1)模型有挂单
(2)模型有未处理完的操作
(3)模型没有持仓干预平仓

四、模型加载到主图

有买卖信号的时候可以点右上角的按钮,实现模型信号下单。需勾选右键菜单中—其他—“显示模型买卖信号”“启用模型信号下单”
五、效果测试出现信号立即下单、K线走完复核,考虑信号消失带来的交易成本说明
指令价测试为什么要考虑信号消失成本?
出现信号立即下单,K线走完复核:只考虑了当K线走完时,满足条件的那根K线的最优价位,没有考虑在盘中运行时信号消失的情况,所以指令价测试会远远优于收盘价测试,为了缩小指令价测试和实盘交易盈亏计算的差距,采用多计算出现信号位置的前两根K线的信号消失导致的成本。
可以通过交易明细,显示所有明细,查看信号消失成本以及发生的位置。

关于登录软件
只能使用交易网关登录软件,默认使用系统分配的动态行情账号。
可登录软件后,系统工具菜单下—转登行情登录账号—选择“使用我自己的程序化、五档行情等衍生功能授权账号”。退出软件再次登录时起效

下为该TB交易系统对糖的测试报告,固定一手交易按50%仓位交易,部分年份不是足年交易,因此不能按足年月份衡量;

期市有风险,入市需谨慎。严禁期货从业人员代客理财!   中航期货投诉电话:0755-83320464     投诉邮箱:xingli_zhqh@avic.com    中航期货全体员工祝您投资顺利!

诚聘英才