VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 30
声望: 1

我想自定义一个函数profit_monitor用于计算实时的盈利情况,因此需要获得真实的开仓均价。查询了一下论坛,好像是用on_trade获取开仓均价。
研究了下TradeData,发现有九个值
symbol: str
exchange: Exchange
orderid: str
tradeid: str
direction: Direction = None
offset: Offset = Offset.NONE
price: float = 0
volume: float = 0
datetime: datetime = None

我想在utility中写这个profit_monitor函数并在策略文件中使用,是否可行?需要import其他内容吗?
def profit_monitor(self):
return self.close_array[-1] - self.on_trade[6]

另外PositionData和TradeData区别在哪呢?

Member
avatar
加入于:
帖子: 640
声望: 34

TradeData是逐笔成交的记录,PositionData是成交记录汇总后的整体持仓

Member
avatar
加入于:
帖子: 30
声望: 1

那我想获取开仓均价是得用positiondata吗

Member
avatar
加入于:
帖子: 3593
声望: 234

可参考https://www.vnpy.com/forum/topic/2167-cha-xun-cang-wei-chi-cang-jun-jie-wei-cheng-jiao-wei-tuo-dan-yi-ge-han-shu-gao-ding

Member
avatar
加入于:
帖子: 30
声望: 1

xiaohe wrote:

可参考https://www.vnpy.com/forum/topic/2167-cha-xun-cang-wei-chi-cang-jun-jie-wei-cheng-jiao-wei-tuo-dan-yi-ge-han-shu-gao-ding
谢谢~
再请教一个编程问题,我按帖子改好后,get_position_detail这个函数能否被utility里的其他自定义函数调用?并最终在策略文件里运行?

Member
avatar
加入于:
帖子: 716
声望: 55

get_position_detail这个函数是CtaEngine的函数,只能被CtaEngine调用

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】