MarketPosition() 获取到的状态不对
onbar{
  ....
range{
   ....
    Print("开仓之前=" + Text(Date) + ",方向="+Text(MarketPosition())+", 合约=" + codePro.symbol + ", 当前持仓品种数=" + Text(symbolCount) +"最大持仓数=" + Text(MaxOpenSymbols));
    -------
    Print("开空之前时间=" + Text(Date) + ",方向="+Text(MarketPosition())+", 合约=" + codePro.symbol + ", 当前持仓品种数=" + Text(symbolCount) +"最大持仓数=" + Text(MaxOpenSymbols));
                tradeReturn=SellShort(Lots,Close);
                if(tradeReturn)
                {
                    if(MarketPosition() <> 0)
                    {
                        symbolCount = symbolCount + 1;
                    }
                    Print("[开空] 时间=" + Text(Date) + ",方向="+Text(MarketPosition())+", 合约=" + codePro.symbol + ", 当前持仓品种数=" + Text(symbolCount) +"最大持仓数=" + Text(MaxOpenSymbols));
                } Else
                {
                    Print("[开空] 失败 时间=" + Text(Date) + ",方向="+Text(MarketPosition())+", 合约=" + codePro.symbol + ", 当前持仓品种数=" + Text(symbolCount) +"最大持仓数=" + Text(MaxOpenSymbols));
                }

代码 163行对应的LOG 327行的打印,可以看到  开空成功了 MarketPosition() 为-1,但是下一个onbar的时候 MarketPosition() 就变成0了,LOG 328之后的打印对应的代码100行。  中间没有平仓过程如果有的话会打印出来的

关于MarketPosition() 获取到的状态不对 后续DEMO提供
MarketPosition状态和实际开仓问题
如何在多个策略之间传递MarketPosition状态
在叠加 数据得时候, 怎么可以取到对应数据的 持仓多空状态呢
Tick行情状态下High和Low数据不对
股指开平互转后MarketPosition是什么状态
a函数获期权的报价问题
关于marketposition的问题
获取委托单的状态值
持有多仓,MarketPosition =1,MarketPosition 识别不到,还要进入下面的买入开仓语句,逻辑不对呀

发可复现的代码demo

可以不是你的原文,你可以精简,但是必须是要能复现这个现象的

老师很厉害,在一个品种的时候 总是能正常运行,但是 多品种的情况下 就会有问题,我会写一个demo然后 说明复现路径

老师 demo已经 提供  一定会出现的问题   https://bbs.tbquant.net/thread/20250616152306846672

帮忙看一下 感谢

所以让你用全局数组自己统计

嘿嘿

这是底层机制

不合理

但

理解他接受他合理应用

什么意思, 是什么机制导致的不一样