期权的Position结构体

老师,我想问下期权的 position结构体里,我想要获得 认购CALL 和 PUT 期权的 逐笔盈亏 和 成交额应该用哪个。解释一下,我用A_GetPosition 获得账户持仓A_GetPosition(CallOptions[i], Pos)) OnCall= (Pos.longAvgPrice * Pos.longCurrentVolume) * contractunit } //longOpenTotalAmount (还是用这个?)OnProfit=Pos.longFloatProfitO (函数里写的ctp才能用Pos.longFloatProfitO,模拟账户可以用这个嘛?)逐笔盈亏是按现价和平均成本计算的。 现在我这么写是按结算价的。成交额也就是买入时的成本。用Pos.longFloatProfitO在模拟账户里可以嘛?请帮我明确下。

完全取不到值啊。模拟账户的问题嘛?A_GetPosition 结果是True的,账户也有持仓。但是Pos. 全部都为0. 在onbar里也驱动试过了。Vars Series<Numeric> OnCall; //记录开仓时的持仓权利金 Series<Numeric> OnProfit; //记录持仓盈亏Events OnBarOpen(ArrayRef<Integer> indexs) { Position pos; Bool ret = A_GetPosition(pos,Symbol); Print("A_GetPosition:" + IIFString(ret, "True", "False") + "," + Text(pos)); Print("****检查*****"); Print("longMarketValue= " + Text(Pos.longMarketValue)); Print("longAvgPrice= " + Text(Pos.longAvgPrice)); Print("longAvgPriceO= " + Text(Pos.longAvgPriceO)); Print("longCurrentVolume= " + Text(Pos.longCurrentVolume)); Print("shortCurrentVolume= " + Text(Pos.shortCurrentVolume)); Print("longFloatProfite= " + Text(Pos.longFloatProfit)); Print("longFloatProfitO= " + Text(Pos.longFloatProfitO)); Print("longOpenTotalAmount= " + Text(Pos.longOpenTotalAmount)); Print("longUseMarginAmount= " + Text(Pos.longUseMarginAmount)); OnCall = (Pos.longAvgPrice * Pos.longCurrentVolume) * contractunit * 100;//longOpenTotalAmount Print("OnCall= " + Text(OnCall)); }

一个是持仓 一个是持仓金额你需要哪个就用哪个模拟是最大程度模拟真实,不排除可能有的柜台取不到实盘前自己都可以先测试