以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问DEBUGFILE2和DEBUGFILE  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61883)

--  作者:huifeng623
--  发布时间:2014/2/21 10:10:15
--  请问DEBUGFILE2和DEBUGFILE

请问DEBUGFILE2和DEBUGFILE的区别

另,如果我想实现每个周期结束时,输出ma(c,5)的结果,请问应该怎么实现?

非常感谢


--  作者:jinzhe
--  发布时间:2014/2/21 10:22:11
--  

debugfile2:

输出指定的调试字符串到一个指定的文件中
用户可以在公式中通过输出指定的字符串到文件来实现调试或者其他的目的.借此可以借助这个功能来完成监控公式运行的各种细节参数.该函数用法与DEBUGFILE基本相同,唯一区别是该函数将会在所有周期内有效,该函数属于逐K线执行函数,只能在逐K线计算模式下运行。

用法:DEBUGFILE2(PATH,STR,NUM,N),PATH为用户的本地计算机路径,STR为用户指定输出的一个行文字,NUM为用户指定的一个监控数字,N为1表示自动输出当前时间,为0表示不自动输出时间.

例如:DEBUGFILE2(\'D:\\TEST.TXT\',\'当前资产为%.2f\',1234,1),将在公式的监控部分输出到D:\\TEST.TXT文件, "当前资产为1234.00"
"%.2f"为一个打印的控制符号,系统会将他替换为指定的一个数字输出,%.2f为显示两位小数,%.0f则表示不显示小数(此处为数字0,非字母O)
所属函数组:交易系统

 

 

debugfile:

在最后一个周期输出指定的调试字符串到一个指定的文件中
用户可以在程式化交易中通过输出指定的字符串到文件来实现调试的目的.借此可以借助这个功能来完成监控程式化交易的各种细节参数.因为在后台执行程式化交易时,用户在前台的图表上是看不到内部数据的

用法:DEBUGFILE(PATH,STR,NUM),PATH为用户的本地计算机路径,STR为用户指定输出的一个行文字,NUM为用户指定的一个监控数字.

 

1.de2是逐k线模式下的输出,de就不是了

2.debugfile2(\'d:\\test.txt\',\'ma=%.2f\',ma(c,5),1)


--  作者:huifeng623
--  发布时间:2014/2/21 10:35:00
--  

按照:debugfile2(\'d:\\test.txt\',\'ma=%.2f\',ma(c,5),1)

在1分钟周期下,打印出来的文件是这样的:

2014-02-21 10:28:05.444    ma=-1.#R
2014-02-21 10:28:05.445    ma=-1.#R
2014-02-21 10:28:05.446    ma=-1.#R
2014-02-21 10:28:05.446    ma=-1.#R
2014-02-21 10:28:05.447    ma=2188.28
2014-02-21 10:28:05.448    ma=2187.52
2014-02-21 10:28:05.448    ma=2186.72
2014-02-21 10:28:05.449    ma=2186.16
2014-02-21 10:28:05.450    ma=2185.84
2014-02-21 10:28:05.451    ma=2185.40
2014-02-21 10:28:05.452    ma=2185.60
2014-02-21 10:28:05.453    ma=2185.60
2014-02-21 10:28:05.453    ma=2185.76
2014-02-21 10:28:05.454    ma=2185.92
2014-02-21 10:28:05.454    ma=2186.08
2014-02-21 10:28:05.455    ma=2186.40
2014-02-21 10:28:05.455    ma=2186.56
2014-02-21 10:28:05.456    ma=2186.20
2014-02-21 10:28:05.457    ma=2185.72
2014-02-21 10:28:05.457    ma=2185.28
2014-02-21 10:28:05.458    ma=2184.76
2014-02-21 10:28:05.459    ma=2184.44
2014-02-21 10:28:05.459    ma=2184.04
2014-02-21 10:28:05.460    ma=2183.72
2014-02-21 10:28:05.460    ma=2183.60
2014-02-21 10:28:05.461    ma=2183.24
2014-02-21 10:28:05.462    ma=2182.72

 

好像不是每个周期结束才打印,请问是什么问题?


--  作者:jinzhe
--  发布时间:2014/2/21 10:45:30
--  
ma5:ma(c,5);
if timetot0(dynainfo(207))=time0 then debugfile(\'d:\\test.txt\',\'ma=%.2f\',ma5);
忘记判断k线结束了
[此贴子已经被作者于2014/2/21 10:45:43编辑过]

--  作者:huifeng623
--  发布时间:2014/2/21 10:50:28
--  

改成:

ma5:ma(c,5);
if timetot0(dynainfo(207))=time0 then debugfile(\'d:\\test.txt\',\'ma=%.2f\',ma5);

应用于图,已经几分钟了,但是没有出现test.txt


--  作者:jinzhe
--  发布时间:2014/2/21 10:58:03
--  
ma5:ma(c,5);
if timetot0(dynainfo(207))=time0-1 then debugfile(\'d:\\test.txt\',\'ma=%.2f\',ma5);
多加个-1,输出数据是1秒两笔,所以同一时间会输出两个信息,不影响结果