后台已经写了如果有持仓就不能再买入,但是现在有了1手后,系统仍然会买入,为什么?
TBUY(MSPREAD <=-0.75*SD AND THOLDING2 = 0,1,MKT,0,0,'','SQRB01');
有的1手是成交后的还是未成交单?
你把tholding2=0输出看下条件是否成立
2016-09-02 11:20:04.828 【后台】RB10 TBuy 第 31 行出现信号
2016-09-02 11:20:04.829 【后台】RB01 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:RB01
2016-09-02 11:20:04.831 【后台】下单已发送
2016-09-02 11:20:04.832 【后台】RB10 TSellShort 第 32 行出现信号
2016-09-02 11:20:04.833 【后台】RB01 TSellShort 已成功触发下单操作 价格:0.000000 数量:0 类型:1 账户: 品种:RB01
2016-09-02 11:20:04.834 【后台】实际账户持仓 0
2016-09-02 11:20:04.835 【后台】RB01 TCANCELEX 出现信号 类型:0 帐号:
2016-09-02 11:20:04.836 【后台】RB10 运行结束
2016-09-02 11:20:04.836 【下单】RB01 价0.000000 量1 买卖0 类型1 开平0 账户57139177 Formula 1
2016-09-02 11:20:04.837 【下单】确认报单已发送 ID=-551011795 RefID = 6561
2016-09-02 11:20:04.846 【指令】收到回报指令 ID = -551011795 RefID = 6561
2016-09-02 11:20:04.850 【指令】收到回报指令 ID = -551011795 RefID = 6561
2016-09-02 11:20:04.851 【指令】收到回报指令 ID = -551011795 RefID = 6561
2016-09-02 11:20:04.852 【指令】收到成交回报指令 REFID = 6561 vol = 1
2016-09-02 11:20:04.861 【回报】57139177 : rb1701 - 已报单 1 价格:2464 开 买
2016-09-02 11:20:04.862 【回报】57139177 : rb1701 - 已成交 1 价格:2461 开 买
2016-09-02 11:21:00.575 【后台】RB01 TSellShort 第 32 行出现信号
2016-09-02 11:21:00.576 【后台】RB01 TSellShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:RB01
2016-09-02 11:21:00.577 【后台】实际账户持仓 0
2016-09-02 11:21:00.578 【后台】RB01 运行结束
2016-09-02 11:21:00.589 【后台】RB10 运行结束
2016-09-02 11:22:00.418 【后台】RB01 TSellShort 第 32 行出现信号
2016-09-02 11:22:00.419 【后台】RB01 TSellShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:RB01
2016-09-02 11:22:00.420 【后台】实际账户持仓 0
2016-09-02 11:22:00.421 【后台】RB01 运行结束
2016-09-02 11:22:01.441 【后台】RB10 TBuy 第 31 行出现信号
2016-09-02 11:22:01.499 【后台】RB01 TBuy 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:RB01
2016-09-02 11:22:01.505 【后台】下单已发送
2016-09-02 11:22:01.512 【后台】RB10 TSellShort 第 32 行出现信号
2016-09-02 11:22:01.516 【后台】RB01 TSellShort 已成功触发下单操作 价格:0.000000 数量:0 类型:1 账户: 品种:RB01
2016-09-02 11:22:01.519 【后台】实际账户持仓 0
2016-09-02 11:22:01.520 【后台】RB01 TCANCELEX 出现信号 类型:0 帐号:
2016-09-02 11:22:01.521 【后台】RB10 运行结束
2016-09-02 11:22:01.522 【下单】RB01 价0.000000 量1 买卖0 类型1 开平0 账户57139177 Formula 1
2016-09-02 11:22:01.523 【下单】确认报单已发送 ID=-551011785 RefID = 6571
2016-09-02 11:22:01.524 【指令】收到回报指令 ID = -551011785 RefID = 6571
2016-09-02 11:22:01.527 【指令】收到回报指令 ID = -551011785 RefID = 6571
2016-09-02 11:22:01.539 【指令】收到回报指令 ID = -551011785 RefID = 6571
2016-09-02 11:22:01.540 【指令】收到成交回报指令 REFID = 6571 vol = 1
2016-09-02 11:22:01.543 【回报】57139177 : rb1701 - 已报单 1 价格:2457 开 买
2016-09-02 11:22:01.546 【回报】57139177 : rb1701 - 已成交 1 价格:2454 开 买.
上面的是这两次买单的交易记录
把11:19的日志也贴出来,看下前边开空的成交情况。
您监控rb10合约下单rb01合约吗?
1, THOLDING2 取到的是rb10的持仓,
2,tholding2返回的数量是空仓加多仓,如果您有1手空和1手多仓,tholding2返回值是0。
建议用tbuyholdingex函数可以指定品种
那是不是应该这么写?
TBUY(MSPREAD <=-0.75*SD AND TBUYHOLDINGEX('','SQRB01',0) = 0,1,MKT,0,0,'','SQRB01');
可以,
TBUYHOLDINGEX('','SQRB01',0),当日可用买持
TBUYHOLDINGEX('','SQRB01',1),全部可用买持