您现在的位置:程序化交易>> 期货公式>> 文华财经>> 文华财经知识>>正文内容

赢智WH8程序化规则说明(一) [CXH99.COM]

 赢智WH8是国庆刚升级的版本,部份功能发生了改变,以下内容经综合整理,是用文华软件进行程序化交易的投资朋友是必须基本了解的一些内容。建议收藏到自已的空间或分享给朋友。

 

一、过滤模型的规则说明(http://www.cxh99.com/2012/12/24/9982.shtml)

二、非过滤模型的运行规则( http://www.cxh99.com/2012/12/24/9983.shtml)

三、条件单模型的规则说明( http://www.cxh99.com/2012/12/24/9984.shtml

 

 一、三种模型的逻辑关系


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)模型没有持仓干预平仓
 {程序化交易 www.cxh99.com }
 


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


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

 

 

 

 

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 262069696  点击在线交流进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容