请教:这是股指刚才走势
系统发出信号,空头平掉了,为什么多头开仓没有?账户持仓是空的。

此主题相关图片如下:5.jpg

详细说明一下,上面这个图是13年10月21号大盘拉升图标交易的图,我是实盘不是模拟,图中应该是完成反手交易,但是之前空头仓位平掉了,可是多头并未开仓,之前也遇到过这个问题,当初在模拟账户中该问题并没有发生,市盘中确实是遇到了2次。请教高人指点。谢谢!
开多条件:=X>Y;//开多平空条件
开空条件:=X<Y;//开空平多条件
平空条件:=开多条件;
平多条件:=开空条件;
//交易系统
IF HOLDING > 0 THEN BEGIN
//多头平仓
IF 平多条件 THEN
SELL(1,HOLDING,market);
//盈利计算
IF ENTERBARS > 0 THEN
win1 := (c - ENTERPRICE)/ENTERPRICE * 100;//记录最大盈利
IF win1 > maxprofit then
maxprofit := win1;
win2 :=(maxprofit - win1)/maxprofit*100;//最大盈利后的回调幅度
END
//多头浮动亏损达(止损百分比)止损
IF win1 < -止损百分比 THEN
多头止损:SELL(1,HOLDING,market);
//多头获利后回撤(回吐)止盈
IF win2 > 回吐 AND win1 > 0.04 THEN BEGIN
多头止盈:SELL(1,HOLDING,market),ORDERQUEUE;
END
IF HOLDING < 0 THEN BEGIN
//空头平仓
IF 平空条件 THEN
SELLSHORT(1,HOLDING,market);
//盈亏计算
IF ENTERBARS > 0 THEN BEGIN
win1 := (enterprice - c)/enterprice*100; //记录最大盈利
IF win1 > maxprofit THEN
maxprofit := win1;
win2 := (maxprofit - win1)/maxprofit*100; //最大盈利后的回调幅度
END
//空头浮动亏损达(止损百分比)止损
IF win1 < -止损百分比 THEN
空头止损:SELLSHORT(1,HOLDING,market);
//空头获利后回撤(回吐)止盈
IF win2 > 回吐 AND win1 > 0.04 THEN
空头止盈:SELLSHORT(1,HOLDING,market);
END
IF HOLDING=0 THEN BEGIN
//多头开仓
IF 开多条件 THEN BEGIN
BUY(1,SS,market);
maxprofit := 0;
END
//空头开仓
IF 开空条件 THEN BEGIN
BUYSHORT(1,SS,market);
maxprofit := 0;
END
END
附源码。
交易日志,今天最后一笔

此主题相关图片如下:qq图片20131021155317.jpg
这是前几天的,也出现了这个情况,只要是反手的交易,都是平仓成功买入失败。估计是代码的问题吧?


此主题相关图片如下:1.jpg
[此贴子已经被作者于2013/10/21 15:59:14编辑过]
这个是今天实盘账户委托明细。也没有看到反手的躲开。撤单明细里面什么内容都没有,说明不是因为价格的原因没有买到。

此主题相关图片如下:2.png
[此贴子已经被作者于2013/10/21 16:04:38编辑过]
这个不是代码的问题,代码运行已经报单了,实际没下单情况不好说
建议您在 交易-下单设置 勾选此处的下单日志,下次再出现问题可直接查找原因

此主题相关图片如下:qq截图20131021161828.png
会不会是因为账户资金的问题?比如目前持有空单,然后系统发出平空指令,同时又发出开多指令,这个时候账户余额不足,无法完成开多?
原因有很多的,建议打开交易日志,出问题从日志中寻找线索。
建议你仔细看看
DEBUGFILE----使用日志方式完善您的策略
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428