最初的程序化交易策略编写..docVIP

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

最初的程序化交易策略编写 作者:杨清婉 ?一般人第一眼看到程序交易,总觉得太困难又复杂。其实,在避免人性干扰时又可以24hr执行监测,彻底执行设定好的策略,在投入真正资金前可以回测自己交易策略的绩效,即是自动化程序交易的目的。 ? ? ? 程序交易的基础其实一点都不难,If A happens, then buy. If B happens, then sell.用中文来解释就是:当符合某种情形时,就买进。当符合某种情形时,就卖出。 ? ? ? 所以我们只要去定义 A、B,以及更明确地把 Buy 、Sell的模式定义出来就好。这已经几乎快要变成咱们MC认得的 easy language 程序语言了。 ? ? ? 难道一定要有工程背景的人才能写出程序吗?其实在交易领域里面所使用的程序语言与英文很像,而且使用的都是很简单的英文。 ? ? ? 其实,电脑的执行也是依据K棒的价格变化,K棒上最重要的四个价位显示了价格的变化:Low 最低价,Open 开盘价,High 最高价,Close 收盘价。 ? ? ? ? 语法中Close 100 (表示收盘价大于100 ),Low 100 (最低价小于100 ),High Open (最高价大于开盘价)。 ? ? ? 上面是平铺直述的直述句,若是加上一点简单的 if ...then ...(假如...发生,就....),就可以变成一个可执行的策略, ? ? ? 举例: (先不考虑marketposition目前手中部位的情形) ? ? ?? if High Open then buy next bar at market; //当最高价高于开盘价时,买进1手市价。 ? if Low Open then sell next bar at market; //当最低价低于开盘价时,卖出1手市价。 ? ? ? 备注: next bar是指下一根K棒,market是指市价。 ? ? ? 再进阶一些可以开始使用一些技术分析的指标来协助。例如RSI,中文名称是 相对强弱指标 Relative Strength Index ,是一个 0~100 的指标,50以下代表目前偏空,50以上代表目前偏多。 ? ? ? 我们来一起写一个简单的策略: ? ? ? RSI 大于 52 买进1口(做多),RSI 小于 48 卖出1口(做空 or 平仓),(意思是,趋势转向上,我就跟跟看,趋势转向下就快跑), ? ? ? 首先我们得知道什么是变数,望文生义,就像开车时的时速表,就是在程序执行中,会一直变动的数字。 ? ? ? 所以我们得先告诉电脑, RSI的定义。这个动作叫做 宣告。 ? 所以在策略一开头, ? inputs: Price(close), Len(12); //input 是未来可以在MC里调整的参数,price(收盘价)以及时间周期 Len(在这边是12根K棒), ? vars: var1(0); //vars 告诉系统我们要宣告变数了,定义一下var1 变数(variable) ,告诉电脑我们有这个变数要侦测。 ? var1=RSI(Price,len); //定义,var1=RSI 让var1 这个变数等于指标RSI,而且是用 上面定义的时间以及价格参数去计算RSI,此例为 12根K棒的收盘价。 ? if marketposition=0 and var1 52 then begin buy(buy) next bar at market; end; ? //假如目前没有部位(marketposotion=0) 而且 var1(RSI)大于52,就在下一根K棒开始时(next bar),市价(market)买进(buy)。多单进场!没有写手数就1手。并在图上标记 buy (buy)。记得尾巴要写 end; 告诉电脑这部分策略的结尾。 ? marketposotion是指您在市场的部位, Marketposition=0 没有部位,? Marketposition=1 手上多单, Marketposition=-1 手上空单。 ? 继续 ? if marketposition=0 and var1 48 then begin sellshort(sell) next bar at market; end; // 空单进场! sellshort 是空单的进场的语法 并标记 sell 在图上。 ? if marketposition0 and var1 48 then begin sell(exit_buy) next bar at market; end; //假如手上是多单而且RSI小于 48,就把手中的多单市价平仓。 ? if marketposition0 and var1 52

文档评论(0)

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

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

1亿VIP精品文档

相关文档