盘口结合趋势模型 (文华财经WH8赢智V8.2)

投资者咨询:盘口结合趋势模型 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-12-19 14:05
 盘口结合趋势模型为什么接收不到信号?是哪个出问题了
技术人员回复
日期:2018-12-19 14:12
如果正常编写是可以接收信号的

您检查下,算法模型中模组名称需要与模组对应

并且模组模型中需要含有SETMODRUNTYPE(1)函数,另外检查下模组是否实时出的信号

可以参考说明书中加载方式看下:http://www.wenhua.com.cn/new_guide/Wh8/view4_5.html#e1


如果还有疑问,提供下您算法模型,以及模组模型,并详细描述下您1楼问题的判断依据
 
投资者咨询:盘口结合趋势模型 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-12-19 14:05

你好,请问开多没问题,平多怎么每次都失败了,指教一下:

 

14:57:01(本机时间  ): BK信号---------------
14:57:01(本机时间  ): 委托发出(rb1905,3428,2,买,开)
14:57:01(本机时间  ): 委托成功(rb1905,委托号:2LS261038)
14:57:01(本机时间  ): 成交(rb1905,3428,买,开,2,委托编号:2LS261038)
14:58:01(本机时间  ): SP信号---------------
14:58:01(本机时间  ): AL_BuyPosition() = 10
14:58:01(本机时间  ): 委托发出(rb1905,3427,2,卖,平)
14:58:01(本机时间  ): 委托失败(rb1905,原因:可平仓数量不足)

我的模型:

BK_BJ:=IF(C<O,1,0);
BK_BJ=1 && BKVOL=0 ,BK;
BARSBK=1 && BKVOL>0,SP;
SETMODRUNTYPE(1);
AUTOFILTER;

 

我的模组

 

VAR KN;//开仓手数
GLOBAL_VAR BKID;
GLOBAL_VAR SPID;
GLOBAL_VAR Mod1;
VOID MAIN()
{
   KN    = 2;
   Mod1 = "螺纹1905_1分钟_NEW_1(1)";//模组名称

    IF (Mod1.F_FreshSig() == 1) //如果当前信号是没有处理过的新信号并且没有消失
 {
  IF(Mod1.F_SigValid() == 1)
  {  
   TDEAL();//执行开平仓函数
  }
 }
}
VOID TDEAL() //开平仓函数
{
 IF (Mod1.F_Sig() == BK) //如果信号是买开信号
 { 
   MessageOut("BK信号---------------");
  BKID = T_Deal(Mod1.F_DealCode(),0,0,KN,Offers(Mod1.F_DealCode(),"ask1"));//以对价发出KN手的买开委托
 }
 
 IF (Mod1.F_Sig() == SP) //如果信号是卖平信号
 {
     MessageOut("SP信号---------------");
  MessageOut("AL_BuyPosition() = " + AL_BuyPosition(Mod1.F_DealCode()));
  IF (AL_BuyPosition(Mod1.F_DealCode()) > 0 && AL_BuyPosition(Mod1.F_DealCode()) < KN)//如果当前模型多头持仓小于KN大于0
  {
   SPID = T_Deal(Mod1.F_DealCode(),1,1,AL_BuyPosition(Mod1.F_DealCode()),Offers(Mod1.F_DealCode(),"bid1"));//以对价发出当前持仓手数的卖平委托   
  }
  ELSE IF (AL_BuyPosition(Mod1.F_DealCode()) >= KN)//如果当前模型多头持仓大于等于KN手
  {
   SPID=T_Deal(Mod1.F_DealCode(),1,1,KN,Offers(Mod1.F_DealCode(),"bid1"));//以对价发出KN手数的卖平委托
  }
 }
}

技术人员回复
日期:2018-12-19 15:39
看您运行日志显示“可平仓数量不足”,说明平仓的时候这个合约没有持仓了

您检查下是否手动将仓位平了,或者运行了其他的模组/盒子/算法模型等将仓位平掉了?


另外,我们后续也对应测试下您的模型,看是否编写问题导致的
 
目前已经收盘,如果不是其他因素导致的平仓,我们明日开盘会安排测试