MaxContracts返回当前持仓的最大持仓合约数总是0
写了一段测试代码希望通过MaxContracts获得虚拟账户里最新的持仓合约数,结果在MarketPosition=1的时候总是返回0.代码逻辑比较简单, 运行在实时行情下:1. 连续3根Bar, 买入一手2. 连续买入3次后,从下一根Bar每次卖出一手,直到 MarketPosition=0具体代码如下:Vars Global Integer OrderOnBar(-1); Events OnInit() { PrintClear(); } OnBarOpen(ArrayRef<Integer> indexes) { PlotAuto("BarIndex",Text(CurrentBar),Low); } OnBar(ArrayRef<Integer> indexs) { If(QuoteDataExist) { If(BarsSinceEntry() <= 2) { Buy(1, 0); If(CurrentBar <> OrderOnBar) { Print(Text(SystemDateTime) + " - Bar # " + Text(CurrentBar) + " - 买多1手"); Print("MarketPosition:" + Text(MarketPosition())); Print("MaxContracts:" + Text(MaxContracts())); Print("MaxContractsHeld:" + Text(MaxContractsHeld())); Print("--------------------------------"); OrderOnBar = CurrentBar; } } Else If(MarketPosition == 1) { Sell(1, 0); If(CurrentBar <> OrderOnBar) { Print(Text(SystemDateTime) + " - Bar #" + Text(CurrentBar) + " - 平多1手"); Print("MarketPosition:" + Text(MarketPosition())); Print("MaxContracts:" + Text(MaxContracts())); Print("MaxContractsHeld:" + Text(MaxContractsHeld())); Print("--------------------------------"); OrderOnBar = CurrentBar; } } } }运行结果截图如下从结果上可以看出:1. MaxContractsHeld在下完3手多单后始终返回的是历史上最大的多头持仓3手2. 从第一次开始平多单时MaxContracts就一直是0我的问题是:#1. MaxContracts返回值的含义是什么?#2. 如果MaxContracts不能返回虚拟账户当前的实时持仓手数,那么应该用什么方式来获得?