请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于position对象,为何没有6号的标的信息呢?

按照老师的代码我跑了一下。按照代码:4号买入1000,5号卖出800,6号卖出200,7号又买入1000。为何独独6号的标的信息没有呢?下面的一个周期循环也是如此,即卖出200的那天没有标的信息打印。由于篇幅所限,我只贴出了要紧信息。非常感谢!图片描述

正在回答 回答被采纳积分+3

1回答

meteor2022 2023-01-29 23:20:31

https://img1.sycdn.imooc.com//szimg/63d7e7d20990610809740293.jpg

同学,不知到你所用的IDE是不是聚宽平台在线的IDE,6号因为持仓数量只有200,是不足以满足策略中平仓800的要求,系统会系统抛出error,并把平仓数量自动调整为200。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕容3139001 #1
    策略就是你写的策略,如下:
    def initialize(context):
        g.security = "000001.XSHE"
    
    def handle_data(context, data):
        if g.security not in context.portfolio.positions:
            # 下单1000股
            order(g.security, 1000)
        else:
            # 卖出800股
            order(g.security, -800)
    
        print(type(context.portfolio.long_positions))
        
        for position in list(context.portfolio.long_positions.values()):
            print("标的:{0},总仓位:{1},标的价值:{2}, 建仓时间:{3}".format(position.security, position.total_amount, position.value,position.init_time))
    回复 有任何疑惑可以回复我~ 2023-01-30 09:52:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信