MarketPosition出了问题

老师您好,我的开仓出现了重复开多单,或重复开空单的现象,我把信号和MarketPosition打印出来,发现跟策略交易里的多仓和空仓对不上,多仓为1时,MarketPosition打印出来却是-1,还有一个问题,我把开仓保存到记录文件里,只有一个记录,有时候却产生两个委托,有时候会提示信号闪烁。这是什么原因呢? if (BarStatus == 2) Print(Text(SystemDateTime) + "," + Text(Date + Time) + "," + Symbol + ",Position=" + Text(MarketPosition) + ",BBIsStop=" + Text(BBIsStop) + ",BBDirection=" + Text(BBDirection)); If (MarketPosition <> 1) { if (BBIsStop == 1 && BBDirection == 1) { if (BarStatus == 2) FileAppend("D:\\TB交易记录\\" + Symbol() + ".tbf", Text(SystemDateTime) + "," + Text(Date + Time) + "," + Symbol + ",平空开多," + Text(MarketPosition) + "," + Text(BBIsStop) + "," + Text(BBDirection)); Buy(AutoLots, Close); } } If (MarketPosition <> -1) { if (BBIsStop == 1 && BBDirection == -1) { if (BarStatus == 2) FileAppend("D:\\TB交易记录\\" + Symbol() + ".tbf", Text(SystemDateTime) + "," + Text(Date + Time) + "," + Symbol + ",平多开空," + Text(MarketPosition) + "," + Text(BBIsStop) + "," + Text(BBDirection)); SellShort(AutoLots, Close); } }

说明信号闪烁咯 marketpositon一会多一会空

回复:可是,我把开仓记录保存下来,只记录到一次开仓,并没有一会开多单一会开空单的现象

回复:BBIsStop和BBDirection的值如果变化,就会导致信号变化,仔细检查下。