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);
                }
            }

请教MarketPosition的问题
MarketPosition判断问题
marketposition问题
关于marketposition的问题
发现程序bug-可能是平台出了问题
关于MarketPosition函数的问题
MarketPosition状态和实际开仓问题
请教一下,提示这个错误,哪里出了问题?
MarketPosition 疑问
新手学习TB,麻烦老师帮忙看下程序哪里出了问题吧,谢谢

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

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

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