[求助] 盘口模型-82 (文华财经WH8赢智V8.2)

投资者咨询:[求助] 盘口模型-82 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-21 16:58
 请教函数运行问题:
        VOID duocang()//开多平空函数
{
  IF(SOUPANJIA>TIAO1)//发生开多仓信号
  {

     IF(AL_SellPosition("CodeName")>=1 )//有空头持仓
   
      {
        T_Deal1( CodeName ,0,1,AL_SellPosition(CodeName) ,LIMIT_ORDER );//以市价发买出平仓(平掉空仓)委托
      }
     
     ELSE
    {
        T_Deal( CodeName ,0,0,N,ask1);//以卖1价发出开多仓的委托
     }
   
  }
}

假设别的条件不变(只对有没有空头持仓进行讨论),这样写第一次运行时就把空仓平掉了,(这里不管委托挂单之事,假设一次就平掉了),由于用的是ELSE,这样起初没有空单时它执行开多。
   问题是起初有空单时问,平掉后,应该是整个程序从新运行(其它条件没变)这时运行还能开多仓,
   我的理是否正确?
技术人员回复
日期:2018-8-21 17:06
您的理解有偏差

IF与ELSE是并列存在的,就是有空仓的时候,一笔tick来进入IF判断,平掉空仓,那么这个循环就执行完成了,不会在去判断else

只有当下一笔tick来的时候,满足开多仓信号,判断没有持仓,才开多仓的
投资者咨询:[求助] 盘口模型-82 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-21 16:58
 主函数是按TICK数据(理论上1秒4笔)每一笔,主函数启动运行一次。(其它运行是根据程序里的,条件,和判断而定了)
我这样理解是否正确?

技术人员回复
日期:2018-8-22 8:39
是的

您的理解是正确的

模型运行是每个行情都要计算一次的,以保证不错过任何一笔tick数据