金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 450|回复: 1

python回测如何实现同一周期开平仓

[复制链接]

5

主题

11

帖子

11

积分

Rank: 1

等级: 新手上路

注册:
2024-1-22
曾用名:
发表于 2024-5-26 22:50 | 显示全部楼层 |阅读模式
老师好,我想在python回测中实现同一周期开仓和平仓,但是目前的回测好像实现不了,以下是我的测试代码,回测结果见图片。
具体原因目前看来是同一个周期内开平仓的委托时间都是该周期的收盘时间,所以平仓委托时无可平持仓。
请老师帮忙看下要怎么样才能和PEL回测一样实现同周期开平仓?
from PythonApi import *


def init(context):
    context.s = context.universe[0]
    context.holding = 0


def before_trading(context):
    pass


def handle_bar(context):
    open1 = history_bars(context.s, 1, 'self', 'open',True)
    high1 = history_bars(context.s, 1, 'self', 'high',True)

    if context.holding == 0:
        buy_open(context.s, "Limit", open1[-1], 1,serial_id = 1)
        context.holding = 1

    if context.holding == 1 and high1[-1] > open1[-1] + 2:
        sell_close(context.s, "Limit", high1[-1], 1,serial_id = 2)
        context.holding = 2 #保证此次测试只交易一次

    pass
屏幕截图 2024-05-26 223730.png


回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-5-27 09:46 | 显示全部楼层
python里回测机制目前是这样的,相当于走完K机制.
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-28 13:44 , Processed in 0.258556 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表