金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 7032|回复: 40

关于回测评估与实际开单差异问题

[复制链接]

77

主题

271

帖子

271

积分

等级: 免费版

注册:
2024-3-16
曾用名:
发表于 2024-4-17 09:25 | 显示全部楼层 |阅读模式

你好,我在使用对股票的回测中,发现评估的报告和图表中的开单位置,存在差异问题。
如附件所示,第1张图是我用回测器跑出来的报表,第2张图是,策略执行以后在图上的开单情况。
从报告上可以显示啊,从2023年1月开始到2024年4月策略一共执行了6次开单,并且评估的胜率只有50%。是我们从图形上面来看,从2023年至今肉眼可见就已经开了9次单,而且从止盈的标注来看,胜率还是比较高的,那么这个里边的差异究竟是什么原因呢?
数据应该已经是维护过了,但是从交易明细里面也只有从二三年的3月才开始有交易。

是否是数据原因造成?
肉眼所见胜率超过50%,是否是因为胜率统计方法的差异?比如:如果是盘中1%止盈,但是收盘可能是跌的,那么胜率统计的时候会按照胜利还是失败统计?



截图202404170924579780.png
截图202404170921305322.png
截图202404170911275678.png
截图202404170910399591.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-4-17 09:28 | 显示全部楼层
那是因为你回测和图表上使用的数据量不同,造成二者的计算结果存在差异。不同的数据样本,信号结果也会不同的。如果你要在图上看回测的信号,那就要在图上锁定和回测一样的时段,并注意是否使用复权。点击K线窗口右上角的时段按钮,设置回测中一样的开始和结束时间。

截图202404170928556509.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

77

主题

271

帖子

271

积分

等级: 免费版

注册:
2024-3-16
曾用名:
 楼主| 发表于 2024-4-17 09:50 | 显示全部楼层
你好,时间设置好以后,都是开了7单,图标上也对上了7个。
但是胜率还是50%,但是图标上都是止盈的,止盈不算胜利吗?
截图202404170949411465.png
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-17 10:00 | 显示全部楼层
回测报告中,开平仓要扣手续费的,扣除后你收益就是亏损的。图表上标注的你可以对比其开仓和平仓的价格。自己换算下。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

77

主题

271

帖子

271

积分

等级: 免费版

注册:
2024-3-16
曾用名:
 楼主| 发表于 2024-4-17 10:36 | 显示全部楼层
比如这个票,如图,我的止盈代码是超过1%涨幅就止盈。但是图表显示止盈,但是实际没有到1%,手续费也没有特别贵的。为什么会出现这种没有到止盈就平多的情况呢?我没有设置平多条件,只有止盈。
附上止盈代码:
// 止盈
IF HOLDING>0 AND C/AVGENTERPRICE>1.01*MINDIFF THEN BEGIN //多单止盈
   多头止盈:SELL(1,HOLDING,limitr,H);
END
截图202404171031286251.png
截图202404171035445704.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-4-17 10:45 | 显示全部楼层
你没必要再乘mindiff啊,你想表达涨幅大于1%,那直接用C/AVGENTERPRICE>1.01就行了啊,不用再乘个变动价位啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

77

主题

271

帖子

271

积分

等级: 免费版

注册:
2024-3-16
曾用名:
 楼主| 发表于 2024-4-17 10:50 | 显示全部楼层
技术010 发表于 2024-4-17 10:45
你没必要再乘mindiff啊,你想表达涨幅大于1%,那直接用C/AVGENTERPRICE>1.01就行了啊,不用再乘个变动价位 ...

这个也是你们给我的代码,我也不太懂,ok我修改下。
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-4-17 10:58 | 显示全部楼层
给的示例代码是基于期货按照止损点位判定。止损的方式很多种,你自己要能理解代码逻辑。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

77

主题

271

帖子

271

积分

等级: 免费版

注册:
2024-3-16
曾用名:
 楼主| 发表于 2024-4-17 16:27 | 显示全部楼层
买入时间如何控制?比如每天下午2点到3点之间,如果满足5日均线上穿10日均线,就买入。时间的显示范围应该在加在哪里?代码如何写?谢谢!
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2024-4-17 16:34 | 显示全部楼层
图表程序化交易只能使用K线时间函数TIME进行时间控制,在开仓条件中加入开仓时间限制,只有分钟周期上才有time的值。例如1分钟周期上:
conkc:cross(ma5,ma10) and time>140000 and time<150000;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-3 01:23 , Processed in 0.127818 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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