开拓者程序化交易TB公式高级应用

上传人:第*** 文档编号:122110956 上传时间:2020-03-01 格式:PPT 页数:58 大小:159.50KB
返回 下载 相关 举报
开拓者程序化交易TB公式高级应用_第1页
第1页 / 共58页
开拓者程序化交易TB公式高级应用_第2页
第2页 / 共58页
开拓者程序化交易TB公式高级应用_第3页
第3页 / 共58页
开拓者程序化交易TB公式高级应用_第4页
第4页 / 共58页
开拓者程序化交易TB公式高级应用_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《开拓者程序化交易TB公式高级应用》由会员分享,可在线阅读,更多相关《开拓者程序化交易TB公式高级应用(58页珍藏版)》请在金锄头文库上搜索。

1、TB公式高级应用 黄柳 深圳市拓瑞邦泽科技有限公司 第一部分 持仓交易系统的分析和实现 持仓交易系统的设计要素 设计思路 趋势跟踪 设计原则 不能错过主要趋势 设计细节 减少盘整时的连续亏损和最大资金回撤 总结 Cutlossshort letprofitrun截短亏损 让利润奔跑 常见的持仓交易系统 高低点突破系统 四周法则 双均线系统 DualMA 波动性突破系统 ATR 布林通道突破系统 BOLL 抛物线转向系统 SAR 顾比倒数线系统 CBL KeltnerChannelSystem 基于KeltnerChannel 肯特纳通道 的持仓交易系统 由价格均线和ATR形成通道 当价格突破通

2、道产生入场讯号 KeltnerChannel原理 肯特纳通道 KC 是一个移动平均通道 由三条线组合而成 上轨 中线及下轨 若价格突破边界 即表示出现开仓机会 肯特纳通道是基于平均真实波幅原理而形成的指标 对价格波动反应灵敏 基于KC的系统可以实时开仓 不需要等待下一个Bar KeltnerChannel算法 中线 TypicalPrice的N周期平均值 TypicalPrice High Low Close 3 上轨 中线 通道 通道 NumATRs 平均真实波幅 KeltnerChannel指标 ParamsNumericLength 20 NumericNumATRs 1 VarsNum

3、ericSeriesTPrice NumericAvgValue NumericShiftValue NumericUpperBand NumericLowerBand BeginTPrice High Low Close 3 AvgValue AverageFC TPrice Length ShiftValue NumATRs AvgTrueRange Length UpperBand AvgValue ShiftValue LowerBand AvgValue ShiftValue PlotNumeric UpperBand UpperBand PlotNumeric LowerBand

4、LowerBand PlotNumeric MidLine AvgValue End KCS版本1 1 ParamsNumericLength 20 NumericNumATRs 1 VarsNumericSeriesTPrice NumericAvgValue NumericSeriesShiftValue NumericUpperBand NumericLowerBand NumericMyPrice BeginTPrice High 1 Low 1 Close 1 3 AvgValue AverageFC TPrice Length ShiftValue NumATRs AvgTrueR

5、ange Length UpperBand AvgValue ShiftValue 1 LowerBand AvgValue ShiftValue 1 KCS版本1 2 If MarketPosition 1 End KCS V1测试结果汇总 KCS V2 1 KeltnerChannel的指标发明人是ChesterKeltner 最初的版本中线和ATR的参数都是20 即我们现在看到的版本 KC指标由琳达 拉什克 LindaRaschke 再度优化改进 她采用10周期ATR值计算上下轨 因此我们将ATR的参数和MidLine的参数分开 KCS V2 2 增加参数ATRLength ShiftV

6、alue NumATRs AvgTrueRange ATRLength 通过橡胶指数的测试我们发现 净利润减少2615 但最大资金回撤也减少了1760 风险降低的比例明显大于收益减少的比例 所以这样的调整是有意义的 KCS V3 1 以橡胶测试结果为例 从报表中我们看到 最大回撤发生的日期是2006 7 18 我们仔细查看交易记录和讯号 可以看到最大的资金回撤是由于一次盈利平仓过慢 以及两次假突破导致 因此我们有必要增加一个跟踪止损的设置 我们选择固定点数跟踪止损 吊灯止损 KCS V3 2 KCS V3 3 增加参数TrailingStop 默认值设为400 增加变量MinPoint 用来保

7、存最小变动单位 MinPoint MinMove PriceScale 增加序列变量HigherAfterEntry LowerAfterEntry用来保存开仓后的最高价或最低价 为了避免在一个较长Bar上出现错误的止损信号 我们在计算时不考虑当前Bar的最大盈利 KCS V3 4 If BarsSinceEntry 1 HigherAfterEntry AvgEntryPrice LowerAfterEntry HigherAfterEntry ElseIf BarsSinceEntry 1 HigherAfterEntry Max HigherAfterEntry 1 High 1 Low

8、erAfterEntry Min LowerAfterEntry 1 Low 1 Commentary HigherAfterEntry Text HigherAfterEntry Commentary LowerAfterEntry Text LowerAfterEntry KCS V3 5 If MarketPosition 1 If Low LowerAfterEntry TrailingStop MinPoint MyPrice LowerAfterEntry TrailingStop MinPoint If Open MyPrice MyPrice Open BuyToCover 1

