期权的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在模拟账户里可以嘛?

请帮我明确下。


关于Position-持仓结构体中各持仓字段含义的若干疑问
tick结构体
内嵌结构体CodeProperty:合约属性
请教!!! 内嵌结构体中的Order
内嵌结构体属性信息的获取
Events中FillRef结构体的文档在哪找
驱动区域和变量声明结构体应用的不同
内嵌结构体,合约属性CodeProperty中的交易时段dealTimes怎么用?
请教!!!关于内嵌结构体
fill结构体输出函数

完全取不到值啊。模拟账户的问题嘛?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));

   }

一个是持仓 一个是持仓金额

你需要哪个就用哪个

模拟是最大程度模拟真实,不排除可能有的柜台取不到

实盘前自己都可以先测试