Dual Thrust策略全称Dual Thrust Trading Algorithm。
Dual Thrust策略是一种趋势跟踪系统,属于日内交易策略。该策略由Michael Chalek 在20世纪80年代开发,曾被Future Thruth杂志评为最赚钱的策略之一。Dual Thrust系统具有简单易用和适用度广的特点,其思路简单且参数少,配合不同的参数、止盈止损和仓位管理可以为投资者带来长期稳定的收益。(点评:简单说就是你要有自己的判断,优化,但是策略是一个正期望的策略。)
Dual Thrust在Range的设置上,引入前N日的四个价位,Range = Max(HH-LC,HC-LL)来描述震荡区间的大小。
其中HH 是N日High的最高价,LC是N日Close的最低价,HC是N日Close的最高价,LL是N日Low的最低价。这种方法使得一定时期内的Range相对稳定,可以适用于日间的趋势跟踪。Dual Thrust对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,也可以通过参数K1和K2来确定。具体分为两步来实现:
第一步:计算相关参数,得到上轨Buyline 和下轨Sellline:
N日High的最高价HH, N日Close的最低价LC
N日Close的最高价HC,N日Low的最低价LL
Range = Max(HH-LC,HC-LL)
BuyLine = Open + K1*Range
SellLine = Open - K2*Range
第二步:交易逻辑:
当价格向上突破上轨时,如果当时持有空仓,则先平仓,再开多仓;如果没有仓位,则直接开多仓;
当价格向下突破下轨时,如果当时持有多仓,则先平仓,再开空仓;如果没有仓位,则直接开空仓;

逻辑
当K1时,多头相对容易被触发,当K1>K2时,空头相对容易被触发。因此,投资者在使用该策略时,一方面可以参考历史数据测试的最优参数,另一方面,则可以根据自己对后势的判断,或从其他大周期的技术指标入手,阶段性地动态调整K1和K2的值。
思考优化
目前其实有现成的Python的程序和平台可以修改调试,但是,我不想偷懒。所以现在前面说的Visual Jforex平台跑跑看。
下面是需要测试的一些优化想法。
但是,要注重一个原则:
因为是一个趋势跟踪,可以引入ADX指标来在大概率出现趋势的时候缩小K值,在震荡环境下扩大K值,来减少开仓。
减少同一天的二次开仓。(目前在想Jforex如何)
亏损不加仓,盈利加仓,但是不超过5个仓位。
设置保护性止损。