如何开发自己的交易系统并轻松得到专业的系统测试报告_第1页
如何开发自己的交易系统并轻松得到专业的系统测试报告_第2页
如何开发自己的交易系统并轻松得到专业的系统测试报告_第3页
如何开发自己的交易系统并轻松得到专业的系统测试报告_第4页
如何开发自己的交易系统并轻松得到专业的系统测试报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何开发自己的交易系统并轻松得到专业的系统测试报告作者:张轶邮件:2278279版本:2009年01月06日2008年12月15日版本内容第一次写,最原始的版本。2008年12月17日版本内容更新如下:对导入日线数据做了添加注释,用红色字体。加入了导入5分钟数据的方法。把案例程序重新写了,这次应该是对的。更新了一些图。重新生成测试报告,包含了做空。更新了测试报告。2009年01月06日版本内容更新如下:交易所建议采用纳斯达克交易所,以防止出现日线和分钟线不完整的情况。测试报告的中文解释。目录目的1国内研究tradestation的论坛2选择哪个版本?2下载软件3安装软件3收集文本数

2、据3把文本数据导入8.15编写交易系统12测试交易系统13如何解读测试报告16结束语16目的作为一个专业的交易者,离不开测试交易系统。国内行情软件的测试功能太烂了,测试的结果经常是错的(这和我不会编程也有关系吧,但你去看看同花顺的测试功能只会做多,不会做空,报告也很简单)。当有网友给我看tradestation的测试报告时,我才发现原来软件可以做出如此专业的测试报告。故下决心开始学习用tradestation做测试。没学多久,就发现这个软件在国内根本不流行,大部分人都不了解它。所以,有必要把我学到的东西用文字总结出来。Tradetation是美国tradestation科技公司开发的一款行情软

3、件。像国内的同花顺和文华财经等行情软件一样:可以同时看股票、期货、外汇和期权的行情。但是在功能上,它比国内的行情软件强n倍。国内行情软件能做的事,tradestaion也能做;tradestaion能做的很多事,国内行情软件却不能做。因为tradestation是为美国人服务的,它并不提供中国的股票和期货行情。所以股票和期货交易者并不需要购买这个软件,更不需要购买它的行情(在美国,看行情也是要给钱的)。但是在离线的状态下,tradestation的编程和系统测试功能却是100%完整的。所以,对我们来说,tradestation成为一个极好的编程和测试平台。只要你能把交易系统用easylangu

4、age(顾名思义是简单的语言)写出来,系统测试只要点击一个按钮,它就能生成比国内软件强n倍的测试报告。非常专业,大家可以看附件30日均线交易系统的测试报告。(张轶注:页面格式带图,excel格式不带图。为了解释英文,第3版采用excel格式。页面格式在以前的版本中去找。)国内研究tradestation的论坛东方华尔街论坛 /bbs.php海洋部落论坛 /vb建议重点看东方华尔街论坛的文章和海洋部落论坛一个叫neo_cn的人的文章。选择哪个版本?Tradestation从之前的5.0版已经发展到了现在的8.4版(2008

5、年10月上市的)。每个版本还有更细的版本区分。5.0版就是2000版,非常老,还有人在用。8.1版(2005年底2006初左右上市的)之后的版本界面差不多,但和5.0版差别很大。根据东方华尔街论坛上面“stonelevin”的发言来看,能导入文本数据,并做出完整的测试报告的版本是8.1 build 3006。他的原文如下:Tradestation各破解版本试用情况说明这几天我试用了论坛里发布的很多TS版本,结果是都有问题,没有一个是真正意义上的实用版本!TS8.4 Build1674、Build1683版本的问题是文本数据导入不了。TS8.3 Build1615、Build1631、Build

