设为首页收藏本站

宽客俱乐部——量化投资与对冲基金交流平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
揭开股票高频交易的神秘面纱——股票日内回转T+0交易课程
神奇的期货冲量交易法培训(包学会)
查看: 2385|回复: 7

分享debugfile和debugfili2的写法

[复制链接]
发表于 2014-6-11 17:14:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享DEBUGFILE和DEBUGFILE2的写法
这两个函数的用户体验太那个什么了。现做一个详细的说明,为新手节约点时间(我就是这么好心)
一、debugfile只在最后一个周期才执行,debugfile2可作用于所有周期。这个大概谁都能明白。
二、两者都可以往指定文件输出特定的唯一的数字,但是DEBUGFILE(PATH,STR,NUM),没有参数N,写了参数则公式通不过。始终输出打印时间。
DEBUGFILE2(PATH,STR,NUM,N),有参数N,小心了!N<=0不打印输出时间,N>0(不见得是整数)输出打印时间。不写参数N则公式通不过。
三、DEBUGFILE('D:\TEST.TXT','当前资产为%.2f',1234)
DEBUGFILE2('D:\TEST.TXT','当前资产为%.2f',1234,1)
‘%.2f’这个打印控制符里面的‘f’必须小写,否则公式能通过,但是数字输出为空。这算是小意思了,不算为难你。
四、DEBUGFILE除了可以输出指定数字以外,还可以输出一连串的字符串,包括把数字转化为字符串,没有控制符‘%.2f’了,例:
debugfile( 'D:\TEST.TXT' ,'当前价格: '+numtostr(close,2) +' '+'开盘价 '+numtostr(open,2),-1);
但是,你发现这个例子里面最后有个参数‘-1’,是什么?这是为难你的地方。DEBUGFILE本身没有输出时间控制参数N(见第二条),
所以这最后面的数字不是参数N,不是控制是否输出打印时间的。但是必须要有个数,随便是什么数,但是不能空。空则公式通不过。
                  
                        
DEBUGFILE2除了可以输出指定数字以外,还可以输出一连串的字符串,包括把数字转化为字符串,没有控制符‘%.2f’了,例:
debugfile2( 'D:\TEST.TXT' ,'当前价格: '+numtostr(close,2) +' '+'开盘价 '+numtostr(open,2),-1,10);
请注意最后两个参数-1和10,因为DEBUGFILE2带有参数N(见第二条),所以该例句中最后一个数10是参数N,10>0因此要打印输出时间。
而前面那个-1,则代表填任意数字都行。后面两个数都必须填,少一个,则公式通不过。
五、总算是搞明白了。看下面的 debugfile2( 'D:\TEST.TXT','当前价格: '+numtostr(close,2) +' '+'开盘价 '+numtostr(open,2),-1,10);的输出结果:
当前价格: 2154.00 开盘价2155
有什么不对吗?有。当前价格‘2154.00’带有小数,开盘价‘2155’没小数(不是也应该带小数吗?)哎,输不了那么多字符串,
debugfile2对输出字符串数量有限制,中文字符串一个顶几个,到后面输不出来小数了。
回复

使用道具 举报

发表于 2014-7-24 13:43:32 | 显示全部楼层
是这样的吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|量化投资|对冲套利|高频|互联网接口|资产管理|宽客俱乐部 ( 沪ICP备16036585号   点击交谈

关注

GMT+8, 2019-5-23 14:39 , Processed in 0.120468 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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