以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  需要输出一个txt文本,应该怎么写?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=97953)

--  作者:leelatan
--  发布时间:2016/5/29 17:18:56
--  需要输出一个txt文本,应该怎么写?
图表交易,每次发出信号时,即时写入一个txt文件,按以下格式。

感觉应该是用debugfile函数,但研究了半天不会写。(最后一栏是策略名称)


[orders]
20160114-14.45 [开多]=[rb1605] [1] [TPIF01]
20160112-9.15 [开空]=[pp1605] [1] [TPIF01]
20160113-9.45 [开空]=[SR1605] [3] [SP_063_178]
20160112-22.45 [开多]=[ZC1605] [1] [TPIF01]
20160113-9.15 [平多]=[ZC1605] [1] [TPIF01]
20160113-9.3 [开空]=[ZC1605] [1] [TPIF01]
20160114-10.45 [平空]=[jd1605] [1] [TPIF01]
20160112-14.3 [开空]=[rb1605] [1] [TPIF01]
20160112-21.15 [平空]=[ru1605] [1] [TPIF01]
20160112-10 [开多]=[m1605] [1] [TPIF01]
20160111-14.45 [开空]=[IC1602] [1] [TPIF01]

--  作者:fantasynew
--  发布时间:2016/5/29 22:13:19
--  
写INI文件字符串.用法:WRITEINIFILESTRING(PATH,APP,KEYNAME,DATA);PATH为INI文件的路径名,APP为节点名,KEYNAME为数据项名称,DATA为写文件的字符串
例如:WRITEINIFILESTRING(\'C:\\TESTNINFILE.INI\',\'SETTING\',\'MYDATA\',\'ABCDEFG\');表示在C:\\TESTNINFILE.INI文件中写SETTING节点的,项名称为MYDATA的ABCDEFG字符串数据.
该函数在逐K线模式下仅对最后一个周期有效,若要在此模式下对所有K线下有效,请在公式属性中设置超全局变量作用于整个周期选项.

--  作者:leelatan
--  发布时间:2016/5/30 9:44:57
--  
麻烦兄弟帮忙写下? 多谢多谢。
--  作者:leelatan
--  发布时间:2016/5/30 9:45:57
--  
需要后缀是txt,不是ini
--  作者:jinzhe
--  发布时间:2016/5/30 9:56:41
--  
20160114-14.45 [开多]=[rb1605] [1] [TPIF01]
 
请解释一下这里每个元素的意思

--  作者:leelatan
--  发布时间:2016/5/30 10:01:56
--  
20160114-14.45 [开多]=[rb1605] [1] [TPIF01]

一共六个元素

1、日期  2、时间(小时和分钟,中间用小数点隔开)  3、动作属性(开多、平多、开空、平空)  4、交易合约名称  5、手数  6、策略名称

一定要按照模板的细节格式写。谢谢

--  作者:jinzhe
--  发布时间:2016/5/30 10:26:07
--  

t1:=date+19000000;
t2:=floor(time/10000);
t3:=floor((time-floor(time/10000)*10000)/100);
if 开多条件 and holding=0 then begin
    开多语句;
    debugfile(\'d:\\test.txt\',numtostr(t1,0)+\'-\'+numtostr(t2,0)+\'.\'+numtostr(t3,0)+\' [开多=] [\'+stklabel+\'] [%.0f] [tpif01]\',entervol);
end

if 开空条件 and holding=0 then begin
    开空语句;
    debugfile(\'d:\\test.txt\',numtostr(t1,0)+\'-\'+numtostr(t2,0)+\'.\'+numtostr(t3,0)+\' [开空=] [\'+stklabel+\'] [%.0f] [tpif01]\',entervol);
end

 

 

策略名称需要自行指定,不能用代码替代


--  作者:leelatan
--  发布时间:2016/5/30 11:00:39
--  
多谢,我试下。
--  作者:leelatan
--  发布时间:2016/5/30 11:20:09
--  
运行了一下,结果如下

2016-05-30 11:18:30.024    20160530-11.18 [平多]= [RB00] [1] [tpif01]
2016-05-30 11:18:30.025    20160530-11.18 [开空]= [RB00] [1] [tpif01]


前面两列是多余的,怎么去掉?

--  作者:jinzhe
--  发布时间:2016/5/30 11:28:26
--  
去不掉,输出一定是会有这两句