1、加减仓模型的编写 加减仓模型,允许连续出开仓信号或者连续出平仓信号,可以实现加仓、减仓。 支持的指令:BK(N)、BP(N)、SK(N)、SP(N)、CLOSEOUT、BPK(N)、SPK(N),不支持不带手数的开平仓指令。 (1)支持指令分组。 (2)多个指令条件同时满足时,按条件语句编写的先后顺序执行信号。 2、模组的加载初始化 延续历史信号: 加载时根据历史信号自动加载模组,模组后续运行根据历史最后信号和理论持仓,执行模型后续发出的信号。 每次手动初始化重新开始: 用户手动输入信号方向和信号价格。模组后续运行,以带入的信号以及持仓,执行模型后续出的信号。 3、信号的下单手数 按照指令里写的手数下单(模组可用资金不足,根据可开仓手数执行); 可以用MYVOL函数取运行模组中的设定的下单手数,例如:BK(2*MYVOL)。 4、主观干预 (1)当前信号是开仓信号(BK、SK)、反手信号(BPK、SPK)的状态下,在本根和后续k线上,可以加仓下单,也可以减仓下单(加仓后子账户持仓小于等于理论持仓); (2)当前信号是平仓信号(BP、SP)的状态下,在本根和后续k线上,可以减仓下单; (3)模组理论持仓为0时候,不允许主观干预。 干预失败的几种情况: (1)有挂单不能进行手动干预; (2)有未处理完的操作不能进行手动干预; (3)有多头持仓不能干预卖开; (4)有空头持仓不能干预买开; (5)没有多头持仓不能干预卖平; (6)没有空头持仓不能干预买平。 干预成功的结果: 直接发出委托,不在K线图上产生信号,但是会改变模组子账户持仓。 5、加减仓模型根据模组持仓来计算下一个信号 (1)模组的理论持仓为0的情况下,找开仓信号(BK或SK),先找到的有效; (2)开仓信号后,可以出现继续加仓信号、再减仓信号、反手信号或清仓信号; (3)平仓信号后,可以出现继续减仓信号、再加仓信号或清仓信号; 来源 www.cxh99.com 6、一根k线多信号 一根k线上信号确定以后,会计算下一个信号,支持一根k线上先后出现多个信号。 信号的下单执行规则 (1)开仓信号发出时,不管模组中是否有挂单,直接发出开仓指令; (2)平仓信号发出时: ① 如果之前发出的开仓信号委托还没有发出,则停止执行平仓信号; ② 如果之前发出的开仓信号有挂单(还没有成交或部分成交),先撤掉当前模组所有的开仓挂单,然后执行平仓指令(平实际的模组持仓手数,如果0手持仓就不发委托); (3)在系统正在执行信号忽闪造成的消失处理的情况下,必须等信号消失处理完,再执行新的信号; (4)信号消失的处理: ① 对应的信号还未发出委托,则停止执行该信号; ② 对应的信号有挂单,但是还没有成交,撤掉挂单; ③ 对应的开仓信号已经委托并且成交(全部成交或部分成交),则平仓对应手数,恢复0持仓状态; ④ 对应的平仓信号已经委托并且成交(全部成交或部分成交),则新开仓对应手数,恢复以前的持仓状态。 |