6、1634版本文本数据可导入,但不能插入策略(InsertStrategy)。TS8.2 Build3863、Build3896比较好了,但策略测试报告里的Tradeslist是空的。花了几天时间想升级TS,结果发现还是用了近两年的TS8.1 Build3006版本好用。建议各位喜好TS的朋友,不要浪费太多的时间在8.2/8.3/8.4上了。建议破解的高手,你们发布的TS版本至少要自己做过策略测试,如果你不会,你可以委托会的朋友多测试一下,不要看到能够登录就以为大功告成了。做一件事容易,做好一件事不容易!本帖最后由stonelevin于2008-11-6 14:42编辑他说8.4版不能导入文本数

7、据,只能借助于软件owndata,但他说效果不好。我试过8.4版,结果是自己根本不会用。他说8.3版不能做测试。他说8.2版测试报告里面没有交易记录(tradelist)。这点我可以确认,网友给我的测试报告就是用8.2版测试的,里面确实没有交易记录。所以,我们就从8.1 build 3006版开始。下载软件到东方华尔街论坛看一个叫“100”的人发的帖子,里面有所有版本的链接。我们只下载3006版。破解就不说了(我也不会,似乎tradestation科技公司对这个管的很严,海洋部落论坛的一些破解信息都被删除了)。因为链接是外国的地址,它总是限制我下载。我现在使用的版本是neo_cn传给我的。安装

8、软件下载Tradestation build 3006 8.1版。您已经下载了。找到并双击“AuthTokenCalc”,输入“8.01.01.3006”,然后点击“Authorize”。安装Tradestation 8.1 build 3006。第一次安装完会提示重启电脑,直接重启电脑。如果你再删除,再重装,一般就不会再提示重启电脑。重启后先选择退出tradestation,把“Client.dll, WowRT.dll”这2个文件复制到C:Program FilesTradeStationProgram文件夹里面,替换原来的2个文件。启动Tradestation,什么都不做,然后退出。把“

9、MISC.DAT”这个文件拷贝到C:Program FilesTradeStationProgramCache文件夹里面。启动Tradestaton,选择work offline(离线工作)。如果能进入画面,就成功了。收集文本数据数据有很多种格式,文本数据是其中一种,也是8.1版能直接调用的数据,8.1版就是强在这里。文本数据格式似乎也叫ACSII格式。如何收集股票数据?为了尽量减少本文件的体积,我尽量用文字说明,少用图。打开通达信。点击“系统”=“盘后数据下载”。在出现的对话框中,像上图一样设置。然后点击“开始下载”,就得到了所有的历史数据。我们只研究日线数据。分钟图不讨论,但道理都是一样的

10、。本书以上证指数为例,打开上涨指数的日线图,再点击通达信的“系统”=“数据导出”,我们选择文本也行,选择excel也行。建议选择excel。因为即使用文本导出,也会发现里面有汉字。Tradestation是美国软件,不支持任何汉字。我们我们导出后,用excel删除里面的所有汉字,不用担心。我们只保留:日期,开盘价,最高价,最低价,收盘价的数据。其它汉字和数字全部删除。不必担心,tradestaion能认识这样的数据。最后把这些输入拷贝到文本文件中,取个名字叫“999999.txt”,后面测试用。(张轶注:网友说可以一次性下载所有盘后数据,但我没有测试过。)如何收集期货数据?这是最难的,因为在中

11、国,期货数据被期货交易所垄断了,卖几万元。所以,我根本搞不到。我在淘宝网上买过,也是不完整的,当时很生气,立刻删除了。现在的折中方式是使用富远行情软件的期货连续数据。但即使如此,它的连续数据也不完整,因为中国的很多期货品种上市的时间都不长。即使有10年的行情,中间也有断裂现象。如此,只好用美国的连续数据代替了。尽量选择连续10年的数据,否则没有测试意义。如果谁有国内期货的文本数据,不管多少,不管长短,都请发邮件给我。我想开始收集期货数据,有多少就收集多少,不怕重复。如何收集外汇数据?网上有很多免费的资源,可以自己去找。东方华尔街论坛也有。注意:tradestation是英文软件,它不支持汉字。

