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是什么状态
请问与定义合约状态MarketPosition 代码不冲突的, 定义合约数量的代码是哪个?
a函数获期权的报价问题
关于marketposition的问题
获取委托单的状态值

发可复现的代码demo

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

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

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

帮忙看一下 感谢

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

嘿嘿

这是底层机制

不合理

但

理解他接受他合理应用

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