
等级: 标准版
- 注册:
- 2023-6-14
- 曾用名:
|

楼主 |
发表于 2023-6-26 13:46
|
显示全部楼层
仔细测了下,一分钟测试,如果代码中用到了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
补充内容 (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的最低价 |
|