这是日志记录:显示在13:45和12:00分别开了两次多仓
2013-04-02 13:45:59.171 【图表】触发下单 BUY 品种 IF00
2013-04-02 13:45:59.203 【图表】分品种下单调整后,系数1
2013-04-02 13:45:59.203 【图表】模型下单 1
2013-04-02 13:45:59.203 【图表】下单系数调整后 手数:1
2013-04-02 13:45:59.203 【图表】直接下单
2013-04-02 13:45:59.250 【图表】IF00 运行完毕
2013-04-02 13:45:59.250 【下单】IF04 价0.000000 量1 买卖0 类型1 开平0 账户805756 Formula 1
2013-04-02 13:45:59.578 【回报】805756 : IF04 - 正在申报 1 价格:2489.00 开仓 买入
2013-04-02 13:45:59.718 【回报】805756 : IF04 全部成交 1 价格:2488.2 开 买
2013-04-02 13:46:59.109 【图表】IF00 运行完毕
2013-04-02 13:47:59.125 【图表】IF00 运行完毕
2013-04-02 13:48:59.109 【图表】IF00 运行完毕
2013-04-02 13:49:59.109 【图表】IF00 运行完毕
2013-04-02 13:50:59.109 【图表】IF00 运行完毕
2013-04-02 13:51:59.109 【图表】IF00 运行完毕
2013-04-02 13:52:59.109 【图表】IF00 运行完毕
2013-04-02 13:53:59.109 【图表】IF00 运行完毕
2013-04-02 13:54:59.109 【图表】IF00 运行完毕
2013-04-02 13:55:59.109 【图表】IF00 运行完毕
2013-04-02 13:56:59.109 【图表】IF00 运行完毕
2013-04-02 13:57:59.109 【图表】IF00 运行完毕
2013-04-02 13:58:59.109 【图表】IF00 运行完毕
2013-04-02 13:59:59.125 【图表】IF00 运行完毕
2013-04-02 14:00:59.109 【图表】触发下单 BUY 品种 IF00
2013-04-02 14:00:59.109 【图表】分品种下单调整后,系数1
2013-04-02 14:00:59.109 【图表】模型下单 1
2013-04-02 14:00:59.109 【图表】下单系数调整后 手数:1
2013-04-02 14:00:59.109 【图表】直接下单
2013-04-02 14:00:59.156 【图表】IF00 运行完毕
2013-04-02 14:00:59.156 【下单】IF04 价0.000000 量1 买卖0 类型1 开平0 账户805756 Formula 1
2013-04-02 14:00:59.406 【回报】805756 : IF04 - 正在申报 1 价格:2489.20 开仓 买入
2013-04-02 14:00:59.656 【回报】805756 : IF04 全部成交 1 价格:2488.4 开 买
我的开仓语句只有以下两句:
IF M1M2 and time<151000 THEN BEGIN
BUY(HOLDING<=0 AND TIME<151000,1);
END
IF M2M1 and time<151000 THEN BEGIN
BUYSHORT(HOLDING>=0 AND TIME<151000,1);
END
如果holding>0,就不可能再开多单了,怎么会连开两次呢?M1M2是均线上穿下穿的意思,和这应该没关系。
实在想不明白,请教高手解答。
我的问题还是没有解决。这个和信号已经没关系。这个问题的实质是第一次已经开仓成功了,在第二次开仓之前,金字塔应该已经检测到holding=1,怎么还会再次开仓呢?
我也出现了重复开仓问题·· 我是这么写的 也重复开仓了,发现新版本
tholding 这个函数 跟以前不一样,以前是交易指令触发了就开仓,信号会在下一根K线才显示的,但现在用得是信号和指令同时出现了
IF 开多 AND tholding=0 THEN BEGIN
BUY(1,P,LIMITR,O+2*MINDIFF);
END
IF 开空 AND tholding=0 THEN BEGIN
BUYSHORT(1,P,LIMITR,O-2*MINDIFF);
END
我怀疑是holding函数出了问题,就是判断持仓量函数出了问题
以下是引用jinzhe在2013-4-3 8:45:10的发言:
13:45 的信号消失,然后在14:00重新出现
即使信号消失后再出现,因为有holding<=0的条件,应该不会再开多单啊?难道图表程式化交易不读取holding吗?我也有此现象,希望尽快解决问题,谢谢!
以下是引用jinzhe在2013-4-3 8:45:10的发言:
13:45 的信号消失,然后在14:00重新出现
我的现象是图表程式化交易记录中显示57秒平多,58秒开空,而模拟账户的交易记录是,58秒是平多,59秒开空,然后在下根k线02秒又开空,怎么两个记录不一样啊?到底是怎么回事呢?固定轮询模式,间隔1秒,选择恢复持仓。
if 开空 and 提前4秒 then
begin
sell(holding>0,1,MARKETR),ORDERQUEUE;
buyshort(holding=0,1,MARKETR),ORDERQUEUE;
end
以下是引用klc在2013-4-3 12:50:17的发言:消失后holding=0

这就是虚拟持仓,哈哈
我那是在下根k线02秒处再发出重复开仓,这时holding=-1了