12、所以收集了文本数据以后,要打开文件看看里面是否有汉字,如果有汉字,请删除。文件名也必须是英文字母。把文本数据导入8.1以下文字原文和思想来自一个期货论坛叫黑马的人(听说此人现在能用tradestation做国内期货的自动化交易,但具体不知),链接如下:1/forum/dispbbs.asp?boardid=37&replyid=200994&id=21189&skin=0&page=4&star=1我把黑马的文字研究了多次,才搞懂如何导入文本数据。为了尊重黑马,我尽量采用他的文字和图片,并加上我的个人体会。希望没有侵权。TradeStation 8.1 读取

13、文本数据的方法TradeStation 8.1 在很多功能上比TradeStation 2000i增强了不少,不过为TradeStation 8.1 安装文本数据比前面版本稍微麻烦一些。首先,要先建立一个交易所:在TradeStation安装目录(一般情况下是C:Program FilesTradeStation 8.1)下的CAL目录下新建一个文本文件“custexch.txt”,内容可以就一行,例如:Custom Exchange1, 45其中45表示的是中国所在的时区:东8区。(张轶注:此处强烈建议采用纳斯达克的交易所,也就是把“Custom Exchange1, 45”更改为“NASD

14、AQ,10”,全部大写才行。这样可以避免在日线图上看K线时每周缺少一天的现象。具体原因见/thread-4775-1-1.html的解释,作者是get2008。)其次,确定你的文本数据文件存放的路径,假定文本数据存放在D:DATA目录下,假定里面有一个Random.txt的文本数据文件。然后,打开TradeStation 8.1,按照下面的步骤操作第一步(张轶注:因为tradestation不对亚洲区提供行情服务,我们买了账号也没用,所以我们只在work offline状态下做测试系统的相关工作。数字1是双击“chart analysis”,数字2,3是在

15、黑色窗口里右击鼠标并选择第一项“format symbol”,数字4是点击“lookup”,数字7所在的图片中的“type ascii”是“数据类型为ascii,文本数据就要选择ascii”,“prefi”是“前缀”,你输入其它字母也可以,但注意不要引起软件的冲突,否则就无法进行下去。建议就输入“TXT”。每次打开一个新的文本数据,就要从数字4重新开始。)第二步(张轶注:这里要特别注意你的文本数据是什么格式,上面和下面要对应上。不同的软件导出的文本数据有点点不同,这里要保证是对应的。Date是日期,time是时间,open是开盘价,high是最高价,low是最低价,close是收盘价,volu

16、me是成交量,open interest是持仓量,期货有持仓量,股票没有。下面的“data file”就是你要打开的文本数据的格式。)第三步(张轶注:上面的选项是选择你的日期格式是用“横杠”还是“斜杠”,具体看“data file”里面是什么样子,就选择什么样子。)第四步如果事先没有新建一个交易所,在这个对话框的Exchange这一项就是空的,无法进行下一步。(张轶注:category选择数据类型,一般是股票,期货,外汇。其它选项都可以采用默认的。如果是做测试,全部选择默认的并不影响测试结果。)第五步根据数据文件的特征来配置交易节。(张轶注:这里就是设置交易时间,session1可以设置成上午

17、,以股票为例,就是9:0011:30,session2设置成下午1:003:00。期货相应设置。外汇没试过。经过测试:如果是股票和期货的日线数据,采用默认设置是没关系的。)第6步如果指定目录下的文本数据文件都是一种类型的,那么就可以选择第二个选项,如果选择第一个选项那么TS会对这个文件单独保存它的配置文件。完成,这样就可以在TS中显示出Random.txt的图表了。换品种也很方便:只需要输入数据文件的名字即可,在前面需要加上前缀“TXT”。例如现在要分析D:DATARandom1.txt数据文件,只需要在图表上输入“+TXT:Random1.txt”即可。换其他品种以次类推。(张轶注:如果你的

18、数据是日线数据。进行到这步会发现没有出现上面的图。因为默认的是5分钟图。此时可以在黑色窗口中右击鼠标,选择第一项,里面有很多设置,修改为daily才会是日线图,默认的是5分钟图。也可以把竹线改成K线。软件默认的下跌是红色,也要改过来,多试试就行了。)不足之处:本文只涉及到TradeStation 8读取静态文本数据文件进行分析,尚未考虑使用GlobalServer中的数据。使用GlobalServer的数据需要安装OwnData,在为OwnData配置了GlobalServer数据源之后,TradeStation 8.1不但可以通过OwnData从GlobalServer中读取盘后数据,还可以

