以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 为什么总是有这样的信号,应平多,不平 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=180580) |
-- 作者:haizxj -- 发布时间:2020/6/15 9:50:44 -- 为什么总是有这样的信号,应平多,不平 2020-06-15 09:44:59.423 【后台】AL07 运行结束 2020-06-15 09:45:00.502 【后台】AL07 TSellShort 第 57 行 策略:<al611> 出现信号 2020-06-15 09:45:00.515 【后台】AL07 TSellShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:AL07 2020-06-15 09:45:00.528 【后台】实际账户持仓 0 2020-06-15 09:45:00.563 【后台】AL07 TSell 第 58 行 策略:<al611> 出现信号 2020-06-15 09:45:00.575 【后台】AL08 TSell 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:AL08 2020-06-15 09:45:00.588 【后台】实际账户持仓 0 2020-06-15 09:45:00.600 【后台】AL07 运行结束 [此贴子已经被作者于2020/6/15 9:51:04编辑过]
|
-- 作者:haizxj -- 发布时间:2020/6/15 9:55:36 -- stock1:=\'AL07\'; stock2:=\'AL08\'; d1:STKINDI(stock1,\'bsprice.sellprice\',0,0); d2:STKINDI(stock2,\'bsprice.buyprice\',0,0); d3:STKINDI(stock2,\'bsprice.sellprice\',0,0); d4:STKINDI(stock1,\'bsprice.buyprice\',0,0); jc1:=D1-D2; jc2:=d4-d3; JC:"eg09$CLOSE"-"eg01$CLOSE"; //ZL:=\'EG09\'; //主力合约 //CZL:=\'EG01\';//次主力合约 S:=1; AH:=260; AL:=-250; BH:=-240; BL:=-230; cond10:TISREMAINEX(0,\'\',\'\')=0; //平空 COND3:=JC2<=AL; IF COND3 AND THOLDING<>0 THEN //TSELLSHORT(COND3 AND THOLDING<>0,s,MKT); BEGIN Tsellshort(1,S,MKT,0,0,\'\',stock1); Tsell(1,s,MKT,0,0,\'\',stock2); end //开空 COND2:=JC2>=AH; IF COND2 and cond10 AND THOLDING=0 THEN //TBUYSHORT( COND2 and cond10 AND THOLDING=0,S,MKT); BEGIN TBUYshort(1,S,MKT,0,0,\'\',stock1); TBUY(1,s,MKT,0,0,\'\',stock2); end //平多 COND5:=jc1>=BH; //TSELL(COND5 AND THOLDING<>0,s,MKT); IF COND5 AND THOLDING<>0 THEN BEGIN Tsell(1,S,MKT,0,0,\'\',stock1); TsellSHORT(1,s,MKT,0,0,\'\',stock2); end //开多 COND7:=JC1<=BL; //Tbuy(COND5 AND THOLDING<>0,s,MKT); IF COND7 and cond10 AND THOLDING=0 THEN BEGIN TBUY(1,S,MKT,0,0,\'\',stock1);
TBUYSHORT(1,s,MKT,0,0,\'\',stock2); end [此贴子已经被作者于2020/6/15 9:56:05编辑过]
|
-- 作者:FireScript -- 发布时间:2020/6/15 10:10:10 -- 没有仓位啊。日志里面写的很清楚啊。 2020-06-15 09:45:00.528 【后台】实际账户持仓 0
|
-- 作者:haizxj -- 发布时间:2020/6/15 10:11:21 -- 没有仓位就不应当平仓,而且下面多头有仓位,应当平,却不平 这个仓位是不是这样THOLDING<>0
[此贴子已经被作者于2020/6/15 10:11:59编辑过]
|
-- 作者:FireScript -- 发布时间:2020/6/15 10:14:52 -- 你多空都没有仓位啊。 你平多的位置下面也有日志记录的啊。 这样吧。你加个仓位判断。 TBUYHOLDINGEX 多头 TSELLHOLDINGEX 空头 没有可用仓位直接不发平仓信号。
|
-- 作者:haizxj -- 发布时间:2020/6/15 10:21:06 -- Tsellshort(tholding<0,S,MKT,0,0,\'\',stock1); Tsell(tholding>0,s,MKT,0,0,\'\',stock2); 这样不知行不行, 本来就是软件后台的功能, 非要搞成客户自己去搞这些
[此贴子已经被作者于2020/6/15 10:21:39编辑过]
|
-- 作者:haizxj -- 发布时间:2020/6/15 10:22:26 -- 以下是引用FireScript在2020/6/15 10:14:52的发言:
你多空都没有仓位啊。 你平多的位置下面也有日志记录的啊。 这样吧。你加个仓位判断。 TBUYHOLDINGEX 多头 TSELLHOLDINGEX 空头 没有可用仓位直接不发平仓信号。 对于买持卖持,但是套利总有一个是买持,一个卖持 怎么办
|
-- 作者:FireScript -- 发布时间:2020/6/15 10:30:48 -- 1.按照下面方式 Tsellshort(TSELLHOLDINGEX(\'\',\'\',1)>0,S,MKT,0,0,\'\',stock1); Tsell(TBUYHOLDINGEX(\'\',\'\',1)>0,s,MKT,0,0,\'\',stock2); 2. 软件不可能默认没有仓位就不出信号的,必须自行判断。下单都是先有信号再下单,仓位可能还会有其他来源的操作导致变动,出了信号,到下单时候发现仓位被手工平了,这种情况是有可能的。这时候总不能把前面发的信号收回去吧。
|
-- 作者:haizxj -- 发布时间:2020/6/15 10:40:47 -- 但是我已大于250了,为什么还没有平仓 |
-- 作者:FireScript -- 发布时间:2020/6/15 10:51:33 -- 250是指仓位还是变量啊。是变量AL的话,你最好加个DEBUGFILE输出到文本里面去。你肉眼看到的值和程序里面计算的不一定能是同步,而且还有考虑到轮询情况下信号持续时间短,可能捕捉不到的情况。 |