欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 这个策略回测的时候报错,可以看看吗?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2703人关注过本帖树形打印复制链接

主题:这个策略回测的时候报错,可以看看吗?

帅哥哟,离线,有人找我吗?
yukizzc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2019/9/16 9:41:09 [显示全部帖子]

def handle_bar(context):
    pass
    DIFF = ta.EMA(item.close,12)-ta.EMA(item.close,26)
    DEA = ta.EMA(DIFF,9)
    column = (DIFF-DEA)*2
    #开平多头
    if DIFF[-1]>DEA[-1] and DIFF[-2]<DEA[-2] and DIFF>0:
        buy_open(context.s1, "market", volume=10)
    if DIFF[-1]<DEA[-1] and DIFF[-2]>DEA[-2]:
        portfolio = get_portfolio(context.s1,0)
        sell_close(context.s1,"market", volume=portfolio.buy_quantity)
   
    #开平空头
    if DIFF[-1]<DEA[-1] and DIFF[-2]>DEA[-2] and DIFF<0:
        sell_open(context.s1, "market", volume=10)
    if DIFF[-1]>DEA[-1] and DIFF[-2]<DEA[-2]:
        portfolio = get_portfolio(context.s1,0)
        buy_close(context.s1,"market", volume=portfolio.buy_quantity)



这个方法里DIFF = ta.EMA(item.close,12)-ta.EMA(item.close,26)
item.close没有定义,自然就报错了。
如果要设置全局变量用context.close去做传递

 回到顶部