| 以文本方式查看主题 
 -  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
 --  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
 ----  后台函数TBUYHOLDING(1)有问题?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=57894)
 
 
 | 
    
    
      | --  作者:厚德载物 --  发布时间:2013/10/23 10:18:45
 --  后台函数TBUYHOLDING(1)有问题?
 
 我使用了这样一个语句,TBUY(1,DEALNUM-TBUYHOLDING(1),MKT),ORDERQUEUE;   本来已经开仓了2,结果TBUYHOLDING(1)=0,导致连续开仓。   检查检查这个函数??? 
 | 
    
      | --  作者:jinzhe --  发布时间:2013/10/23 10:28:49
 --
 
 成交了没?   
 | 
    
      | --  作者:厚德载物 --  发布时间:2013/10/23 10:44:16
 --
 
 最后成交了10手,可以我限制2手的?这几个函数THOLDING,TSELLHOLDING,TBUYHOLDING,有问题? 
  此主题相关图片如下:1232.gif 
  
 
 | 
    
      | --  作者:厚德载物 --  发布时间:2013/10/23 10:48:52
 --
 
 IF THOLDING=0  THENBEGIN
 TBUY(1,DEALNUM-TBUYHOLDING(1),MKT),ORDERQUEUE;
 DEBUGFILE(\'\\BT50BACK.TXT\',\'--多单仓位:%2.f\',TBUYHOLDING(1));
 DEBUGFILE(\'\\BT50BACK.TXT\',\'----空单仓位:%.2f\',TSELLHOLDING(1));
 END;
   这样的语句 THOLDING不应该等于零,结果等于零了。输出文件TBUYHOLDING(1),应该等于10,结果全部是零。说明这三个函数,全部失效? 
 | 
    
      | --  作者:jinzhe --  发布时间:2013/10/23 10:48:58
 --
 
 下单条件是怎么写的?   
 | 
    
      | --  作者:厚德载物 --  发布时间:2013/10/23 11:21:11
 --
 
 下单条件,在这个循环之外。与下单条件没有关系? 
 | 
    
      | --  作者:jinzhe --  发布时间:2013/10/23 11:29:53
 --
 
 你tholding=0才会输出你的debug,你都有10个持仓了,还会输出debug吗? 也就是 if tholding=0 then  begin debug(持仓); end 输出的持仓如果不是多空完全对冲掉,那么肯定输出的是0   你得把debug语句放到整个下单语句的外面 
 | 
    
      | --  作者:厚德载物 --  发布时间:2013/10/23 12:08:30
 --
 
 你看看我输出的是什么?不是THOLDING,而是TBUYHOLDING(1)???? 我的技术,你看清楚了?????? 
 | 
    
      | --  作者:jinzhe --  发布时间:2013/10/23 13:13:22
 --  LastJiesuan在基金品种里表示什么?
 
 输出的条件是tholding=0,也就是说是tholding=0时才输出debug tholding不等于0时,不输出debug 条件满足了输出,tholding=0满足之后输出,那么会输出的值就是持仓在为0的状态下输出 条件不满足,也就是tholding不等于0了,那么就不会输出数值   有了10手持仓,这个时候thodling已经不是0了,所以tholding=0这个判断不成立,后面对应的debug将不会触发   所以解决办法是把debug放在if判断外面输出     改成下面的代码,就不需要先进行tholding 的判断,再执行debug了 IF THOLDING=0  THENBEGIN
 TBUY(1,DEALNUM-TBUYHOLDING(1),MKT),ORDERQUEUE;
 END
      DEBUGFILE(\'\\BT50BACK.TXT\',\'--多单仓位:%2.f\',TBUYHOLDING(1));DEBUGFILE(\'\\BT50BACK.TXT\',\'----空单仓位:%.2f\',TSELLHOLDING(1));
 
     
 | 
    
      | --  作者:厚德载物 --  发布时间:2013/10/23 13:23:17
 --
 
 问题的关键,TBUY(1,DEALNUM-TBUYHOLDING(1),MKT),ORDERQUEUE;被反复执行了。
   如果TBUYHOLDING(1)不等于零,最大不会开仓超过DEALNUM,可以大大超过了???? 
 |