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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → py回测的疑虑

   

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


  共有3618人关注过本帖平板打印复制链接

主题:py回测的疑虑

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


加好友 发短信
等级:论坛游侠 帖子:318 积分:1688 威望:0 精华:0 注册:2009/11/25 0:53:49
  发帖心情 Post By:2019/5/6 10:02:16 [只看该作者]

py交易系统: 


from PythonApi import *

def init(context):
    # 在context中保存全局变量
    context.s1 = "IF00"   #
    
# before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现)
def before_trading(context):
    pass

def handle_bar(context):
    # 开始编写你的主要的算法逻辑

    mr=get_indicator('IF00','均线交叉','MYKD', '5,15,20','1d',30)
    mc=get_indicator('IF00','均线交叉','MYKK', '5,15,20','1d',30)
    
    pd=get_indicator('IF00','均线交叉','MYPD', '5,15,20','1d',30)
    pk=get_indicator('IF00','均线交叉','MYPK', '5,15,20','1d',30)
        
    portfolio=get_portfolio('IF00',0)   #获取持仓量
    

    if mr[-1]==1 and portfolio.buy_quantity==0 and portfolio.sell_quantity==0:  # 开多成立并持仓为0
        buy_open('IF00', "ThisClose",0,1)                                       # 开多1手
    if pd[-1]==1 and portfolio.buy_quantity==1:
        sell_close('IF00',"ThisClose",0,1)

    if mc[-1]==1 and portfolio.sell_quantity==0 and portfolio.buy_quantity==0:  # 开空成立并持仓为0
        sell_open('IF00', "ThisClose",0,1)                                      # 开空1手
    if pk[-1]==1 and portfolio.sell_quantity==1:
        buy_close('IF00',"ThisClose",0,1)
            
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次
def after_trading(context):
    pass

 回到顶部
总数 19 1 2 下一页