English  /  
25
26
27
28
29
30
1
2
7
8
9
10
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5

【日内策略】Dual Thrust

2012-11-09 10:17:36 作者: 来源: 浏览次数:0

策略:Dual Thrust

类型:日内


Dual ThrustR-Breaker一样,曾长期排名 Future Trust杂志最赚钱的策略。该策略在形式上和开盘区间突破策略类似。不同点主要体现在两方面:Dual ThrustRange(代码中的浮动区间)的设置上,引入前N日的四个价位,使得一定时期内的Range相对稳定,可以适用于日间的趋势跟踪;Dual Thrust对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,也可以通过参数K1K2来确定。

  当K1时,多头相对容易被触发,K1>K2时,空头相对容易被触发。因此,投资者在使用该策略时,一方面可以参考历史数据测试的最优参数,另一方面,则可以根据自己对后势的判断,或从其他大周期的技术指标入手,阶段性地动态调整K1K2的值。

\

代码(金字塔语言):

//策略:Dual Thrust
//类型:日内

//中间变量
input:n(1,1,100,1),K1(0.7,0.1,1,0.1),k2(0.7,0.1,1,0.1),nmin(10,1,100,1),ss(1,1,100,1);
CYC:=barslast(date<>ref(date,1))+1;
昨高:=callstock(stklabel,vthigh,6,-1);
昨低:=callstock(stklabel,vtlow,6,-1);
昨收:=callstock(stklabel,vtclose,6,-1);
开盘价:=valuewhen(cyc=1,open);
HH:=hhv(昨高,n);//N日high的最高价
HC:=hhv(昨收,n);//N日close的最高价
LC:=LLV(昨收,n);//N日close的最低价
LL:=LLV(昨低,n);//N日low的最低价
浮动区间:=max(HH-LL,HC-LL);//range 
上轨:开盘价+k1*浮动区间;
下轨:开盘价-K2*浮动区间;
t1:=time>opentime(1) and time
t2:=time>=closetime(0)-nmin*100;
手数:=ss;
//交易条件
开多条件:=c>上轨 and holding=0;
开空条件:=c<下轨 and holding=0;
//交易系统
开多:buy(开多条件 and t1 and cyc>1,手数,market);
开空:buyshort(开空条件 and t1 and cyc>1,手数,market);
收盘平多:sell(t2,手数,market);
收盘平空:sellshort(t2,手数,market);

这个策略已有很多个版本,这个版本——引入了N日的四个价位,以及K1K2参数。默认参数设置与现有策略一致,为前一日,K1=k2=0.7.



注:以上代码仅供参考学习。
上传:赵玮
CopyRight  永安期货股份有限公司 版权所有             本网站用字经北京北大方正电子有限公司授权许可