交易开拓者TB公式高级应用_2
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
1.
对于BBS系统的完善: 我们可以替换Close为其他算法,比如:
Typical Price = (high + low + close)/3 Weighted Price = (high + low + close + close)/4
2.
3.
本系统设置CMI<20时为波段模式。
Thermostat System
波段模式下,通过一个简单的条件来判别多空强 弱。 If(Close > (High+Low+Close)/3) { LongShortFlag = 1; }else { LongShortFlag = -1; }
Thermostat System
LongShortFlag==1的情况下,第二天做多
的突破范围我们会设置较小,做空的突破 范围设置较大。 LongShortFlag==-1的情况下,第二天做多 的突破范围我们会设置较大,做空的突破 范围设置较小。
Thermostat System
Bollinger Bandit System
根据动态计算的周期数,求出前一周期的均线: StopAvgClose = Average(Close[1],exBars); 持有多仓的情况下,当前价格如果跌破 StopAvgClose 即止损。 If(MarketPosition==1 && Low<= StopAvgClose ) { MyPrice = StopAvgClose ; If(Open<MyPrice) MyPrice = Open; Sell(1,MyPrice); }
仓; 可以支持多个商品的同时平仓; 可作为手工交易的辅助,防止日内交易因 为失误导致持仓过夜。
收盘自动平仓程序
该程序使用到商品叠加的扩展数据调用;
该程序使用到A函数,Q函数,以及全局变
量的控制。 该商品使用了撤单指令,并增加Tick延迟, 防止刚撤单后即平仓,出现持仓尚未解锁 的问题。
增加固定比例止损额,限制单笔交易的最 大亏损; 增加连续亏损的控制,由此我们引申出下 一部分内容。
Part II: Thermostat System
Thermos器系统】,
我们这里简称为TS; 通过一个指标来界定市场形态,根据分类 进行不同模式的交易:趋势跟踪和波段交易。 趋势跟踪采取前面所讲的BBS类似方法。 波段交易采取开盘价+ATR突破方式。
atr10 = AverageTrueRange(10); avg3Hi = Average(High,3); avg3Lo = Average(Low,3); If(LongShortFlag==1) { longEntryPoint = Open + atr10 * 0.5; ShortEntryPoint = Open - atr10 * 0.75; }else { longEntryPoint = Open + atr10 * 0.75; ShortEntryPoint = Open - atr10 * 0.5; } longEntryPoint = Max(longEntryPoint,avg3Lo); shortEntryPoint = Min(shortEntryPoint,avg3Hi);
谢谢!
Bollinger Bandit System
持有空仓的情况下,当前价格如果突破 StopAvgClose 即止损。 If(MarketPosition==-1 && High>= StopAvgClose ) { MyPrice = StopAvgClose ; If(Open>MyPrice) MyPrice = Open; BuyToCover(1,MyPrice); }
Thermostat System
波段交易的出场条件:
longExitPoint
= entryPrice - 3 * atr10; ShortExitPoint = entryPrice + 3 * atr10
Part III:
收盘自动平仓程序
收盘自动平仓程序
该程序实现收盘前平掉指定商品所有的持
Thermostat System
ChoppyMarketIndex,简称CMI,是0-100
之间的值,用来量度市场的变动情况。
ChoppyMarketIndex = Abs(Close – Close[29])/ (Highest(High,30) –Lowest(Low,30))*100);
3. ROC的周期数30;
4. 跟踪止损算法的周期数50;
Bollinger Bandit System
参数定义代码:
Params Numeric BBLength(50); Numeric NumsStdDev(1.25); Numeric ROCLength(30); Numeric ExitLength(50);
Bollinger Bandit System
动态计算跟踪止损的周期数: 先定义一个变量: NumericSeries exBars; 在公式开始部分添加如下代码: If(MarketPosition==0) { exBars = ExitLength; }else { exBars = exBars[1] - 1; }
Bollinger Bandit System
计算Roc值
定义变量RocValue Numeric
RocValue; RocValue = Close-Close[RocLength];
Bollinger Bandit System
开多仓条件写法: If(MarketPosition<>1 && RocValue > 0) { If(High>=UpBand) { MyPrice = UpBand; If(Open>MyPrice) MyPrice = Open; Buy(1,MyPrice); } }
Bollinger Bandit System
该系统包含以下四个要素:
布林带 均线
ROC
计数器
Bollinger Bandit System
入场条件:
价格突破布林带上轨即做多; 价格跌破布林带下轨即做空;
ROC为正的情况下才能做多;
ROC为负的情况下才能做空。
Bollinger Bandit System
Bollinger Bandit System
开空仓条件的写法类似: If(MarketPosition<>-1 && RocValue < 0) { If(Low<=DnBand) { MyPrice = DnBand; If(Open<MyPrice) MyPrice = Open; SellShort(1,MyPrice); } }
出场条件:
持多仓的情况下,N周期的收盘价小于布林带
上轨,即在下个Bar平仓。 持空仓的情况下,N周期的收盘价大于布林带 下轨,即在下个Bar平仓。 N的值根据持仓周期变化。刚开仓为50,每持 仓Bar,即将N值减1,最小到10。
Bollinger Bandit System
参数定义:
1. 布林带的周期数50; 2. 布林带标准差的倍数1.25;
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;
TB公式高级应用
黄柳 深圳市拓瑞邦泽科技有限公司
Part I: Bollinger Bandit System
Bollinger Bandit System
系统名字的字面翻译为【布林强盗】,我
们这里简称为BBS; 基于Bollinger Bands(布林通道)的趋势跟踪 系统; 根据持仓周期调整跟踪止损。