大家有碰到这种偶尔会两次平仓的不,确认只触发了一次开仓?
我是采用固定间隔时间刷新的方式
代码方面 大概如下:
此主题相关图片如下:qq图片20171205162723.png

VARIABLE : buying := 0;
......
IF buying = 5 AND in_buying_kline=0 THEN
BEGIN
LOSS := IFELSE((buy_price-HIGH)>max_loss,1,0);
IF LOSS=1 THEN
BEGIN
buying :=0;
SELL(1,1,MARKET);
DRAWTEXT(1,CLOSE,'止损'),colorred;
END;
END;
2017-12-05 13:00:10.640 2017.12.05 13:00:10【图表】框架:duo_ce_lue 触发下单 SELL 品种 GC02 下单K线 2017.12.05 06:03:00 公式:黄金.逐笔.分时线.刷多一.1116 窗格ID:Window9 代码行:297
2017-12-05 13:00:10.656 【图表】模型下单 1
2017-12-05 13:00:10.656 【图表】下单系数调整后 手数:1
2017-12-05 13:00:10.656 【图表】实际持仓 2
2017-12-05 13:00:10.656 【图表】直接下单
2017-12-05 13:00:10.656 【图表】GC02 运行完毕
2017-12-05 13:00:10.656 【下单】GC02 价0.000000 量1 买卖1 类型1 开平1 账户70004210 Formula 1
2017-12-05 13:00:10.656 【下单】已提交,订单ID :176
2017-12-05 13:00:10.687 【指令】收到回报指令 ID = 176
2017-12-05 13:00:10.687 【回报】70004210 : GC02 - 已报单 1 价格:0.0 平 卖
2017-12-05 13:00:10.875 【指令】收到成交回报指令 ORDERID = 176
2017-12-05 13:00:10.875 【指令】平仓计量 EBuy:0 ESell:0
2017-12-05 13:00:10.890 【回报】70004210 : GC1802 - 已成交 1 价格:1277.0 平 卖
2017-12-05 13:00:10.890 【回报】70004210 : GC1802 - 全部成交 1
2017-12-05 13:00:10.890 【指令】收到回报指令 ID = 176
.............................
2017-12-05 13:09:07.640 2017.12.05 13:09:07【图表】框架:duo_ce_lue 触发下单 SELL 品种 GC02 下单K线 2017.12.05 06:12:00 公式:黄金.逐笔.分时线.刷多一.1116 窗格ID:Window9 代码行:297
2017-12-05 13:09:07.640 【图表】模型下单 1
2017-12-05 13:09:07.640 【图表】下单系数调整后 手数:1
2017-12-05 13:09:07.640 【图表】实际持仓 1
2017-12-05 13:09:07.640 【图表】直接下单
2017-12-05 13:09:07.640 【图表】GC02 运行完毕
2017-12-05 13:09:07.640 【下单】GC02 价0.000000 量1 买卖1 类型1 开平1 账户70004210 Formula 1
2017-12-05 13:09:07.640 【下单】已提交,订单ID :177
2017-12-05 13:09:07.656 【指令】收到回报指令 ID = 177
2017-12-05 13:09:07.671 【回报】70004210 : GC02 - 已报单 1 价格:0.0 平 卖
2017-12-05 13:09:07.796 【指令】收到成交回报指令 ORDERID = 177
2017-12-05 13:09:07.796 【指令】平仓计量 EBuy:0 ESell:0
2017-12-05 13:09:07.812 【回报】70004210 : GC1802 - 已成交 1 价格:1277.0 平 卖
2017-12-05 13:09:07.812 【回报】70004210 : GC1802 - 全部成交 1
2017-12-05 13:09:07.812 【指令】收到回报指令 ID = 177
比较疑惑的是 我通过 buying 控制不重复进行平仓,都在一个 IF 的控制范围内了..
对了,我是开了框架,同时一个账号跑几个策略
你运行的是什么周期的?你这个应该是出现过信号闪烁了导致的重复下单。固定轮询是有这样的问题的。
闪烁和其k线间隔没有必然关系,第一出现平多动作是在k线中触发的,然后当这根k走完时,有于闪烁,(比如用的close这种)就能造成在走完时信号又回来了,
自然存在后面再次触发是再平一次。
建议你从自己的条件入手,如果有疑问,可以配合debugfile进行跟踪调试输出,它能很好反应出当时的触发状态事,各项得输出条件的结果。
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428
或者你贴出完整的代码给我们分析