老师您好,我的开仓出现了重复开多单,或重复开空单的现象,我把信号和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的值如果变化,就会导致信号变化,仔细检查下。