开拓者期货期权程序化系统交易论坛

标题: 关于TB如何翻译文华的CHECKSIG函数? [打印本页]

作者: xdmrzh    时间: 2016-12-8 21:06:23     标题: 关于TB如何翻译文华的CHECKSIG函数?

老师,文华函数有一个叫:CHESCKSIG,具体说如下:
CHECKSIG 设置信号确认与复核的指令价方式(TICK逐笔回测,可设置回测精度)

用法:
CHECKSIG(SIG,MODE1,TIME1,MODE2,TIME2,INTERVAL);
1、当INTERVAL不为0时,INTERVAL数据时间间隔,每隔INTERVAL秒计算一次信号,SIG为信号,MODE1为信号确认方式,TIME1信号确认时间乘数,MODE2信号复核方式,TIME2信号复核时间乘数。
(例:INTERVAL为10,豆粕合约开盘第一根K线21:00:09为第一次计算模型,21:00:19为第二次计算模型...)
2、当INTERVAL为0时,每笔TICK计算一次信号,SIG为信号,MODE1为信号确认方式,TIME1信号确认时间,MODE2信号复核方式,TIME2信号复核时间。
3、通过调整INTERVAL参数,模型可设置不同数据快照频率进行回测。

注:
1、写了这个函数以后,模型会按照指令价方式运行。
2、SIG位置为交易指令,包括BK\SK\BP\SP\BPK\SPK\CLOSEOUT所有指令。
3、MODE1位置为信号确认方式,有A和B两种:
A:MODE1为'A'时
  1)当INTERVAL不为0时,出信号后第TIME1个数据时间间隔确认信号下单
  2)当INTERVAL为0时,出信号TIME1秒后确认信号下单
B:MODE1为'B'时
  1)当INTERVAL不为0时,K线走完前TIME1个时间间隔确认信号下单
  2)当INTERVAL为0时,K线走完前TIME1秒确认信号下单
  3)TIME1=0为K线走完确认信号下单
4、MODE2位置为信号复核方式,有C,D,E和F四种:
C:MODE2为'C'时
  1)当INTERVAL不为0时,出信号后第TIME2个数据时间间隔进行信号复核
  2)当INTERVAL为0时,出信号TIME2秒后进行信号复核,TIME2=0为不复核
D:MODE2为'D'时
  1)当INTERVAL不为0时,K线走完前TIME2个时间间隔进行信号复核
  2)当INTERVAL为0时,K线走完前TIME2秒进行信号复核
  3)TIME2=0为K线走完复核
E:每一个小节(包括:商品合约10:15-10:30休盘、11:30-13:30休市;股指合约11:30-13:00休市)最后一根K线提前复核,其他非小节最后一根K线是K线走完复核。
  1)当INTERVAL不为0时,提前TIME2个时间间隔进行信号复核
  2)当INTERVAL为0时,提前TIME2秒进行信号复核
  3)TIME2=0为K线走完复核
F:每天收盘前最后一根K线提前复核,其他非收盘前最后一根K线是K线走完复核
  1)当INTERVAL不为0时,提前TIME2个时间间隔进行信号复核
  2)当INTERVAL为0时,提前TIME2秒进行信号复核
  3)TIME2=0为K线走完复核
5、INTERVAL代表数据时间间隔
  1)支持0、3、5、10四个值,不支持变量。
  2)3、5、10分别代表用每隔3秒、5秒、10秒,计算一次模型
  3)参数为3、5、10 ,回测速度可提升3-10倍,回测精度稍差
  4)参数为0的时 为每笔TICK计算一次模型
  5)一个模型中只能写入一个INTERVAL值
6、模型中写入该函数,一根K线只能有一个信号。
7、CHECKSIG、MULTSIG、MULTSIG_MIN、CHECKSIG_MIN函数不能同时出现在一个模型中
8、该函数只允许在模组中使用,不支持加载到盒子。
9、未使用该函数的指令,默认的信号执行方式为K线走完确认信号下单。
10、TIME1,TIME2非0时,该函数不支持加载到量能周期和日线以上的周期中使用。
例如:量能周期出信号TIME1个数据时间间隔下单, K线走完前TIME2个数据时间间隔复核之类的都不支持
11、如果用该函数设置了信号复核,复核时产生了信号消失,会进行信号消失处理。信号消失的处理方式:
还没有成交时的信号消失处理-撤单
BK、SK信号消失处理-平仓
BPK、SPK信号消失处理-平仓+恢复建仓
BP、SP信号消失处理-恢复建仓

例:
C>O,BK;
C<O,SP;
CHECKSIG(BK,'A',5,'D',0,3);//设置BK信号,出信号后第5个数据时间间隔确认下单(例如21:00:02满足条件,出现信号后第5次计算信号,即21:00:17时确认信号下单),K线走完复核。每隔3秒计算一次信号。
CHECKSIG(SP,'A',0,'C',10,3);//设置SP信号,根据数据时间间隔计算出信号后立即下单(例如21:00:02满足条件,出现信号后立即下单),下单后第10个数据时间间隔复核(例如21:00:17时确认信号下单,则确认下单后第10次计算模型,即21:00:47进行信号复核)。每隔3秒计算一次信号。
AUTOFILTER;

我的问题是,TB如何把CHECKSIG翻译过来?
作者: tb1120137962    时间: 2016-12-24 23:41:13

我也很期待有这个功能,请版主指引我们怎样编程。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2