如何构建自己的第一支程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何构建自己的第一支程序.doc

如何构建自己的第一支程序 前言 许多MC 新的使用者还不太会撰写程序, 这边将手把手教大家建构第一支简单的日内程序, 一支交易程序的主轴就是进场逻辑, 进场逻辑又分顺势或是逆势 大家可能会想说, 大盘大概有70%的时间都在盘整没有特别的方向, 所以用逆势的方法可能比较容易赚钱, 但是真的是这样吗? 其实不一定啦!贴着盘势做,就会赚到钱了, 顺势逆势也不是那么重要,就差在你进场的相对位置。 我们今天打算来写出一支日内当冲的程序, 基本的进场逻辑很简单, 当价格往上突破我们设定的压力线,我们就作多; 当价格往下跌破我们设定的支撑线,我们就作空。 重点来了,我们怎么设定压力线跟支撑线呢? 在这边提供一个最简单的想法, 我们设定开盘后一段时间的最高点跟最低点当作一个区间, 往上突破最高点的某个比例就进场做多; 往下跌破最低点的某个比例就进场做空。 现在就开始来撰写我们的程序码吧! 参数与变数设定 首先,我们必须先设定我们的参数, 因为我们要突破区间上下的某个比例, 所以我们把比例当作是一个参数, 也方便让大家可以去最佳化。 再来,因为我们是设定开盘后一段时间的高低点区间, 所以我们开始交易的时间必须限定在那段时间之后, 而且我们总不会一直交易到收盘吧! input :R(0.002),BeginTime(0930),EndTime(1130); Input后面是接我们程式里可变动的参数, 千万记得,每句程序码写完都要记得加分号「;」 R是代表区间上下的某个比例, BeginTime是我们开始交易的时间, EndTime是我们终止交易的时间。 接着我们必须要有变数来储存我们开盘后一段时间的高低点, var:TH(0),TL(0),mkp(0),ax(0),ay(0); TH是用来储存我们当日某段时间里的最高点; TL是用来储存我们当日某段时间里的最低点。 mkp用来储存我们手边部位状态。 ax用来计算我们作多的次数, ay用来计算我们作空的次数。 ax跟ay可以用来限制我们当日多空交易次数。 所以部位状况跟作多、作空次数,每天都必须归零, if date date[1] then begin mkp=0; ax=0; ay=0; end; 进场方式 程序的核心来了, 首先我们会先设定进场时间范围, 所以我们之前设定进场时间在9点30到11点30。 基本上当冲程式不一定要像留仓程式总是有部位在, 所以我们设定不管多单或是空单进场时, 手边都不要有任何部位。 当K线最高价格往上突破区间高点的某个比例后,价格过高点进场作多; 当K线最低价格往下跌破区间低点的某个比例后,价格过低点进场作空。 if BeginTime Time and Time EndTime then begin if MarketPosition = 0 and high TH*(1+R) then buy next bar at highest(high,1)+1 stop; if MarketPosition = 0 and low TL*(1-R)???then sell next bar at lowest(low,1)-1 stop; end; 不过我们总不会无限制的进场吧! 所以可能会去限制我们的进场次数, 所以你可以这样去记录你的进场次数, mkp=marketposition; if mkp[1]1 and mkp=1 then ax=ax+1; if mkp[1]-1 and mkp=-1 then ay=ay+1; 我们用mkp去储存部位状况, 当你前一个部位不是多单,而现在进多单, ax就加1,表示作多一次,空单亦然。 出场方式 最后,有进必有出嘛! 基本上我们设定停损点数为50点, 当然,如果你容忍度比较小,停损可以设小一点, 不过当盘在扫的时候,停损太小很容易被扫出场。 然后,在14点55分时,手中的部位还没出场的话, 就让它通通出场吧! if marketposition =1 then begin sell next bar at entryprice-50 stop ; if time1455 then sell this bar on close; end; if marketposition =-1 then begin buytocover next bar at entryprice+50 stop ; if time1455 then buytocover this bar on close; end; 事实上,你把这样的程序套进去作回测, 你会发现绩效并没有很好, 为什么呢? 首先是交易次数太多,所以我认为你必须去限制你的交易次数, 通常我们会限定一天多空各作一次, 最多多空不会各作超过2次

文档评论(0)

jackzjh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档