9、 MyPrice KCS V3 6 我们将编译后的系统重新运行 会看到净利润上升了13295 最大资金回撤下降了14575 改进的效果是非常明显的 我们再回顾2006年7月的图表 KCSV3的讯号如下图 如图中红圈位置 在跟踪止损之后 价位还在KC上轨之上 系统再次入场 我们应该思考一种新的入场规则 在跟踪止损或止损后再次入场 KCS V3 7 KCS V4 1 重新入场规则 做多时突破前期高点再次入场 做空时突破前期低点再次入场 为了实现重新入场 我们需要记录跟踪止损的状态 还需要记录最近的最高 最低点 KCS V4 2 新增序列变量 BoolSeriesbLongTrailingStope

10、d BoolSeriesbShortTrailingStoped 初始化 If BarStatus 0 bLongTrailingStoped bLongTrailingStoped 1 bShortTrailingStoped bShortTrailingStoped 1 Commentary bLongTrailingStoped IIFString bLongTrailingStoped True False Commentary bShortTrailingStoped IIFString bShortTrailingStoped True False KCS V4 3 增加一个条件分

11、支 记录HigherAfterEntry和LowerAfterEntry的值 再次入场的代码 If bLongTrailingStoped KCS V4 4 修改之后的系统测试结果没有明显的变化 但是这次修改去掉了明显不合理的入场 对于系统的连续性和稳健性有了一定的提升 前面我们使用了固定400点的跟踪止损 在整个测试周期里面 橡胶价格最高接近3万 最低6600 所以使用固定的点数明显不合理 因此我们决定采取根据当前价格的某个比值进行吊灯跟踪止损 KCS V5 将原来的TrailingStop修改为百分比值 取前一Bar的中线值的百分比值为跟踪止损值 我们也可以取当前Bar的Open 或者开仓

12、价 或者昨收等很多固定的价格作为参照 代码修改很简单 只需要替换固定止损值的算法即可 实战要注意的问题 涨跌停 本系统应用周期为日线 一般的止损幅度也超过5 因此 程序中没有涨跌停板的控制 如果出现不利的涨跌停 可以考虑手工处理 迁仓 对于现货升水的合约 做多的头寸尽量晚一点 做空的头寸尽量早一点 现货贴水的合约反之 第二部分 日内交易系统的分析和实现 日内交易的优势 有较高的获利潜力 可充分利用保证金 对于资金实力的要求较低 不用考虑隔夜的价格波动 可以安心入睡 日内交易限制了盈利 同时也限制了亏损的空间 不会出现一把亏光的风险 坚持对日内交易的重要性 坚持是你能够在亏损或连续亏损之后仍然能

13、够正常的交易 坚持是你在赢利时能够拿住头寸 亏损时能够及时平仓 坚持是你能够坦然接受亏损 把亏损当成交易成本 当然 坚持是建立在你有一个正确稳健的系统的基础上 RangeBreak系统 RangeBreak基于昨日振幅和今日开盘价的关系 昨日振幅 昨日最高价 昨日最低价上轨 今日开盘价 N 昨日振幅下轨 今日开盘价 N 昨日振幅当价格突破上轨 买入开仓 以开盘价减去一定的值作为下轨 价格跌穿下轨 卖出开仓 收盘平仓 RangeBreak指标 ParamsNumericPercentOfRange 0 3 VarsNumericDayOpen NumericpreDayRange Numeric

14、UpperBand NumericLowerBand BeginDayOpen OpenD 0 preDayRange HighD 1 LowD 1 UpperBand DayOpen preDayRange PercentOfRange LowerBand DayOpen preDayRange PercentOfRange PlotNumeric UpperBand UpperBand PlotNumeric LowerBand LowerBand PlotNumeric MidLine DayOpen End RBS V1 1 ParamsNumericPercentOfRange 0

15、3 NumericExitOnCloseMins 14 55 VarsNumericDayOpen NumericpreDayRange NumericUpperBand NumericLowerBand NumericMyPrice BeginDayOpen OpenD 0 preDayRange HighD 1 LowD 1 UpperBand DayOpen preDayRange PercentOfRange LowerBand DayOpen preDayRange PercentOfRange If MarketPosition 1 RBS V1 2 If MarketPositi

16、on 1End RBS V1 3 我们将最初级版本的系统应用于所有品种的指数中 可行性测试 选取了指数的30分钟周期 数据范围为2008 1 1 现在 除了玉米 小麦等少数价低品种外 绝大部分都是盈利 有些品种还有不错的资金曲线 证明该系统的有不错的胚子 值得继续深入研究 RBS V2 1 如果前一日涨停或跌停 则会出现范围很小 两种解决方案 1 设定一个范围的最小值 假定为当前价格的0 2 2 考虑上当前的开盘价 加上跳空的范围 我们选择第一种方法 RBS V2 2 ParamsNumericMinRange 0 2 VarsNumericSeriesDayOpen NumericpreDayHigh NumericpreDayLow NumericSeriespreDayRange BeginpreDayHigh HighD 1 preDayLow LowD 1 If Date Date 1 DayOpen Open preDayRange preDayHigh preDayLow If preDayRange Open MinRange 0 01 preDayRange Open

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号