- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公式高级应用2
TB公式高级应用 Part I: Bollinger Bandit System 系统名字的字面翻译为【布林强盗】,我们这里简称为BBS; 基于Bollinger Bands(布林通道)的趋势跟踪系统; 根据持仓周期调整跟踪止损。 Bollinger Bandit System 该系统包含以下四个要素: 布林带 均线 ROC 计数器 Bollinger Bandit System 入场条件: 价格突破布林带上轨即做多; 价格跌破布林带下轨即做空; ROC为正的情况下才能做多; ROC为负的情况下才能做空。 Bollinger Bandit System 出场条件: 持多仓的情况下,N周期的收盘价小于布林带上轨,即在下个Bar平仓。 持空仓的情况下,N周期的收盘价大于布林带下轨,即在下个Bar平仓。 N的值根据持仓周期变化。刚开仓为50,每持仓Bar,即将N值减1,最小到10。 Bollinger Bandit System 参数定义: 布林带的周期数50; 布林带标准差的倍数1.25; ROC的周期数30; 跟踪止损算法的周期数50; Bollinger Bandit System 参数定义代码: Params Numeric BBLength(50); Numeric NumsStdDev(1.25); Numeric ROCLength(30); Numeric ExitLength(50); Bollinger Bandit System 布林带算法: 定义上轨为UpBand,下轨为DnBand; UpBand = AverageFC(Close, BBLength) + StandardDev(Close, BBLength,2)* NumsStdDev; DnBand = AverageFC(Close, BBLength) - StandardDev(Close, BBLength,2)* NumsStdDev; 这里使用的样本标准差。 Bollinger Bandit System 实际交易讯号的产生是根据上一周期的布林带,因为我们将算法中的Close修改为Close[1]; 也可以将UpBand和DnBand设为序列变量,判断UpBand[1]]的值讯号条件; UpBand = AverageFC(Close[1], BBLength) + StandardDev(Close[1], BBLength,2)* NumsStdDev; DnBand = AverageFC(Close[1], BBLength) - StandardDev(Close[1], BBLength,2)* NumsStdDev; 计算Roc值 定义变量RocValue Numeric RocValue; RocValue = Close-Close[RocLength]; 开多仓条件写法: If(MarketPosition1 RocValue 0) { If(High=UpBand) { MyPrice = UpBand; If(OpenMyPrice) MyPrice = Open; Buy(1,MyPrice); } } 开空仓条件的写法类似: If(MarketPosition-1 RocValue 0) { If(Low=DnBand) { MyPrice = DnBand; If(OpenMyPrice) MyPrice = Open; SellShort(1,MyPrice); } } 动态计算跟踪止损的周期数: 先定义一个变量: NumericSeries exBars; 在公式开始部分添加如下代码: If(MarketPosition==0) { exBars = ExitLength; }else { exBars = exBars[1] - 1; } 根据动态计算的周期数,求出前一周期的均线: StopAvgClose = Average(Close[1],exBars); 持有多仓的情况下,当前价格如果跌破StopAvgClose 即止损。 If(MarketPosition==1 Low= StopAvgClose ) { MyPrice = StopAvgClose ; If(OpenMyPrice) MyPrice = Open; Sell(1,MyPrice); } 持有空仓的情况下,当前价格如果突破StopAvgClose 即止损。 If
文档评论(0)