19、读取GlobalServer中提供的实时数据。(限于实践水平如有不当或更好的办法敬请指正)以上是黑马的文字。进行到这步需要很多尝试。比如要设置数据的开始点,每次都要根据你的文本数据修改起始日期,否则不显示k线。图片如下:在上图的“settings”里面,daily才代表日线图。First data代表数据开始的开始点,我们要按照美国的人习惯设置成:“12/01/1990”。然后在点击:“style”,看下面的图。上图中“candlestick”才是我们的K线,up body (close open)就是指上涨情况,我们要调成红色。Down body (close new easylanguag

20、e document=strategy”。Strategy就是交易系统的意思。此时出现了一个对话框,在对话框中,name就是取名字,你随便取一个名字,我取了我的名字zhangyi1974。Notes让你写注解,随便填,不填也可以。Select让你选择,我们选择“(none)”,也就是什么都不选。点击“OK”,进入编辑状态。输入以下文字: long if close crosses over 30ma and short if price crosses under 30ma if close crosses over average ( close, 30 ) and marketpositi

21、on = 0 then beginbuy 1 share this bar close;end;if close crosses over average (close,30) and marketposition = -1 then beginbuytocover 1 share this bar close;buy 1 share this bar close;end;if close crosses under average ( close, 30 ) and marketposition = 0 then beginsellshort 1 share this bar close;e

22、nd;if close crosses under average ( close, 30 ) and marketposition = 1 then beginsell 1 share this bar close;sellshort 1 share this bar close;end; copyright (c) 2008 zhangyi. all rights reserved. 我大概解释一下:【里面的话都是废话,属于注释的,可以不管。】if close crosses over average ( close, 30 ) and marketposition = 0 then be

23、ginbuy 1 share this bar close;end;【如果收盘价和30日均线金叉,且之前是空仓的,那么就在收盘价买入1份。】if close crosses over average (close,30) and marketposition = -1 then beginbuytocover 1 share this bar close;buy 1 share this bar close;end;【收盘价和30日均线金叉,且之前持有空头仓位,那么就在收盘价回补(买入)1份空头仓位,在收盘价买入1份。】if close crosses under average ( clos

24、e, 30 ) and marketposition = 0 then beginsellshort 1 share this bar close;end;【如果收盘价和30日均线死叉,且之前是空仓的,那么就在收盘价做空1份。】if close crosses under average ( close, 30 ) and marketposition = 1 then beginsell 1 share this bar close;sellshort 1 share this bar close;end;【如果收盘价和30日均线死叉,且之前持有多头仓位,那么在收盘价平仓1份多头仓位,在收盘

25、价做空1份。】编好以后,在窗口中右击鼠标,点击“verify”运行一下,没问题就行了。如果有问题,根据它的提示相应修改。然后把这个系统存盘。屏幕的左上角有个小图标,是存盘图标,像3个小磁盘,点它存盘就行了。再关闭窗口。第一次关闭时系统会提示你存盘。因为张轶也是刚学习编程,这个程序应该是对的。主要目的还是把这个软件的强大功能告诉大家,交易系统编程我还要慢慢学。测试交易系统用黑马的方法打开d:data999999,txt。确认是日线图,起始日期是1990年12月19日。点击“insert=strategy”,出现一个窗口,点击“zhangyi1974”。(如果这一步不能进行,你就重新用easylanguage打开zhangyi1974,再在窗口中右击鼠标,点击“verify”运行一下,没问题就行了。其实在verify没问题后就自动存盘了,再

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论