程序化交易案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我比较熟悉计算机,但我不是程序员出身。两年前,我首先接触到文华财经交易系统,用了一段时间,感觉它只是为不懂一点程序的人开发的,傻瓜化的,但无法实现比较复杂的实时运算交易委托,半年后放弃了,后采用交易开拓者,不错很好,很快上手,遗憾的是可能是系统本身设计原因,连设计程序中最基本的功能:对同一个变量不能反复赋值,如a:=0;a:=1;a:=a+1;这是不可以的(现在是否可以,我不知道),使得我很难实现我的交易思路,并且是按交易所的收费的一定比例(25%)收费,对于我做日内交易成本特高,勉强用了几个月。直到有一天我到期货公司一个计算机管理员告诉我,金字塔比较容易实现我的思想,更适合懂一点编程知识的人使用,确实如此,因为后来我只用了一周的时间就将程序移植到了金字塔平台,就可以用图表交易了,当然还是花了很长时间才搞定后台交易,因为金字塔的对函数的说明文件太少太简单,对后台交易提供的代码案例太少,很多后台函数和语句的用法只用自己去反复试验才能知道是怎么回事。实事求是的说,金字塔系统应该是我所知道的目前最适合那些有些编程知识背景,想做程式化交易的最合适的平台,但是好像最近也仿照交易开拓者按交易所费用的比例收费了,我认为这可能是一着臭棋,因为做后台程式化交易的用户基本上是做日内短线或高频交易,交易成本会高的离谱。
按照我的期货启蒙老师交我的,其实大家都在用的最简单的进出场思路,采用原始的资金管理方法:做股指日内波段交易,一天自动开平仓次数一般不会超过3次个来回,从不过夜,满仓进满仓出,当日亏损超过总资金5%,自动平仓退出系统,用平仓反手做止损,不设止盈直到收市平仓。胜率45%左右,用大赚抹平众多小亏,最近一年无亏损月份,最大一月盈利18%,最小一月盈利5.1%。我晒这个账单的目的是想告诉众多的小散,不要老是想赚大钱,为什么很多人用测试的程式能赚钱,而且业绩不差,但实战确亏损,这也是我经历过的,主要的原因是没有能充分相信你的系统,老是因为恐惧和贪婪,管不住自己的手去干预,其实如果你放心让系统自己去做,一段时间后你再看你的业绩,其实比你的半自动交易效果要好很多,因为你远离了贪婪和恐惧。说了这么多,只是让大家相信无人值守的程式化交易是能赚钱的。
我的无人值守工作站目前的现状,已平稳运行差不多一年:
一、交易平台:金字塔专业版2.8版,win7-64位系统,实现后台交易。
二、电源和网络保证:计算机放在家中,安装了一台可供一台电脑连续工作(关闭显示器)4小时的UPS(1000多元),网络除了4M的ADSL宽带外,开通了联通的无线网卡(限流量型,每月20多元),保证电源和网络通畅,一年来电源停断过2次,网络因为双接入不知道是否断过,只是有时发生金字塔行情信息掉线,个别时候交易账户断线。
三、在后台交易程序中设置了以下情况发送邮件报警:1、交易账户断线超过时限2、每次开仓平仓时的数量和价格3,收市前5分钟的持仓和盈亏情况(验证系统正常,避免隔夜单产生)。开通了网易的随身邮,所有邮件达到短信通知到手机,基本上收到邮件时间延迟10秒,短信通知时间延迟20秒,包月每月10元费用。
四、在计算机BOIS中设置每天8点50分自动起计算机,设置:将BOIS中Resume By RTC Alarm 菜单设置成[Enabled]后,在Time(hh)Alarm设置小时,在Time(mm)Alarm设置分钟,每个
人的计算机可能设置不同,但现在的计算机都有计算机电源定时开机功能。
五、网上下载一个360度定时关机专家,设置成开机自动启动,在这个软件的任务栏中设置:
1、开机自动启动一个应用程序的时间,我设置的每周星期1~5上午8点55分自动启动我的工作站的EXE的可执行文件(代码附后),
2、再设置每周星期1~5下午15点30分自动关机。
六、通过期货公司,免费索取账号,安装开通了手机期货软件-澎博公司的“掌上财富“,在收到异常邮件报警后(如账号断线,收市前未平仓,只有开仓无平仓信息等),通过手机软件及时平仓(实际一年中未发生)。
七、无人值守工作站程序,采用可以模拟键盘和鼠标操作的AutoIt软件编译成.EXE文件,挂在定时关机专家中,定时启动。
八、事先对金字塔系统走一次设置流程后退出,系统会自动保存设置(第一次必须做):
1、在“欢迎使用金字塔“的第一个登录界面,将自己的金字塔专业版用户名和密码填好,勾选”记住用户密码“和”强制为主账号登录“,点击登录按钮。
2、将“登录综合交易平台(CTP)“第二个界面的:营业部、用户账号、交易密码填好,并勾选”记住账号“、”记住密码“,点击登录。
3、登录账号连接好后,会自动关闭登录界面。然后点击“金字塔决策交易系统“主界面的菜单“交易“菜单栏,打开”后台程式化交易“,设置好预警的程序名称、监控品种等信息,并勾选”启动时自动启动预警”选项,后关闭这个界面。
4、点击主界面的文件,选择“退出”,至此系统自动记住了你的设置。(题话外:这一点金字塔比交易开拓者简单好用,只是一直不明白,金字塔在”登录综合交易平台(CTP)“这个界面中,勾选”启动时连接“这个选项,没有任何作用,要是能开机全自动进入账户到等待交易时间的到来(可选),那么一键启动全自动进入到可交易状态,对后台交易的用户会更加简单。)
九、以下源码抛砖引玉,只是我是这样做到无人值守的。
源码(1),为以上不需要经常改账户信息,不需要操作清除全局变量等的用法,完全可以使用这种傻瓜式的启动:
#Include
Dim $path
$path="D:\\Weisoft Stock\\" ;金字塔系统安装路径。
While 1
If WinExists("金字塔决策交易系统")=0 And ProcessExists("WinStock.exe") Then
ProcessClose("WinStock.exe ")
Sleep(3000)
EndIf
If WinExists("金字塔决策交易系统")=0 And (@HOUR>=9 And @HOUR<=13 And @MIN<=20) Then ;交易时间开启系统
Run($path&"WinStock.exe ",$path) ;启动金字塔系统
WinWaitActive("欢迎使用金字塔","",20) ;激活用户名或账号
ControlFocus("欢迎使用金字塔","","Button1")
ControlClick("欢迎使用金字塔","","Button1") ;点击‘登录’按钮
Sleep(5000)
If WinExists("异常恢复") Then ;如果出现异常关机,再次开机时恢复。
WinActivate("异常恢复")
sleep(2000)
ControlFocus("异常恢复","","Button2")
ControlClick("异常恢复","","Button2")
EndIf
WinWaitActive("登录综合交易平台(CTP)","",30) ;激活‘登录综合交易平台(CTP)'界面
ControlFocus("登录综合交易平台(CTP)","","Button5")
ControlClick("登录综合交易平台(CTP)","","Button5") ;点击’登录‘按钮