直接在日志里看是哪个语句执行的平仓操作,并且把平仓的代码帖出来看下。另外你这是一个品种还是2个品种?如果是一个品种,且你写的是全平,那么是无法区分是哪个策略开的仓位的。
2020-11-05 14:55:14.101 【后台】SRX00 TSellShort 第 165 行 策略:<Tick8.0> 出现信号
2020-11-05 14:55:14.103 【后台】SRX00 TSellShort 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:SRX00
2020-11-05 14:55:14.104 【后台】实际账户持仓 1
2020-11-05 14:55:14.105 【后台】下单已发送
//
2020-11-05 14:55:10.790 【后台】AL00 TSell 第 164 行 策略:<Tick8.0> 出现信号
2020-11-05 14:55:10.791 【后台】AL00 TSell 已成功触发下单操作 价格:0.000000 数量:1 类型:1 账户: 品种:AL00
2020-11-05 14:55:10.792 【后台】实际账户持仓 1
2020-11-05 14:55:10.794 【后台】下单已发送
很多品种并且数量为1的是收盘前不清仓的A策略。
164和165行
if CURRENTTIME>=145500 and CURRENTTIME<151500 or CURRENTTIME>=225500 and CURRENTTIME<240000 then begin
tsell(1,TBUYHOLDINGEX('','',1),MKT);//多头清仓
TSELLSHORT(1,TSELLHOLDINGEX('','',1),MKT);//空头清仓
END
你这都是一个策略下的单啊,显然你这个策略监控了多个品种了。哪里体现了A策略清B策略品种的现象?
2020-11-05 13:45:20.800 【后台】SRX00 TBuyShort 第 147 行 策略:<Pyramin2020-2.10> 出现信号
2020-11-05 13:45:20.802 【后台】SRX00 TBuyShort 已成功触发下单操作 价格:5130.000000 数量:1 类型:0 品种:SRX00
、、
2020-11-05 13:45:20.800 【后台】SRX00 TBuyShort 第 147 行 策略:<Pyramin2020-2.10> 出现信号
2020-11-05 13:45:20.802 【后台】SRX00 TBuyShort 已成功触发下单操作 价格:5130.000000 数量:1 类型:0 品种:SRX00
、、
2020-11-05 13:45:09.698 【后台】SRX00 TSell 第 179 行 策略:<Tick8.0> 出现信号
2020-11-05 13:45:09.699 【后台】SRX00 TSell 已成功触发下单操作 价格:1.000000 数量:0 类型:1 账户: 品种:SRX00
2020-11-05 13:45:09.701 【后台】实际账户持仓 0
2020-11-05 13:45:09.703 【后台】SRX00 运行结束
这单是PY下的,但清仓的却是TICK
你这个日志看不出什么,一个开空,一个平多的。这能看出啥。而且都是交易相同的品种的。
我现在只能推测:
你现在是运行的2个策略有交易相同的品种 ?其中一个策略里写了收盘全平?然后现在有收盘全平的策略把仓位全平了,包括另一个策略下的单?
对,是这样。
只有TICK8.0是清仓,PY是不清仓
TICK8.0没有的品种它才没有把PY下单的品种清仓
后台交易中的仓位都是公共的,是没法直接区分的,如果你要区分不同策略的,那么你要用图表和后台的混合编程的方法,相关参考
http://www.weistock.com/bbs/dispbbs.asp?boardid=16&Id=57075 问题22