金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2287|回复: 6

反馈RETURNRATE收益率函数数值不正确

[复制链接]

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
发表于 2023-6-25 14:17 | 显示全部楼层 |阅读模式

收益率:=RETURNRATE;//有问题
年化收益率:=ANNUALRETURNRATE;//没问题


这两个函数,收益率输出后和测试报告的数值不一样,但是年化收益率就没问题。请老师看看是不是这个函数有bug
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-25 15:17 | 显示全部楼层
截图202306251516307531.png

应该是一样的吧。你看下是不是你设置了一些回测设置里的平仓呢? 最好不要设置回测设置里的离场条件。那个离场是不在代码逻辑范围内的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2023-6-25 18:14 | 显示全部楼层
技术009 发表于 2023-6-25 15:17
应该是一样的吧。你看下是不是你设置了一些回测设置里的平仓呢? 最好不要设置回测设置里的离场条件。 ...

没有设置,直接都是代码里面的,而且每次输出后,都多余显示一两行错误的,我截图给你代码,回测和txt的对比图,你看看是哪里出了问题还是收益率函数bug。



收益率问题.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-26 08:49 | 显示全部楼层
这个函数直接在图上输出的结果呢。也不一样吗?就像我上面那样是图上显示的数值呢。
先确认下图上数值本身对不对,如果是对的,再考虑是否是输出语句问题。一步步排查下去。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2023-6-26 13:46 | 显示全部楼层
技术009 发表于 2023-6-26 08:49
这个函数直接在图上输出的结果呢。也不一样吗?就像我上面那样是图上显示的数值呢。
先确认下图上数值本身 ...

仔细测了下,一分钟测试,如果代码中用到了STKINDI函数,①测试时段小于4个月,函数直接在图上输出和debugfile,数值都是正确的。②测试时段大于4个月,函数直接在图上输出正确,debugfile输出错误。(如果代码中不用STKINDI函数,那一切正常,没有问题,用到stkindi测试时段大于4个月就会有问题)

截图测试时段:2023.3.1日---2023.6.20日。
周期:一分钟。
价格复权。

代码用的就是系统自带DUAL THRUST ,把下面三句绿色CALLSTOCK换成蓝色STKINDI语句, 然后加上红色输出语句:

昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1);
昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1);
昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1);


HH:=STKINDI('','DT引用.日高('&s&')',0,6,-1);//N日HIGH的最高价
HC:=STKINDI('','DT引用.日收高('&s&')',0,6,-1);//N日CLOSE的最高价
LC:=STKINDI('','DT引用.日收低('&s&')',0,6,-1);//N日CLOSE的最低价
LL:=STKINDI('','DT引用.日低('&s&')',0,6,-1);//N日LOW的最低价



收益率:RETURNRATE,NOAXIS;//有问题
年化收益率:ANNUALRETURNRATE;
if islastbar then
BEGIN
        debugfile('F:\测试\55.txt',STKNAME() & '  收益率  '&numtostr(收益率,2)&'  我年收益率  '&numtostr(年化收益率,2),年化收益率);
END



111.png




补充内容 (2023-6-26 13:49):
补充下,也用到了传递周期参数
s:=NUMTOSTR(N,0);//传递跨周期参数

HH:=STKINDI('','DT引用.日高('&s&')',0,6,-1);//N日HIGH的最高价
HC:=STKINDI('','DT引用.日收高('&s&')',0,6,-1);//N日CLOSE的最高价
LC:=STKINDI('','DT引用.日收低('&s&')',0,6,-1);//N日CLOSE的最低价
LL:=STKINDI('','DT引用.日低('&s&')',0,6,-1);//N日LOW的最低价
11.png
33.png
22.png
44.png
回复

使用道具 举报

39

主题

147

帖子

147

积分

Rank: 2

等级: 标准版

注册:
2023-6-14
曾用名:
 楼主| 发表于 2023-6-26 13:54 | 显示全部楼层
技术009 发表于 2023-6-26 08:49
这个函数直接在图上输出的结果呢。也不一样吗?就像我上面那样是图上显示的数值呢。
先确认下图上数值本身 ...

再次测试,就是stkindi的问题,我在系统自带hans123也加入stkindi测试,结果一样,debugfile输出错误
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-26 14:13 | 显示全部楼层
我本地核实下这个问题。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-15 12:21 , Processed in 0.098961 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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