以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  后台测试debugfile中对于不同股票,输出的价格没变  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=160613)

--  作者:yin8jun
--  发布时间:2017/12/22 19:08:31
--  后台测试debugfile中对于不同股票,输出的价格没变
后台程序如下:只测试600917,300692,时间段为2017.12.18-2017.12.22的1分钟。

variable:dayclose=0;

refc1:=ref(c,1);

if date<>ref(date,1) then begin
dayclose:=refc1;
end


if islastbar then begin
debugfile(\'D:\\金字塔.txt\',stklabel+\'dayclose:%.2f\',dayclose);
end

测试结果如下:
2017-12-22 19:01:50.574    300692dayclose:10.16
2017-12-22 19:01:50.574    600917dayclose:10.16
2017-12-22 19:01:50.574    300692dayclose:10.16
2017-12-22 19:01:50.575    600917dayclose:10.16
2017-12-22 19:01:50.575    300692dayclose:10.16
2017-12-22 19:01:50.575    600917dayclose:10.16
2017-12-22 19:01:50.576    300692dayclose:10.16
2017-12-22 19:01:50.576    600917dayclose:10.16
2017-12-22 19:01:50.576    300692dayclose:10.16
2017-12-22 19:01:50.577    600917dayclose:10.16
2017-12-22 19:01:50.577    300692dayclose:10.16
2017-12-22 19:01:50.578    600917dayclose:10.16
2017-12-22 19:01:50.578    300692dayclose:10.16
2017-12-22 19:01:50.578    600917dayclose:10.16
2017-12-22 19:01:50.579    300692dayclose:10.16
2017-12-22 19:01:50.579    600917dayclose:10.16
2017-12-22 19:01:50.579    300692dayclose:10.16
2017-12-22 19:01:50.580    600917dayclose:10.16
2017-12-22 19:01:50.580    300692dayclose:10.16
2017-12-22 19:01:50.580    600917dayclose:10.16
2017-12-22 19:01:50.580    300692dayclose:10.16
2017-12-22 19:01:50.582    600917dayclose:10.16

两个票的输出价格为同一个,这是怎么回事呢?用globalvariable代替variable也是这个结果。



--  作者:pyd
--  发布时间:2017/12/22 23:31:50
--  
用在什么周期?
你代码想表达什么意思?就是你想要输出什么值?
[此贴子已经被作者于2017/12/22 23:32:42编辑过]

--  作者:yin8jun
--  发布时间:2017/12/25 9:12:31
--  
用的周期是600917,300692,时间段为2017.12.18-2017.12.22的1分钟。我想要的是前一天的收盘价。
--  作者:banzhuan
--  发布时间:2017/12/25 9:54:08
--  
您把这两个股票在图表上加载一下呢,加载后看下是否有值呢?
--  作者:yin8jun
--  发布时间:2017/12/25 10:06:32
--  
图表和模拟时,值都是正确的。但是测试时就错误。
--  作者:yin8jun
--  发布时间:2017/12/25 10:07:37
--  
模拟debugfile:
2017-12-25 10:01:35.155    300692dayclose:41.73
2017-12-25 10:01:35.190    600917dayclose:11.18
2017-12-25 10:01:35.191    300692dayclose:41.73
2017-12-25 10:01:35.192    600917dayclose:11.18


图表debugfile:
2017-12-25 10:06:31.226    300692dayclose:41.73


--  作者:banzhuan
--  发布时间:2017/12/25 10:21:58
--  
以下是引用yin8jun在2017/12/25 10:06:32的发言:
图表和模拟时,值都是正确的。但是测试时就错误。
测试时就错误,是指后台测试输出值错误吗? 还有你要取前一天的收盘价,一定要通过txt输出吗? 


--  作者:yin8jun
--  发布时间:2017/12/25 10:30:34
--  
对的,后台测试时,两个股票错误地取了一个值。txt输出我是为了看是否取值正确,不一定要txt输出。


--  作者:banzhuan
--  发布时间:2017/12/25 11:08:01
--  
您补充相应周期的历史数据再试一下呢? 然后看下您指定刷新计算的K线数量输入的是多少根呢?
[此贴子已经被作者于2017/12/25 11:16:04编辑过]

--  作者:yin8jun
--  发布时间:2017/12/25 11:18:45
--  
每天都下载数据的。数据是齐全的。上周五我测过好几组,都是这个问题。一会我再测一下。要不要改成序列模型?
dfjb:=barslast(date<>ref(date,1));
dayclose:=ref(c,dfjb+1);

if islastbar then begin
debugfile(\'D:\\金字塔.txt\',stklabel+\'dayclose:%.2f\',dayclose);
end