等级: 专业版
- 注册:
- 2021-5-20
- 曾用名:
|
根据ORDERQUEUE的函数描述:
“SELLSHORT(CROSS(C,MA(C,5),1,MARKET),ORDERQUEUE;
BUY(CROSS(C,MA(C,5),1,MARKET),ORDERQUEUE;
若没有加ORDERQUEUE,触发条件的时候会同时发出平多、开空指令。
加上ORDERQUEUE后,可简单的描述为:触发条件时,软件会先发出平仓指令,待收到平仓指令回报后,再发出开多指令。”
上述 ORDERQUEUE描述是反手动作,但是如果我想要的不是反手,而是先撤单,然后以新价格重新下单则ORDERQUEUE是无效的。例如我写:
IF CROSS(LINE1,C) THEN
BEGIN
TCANCELEX(1,2,ACCT,MKT_ID),ORDERQUEUE; //撤销原来挂的空单
TSELL(1,SS,LMT,BUY_P,0,ACCT,MKT_ID),ORDERQUEUE;
END
这个有时候会出现先下单再撤单的现象!造成我新下的这一单直接被撤掉!log如下:
2021-08-31 09:57:19.452 【后台】ZN00 运行结束
2021-08-31 09:57:19.465 【后台】ZN00 运行结束
2021-08-31 09:57:19.712 【后台】ZN10 TCANCELEX 出现信号 类型:2 帐号:13911287195
2021-08-31 09:57:19.713 【后台】ZN00 TSell 第 131 行 策略:<HFT139NEW2> 出现信号
2021-08-31 09:57:19.714 【后台】ZN00 TSell 已成功触发下单操作 价格:22475.000000 数量:1 类型:0 账户:13911287195 品种:ZN00
2021-08-31 09:57:19.715 【后台】多账户及策略系数 委托账户或者组: 13911287195
2021-08-31 09:57:19.715 【后台】CTP登录账户 0 个
2021-08-31 09:57:19.716 【后台】扩展接口 登录账户 2 个
2021-08-31 09:57:19.717 【后台】 帐户 13911287195 下单
2021-08-31 09:57:19.718 【后台】账户 13911287195 下单系数为1.000000
2021-08-31 09:57:19.718 【后台】账户 13911287195 下单,系数调整后下单量:1
2021-08-31 09:57:19.719 【后台】实际账户 13911287195 持仓 0
2021-08-31 09:57:19.720 【后台】模组账户 0 个
2021-08-31 09:57:19.720 【后台】ZN00 运行结束
2021-08-31 09:57:19.721 【队列】当前队列准备处理数据:1条
2021-08-31 09:57:19.722 【队列】发送撤单指令 订单号:520620014
2021-08-31 09:57:19.874 【回报】13911287195 : ZN10 沪锌2110 - 已撤单 量:1
2021-08-31 09:57:19.957 【后台】ZN00 运行结束
2021-08-31 09:57:19.960 【后台】ZN00 运行结束
|
|