以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  交易策略发布专区  (http://weistock.com/bbs/list.asp?boardid=10)
----  【日内策略】R-Breaker  (http://weistock.com/bbs/dispbbs.asp?boardid=10&id=30192)

--  作者:RogarZ
--  发布时间:2012/10/29 22:01:44
--  【日内策略】R-Breaker

R-Breaker是个经典的具有长生命周期的日内模型。曾14年排名Future Trust杂志年度前10最赚钱的策略。 

类型:日内趋势追踪+反转策略

周期:1分钟、5分钟


此主题相关图片如下:r-breaker.jpg
按此在新窗口浏览图片
主要的思想依据上图为:

根据前一个交易日的收盘价最高价最低价数据通过一定方式计算出六个价位,从大到小依次为:突破买入价(Bbreak)、观察卖出价(Ssetup)、反转卖出价(Senter)、反转买入价(Benter)、观察买入价(Bsetup)、突破卖出价(Sbreak)以此来形成当前交易日盘中交易的触发条件。这里,通过对计算方式的调整。可以调节六个价格间的距离。

 

交易规则:

反转:

持多单,当日内最高价超过观察卖出价后,盘中价格出现回落,且进一步跌破反转卖出价构成的支撑线时,采取反转策略,即在该点位反手做空;

持空单,当日内最低价低于观察买入价后,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位反手做多;

突破:

在空仓的情况下,如果盘中价格超过突破买入价,则采取趋势策略,即在该点位开仓做多
在空仓的情况下,如果盘中价格跌破突破卖出价,则采取趋势策略,即在该点位开仓做空

代码:

//策略:R-Breaker

//类型:日内

//修订时间:2012.11.1
//Designed By Rogarz

 

input:ss(1,1,100,10);
手数:=ss;
n:=barslast(date<>ref(date,1));
昨高:=callstock(stklabel,vthigh,6,-1);//昨高
昨低:=callstock(stklabel,vtlow,6,-1);//昨低
昨收:=callstock(stklabel,vtclose,6,-1);//昨收
a:=hhv(h,n+1);
b:=llv(l,n+1);
if N>=1 then begin
今高:=a;//今高
今低:=b;//今低
end
观察卖出价:昨高+0.35*(昨收-昨低);//ssetup
反转卖出价:(1.07/2)*(昨高+昨低)-0.07*昨低;//senter
反转买入价:(1.07/2)*(昨高+昨低)-0.07*昨高;//benter

观察买入价:昨低-0.35*(昨高-昨收);//bsetup
突破买入价:(观察卖出价+0.25*(观察卖出价-观察买入价));//bbreeak
突破卖出价:观察买入价-0.25*(观察卖出价-观察买入价);//sbreak

//条件

空仓做多条件:=c>突破买入价 and holding=0;
空仓做空条件:=c<突破卖出价 and holding=0;
多单反转条件:=holding>0 and 今高>观察卖出价 and c<反转卖出价;
空单反转条件:=holding<0 and 今低<观察买入价 and c>反转买入价;
//交易系统
if time>=092000 and time<151000 then begin
 空仓开多:buy(空仓做多条件,手数,market);
 空仓开空:buyshort(空仓做空条件,手数,market);
//多单反转:
 if 多单反转条件 then begin
  平多:sell(1,手数,market);
  翻空:buyshort(1,手数,market);
  end
 //空单反转:
 if 空单反转条件 then begin
 平空:sellshort(1,手数,market);
 翻多:buy(1,手数,market);
 end
end

//日内平仓
if time>=151000 then begin
 收盘平多:sell(1,手数,market);
 收盘平空:sellshort(1,手数,market);
end

 

 

这个策略之前在论坛中有发不过。

Z7C9版:http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=9038&skin=0

Jinzhe版:http://www.weistock.com/bbs/dispbbs.asp?BoardID=11&ID=8909&skin=0

 

这个策略参照国外的经验较适用于股指,在商品上的表现一般,所以此处收盘我以股指为例。

 

我写这个版本,主要是为了做个可读性强的范例。代码忠于策略本身的思想,没有设置止盈止损,各位可自行添加。

其他考虑不周,或有错的地方。还请各位指教。

 

 

 


--  作者:RogarZ
--  发布时间:2012/10/29 22:02:56
--  

//参数版

//策略:R-Breaker

//类型:日内

//修订时间:2012.11.1
//Designed By Rogarz

 

input:ss(1,1,100,10),n1(0.35,0.1,1,0.05),n2(0.07,0.01,0.1,0.01),n3(0.25,0.01,1,0.05);
手数:=ss;
n:=barslast(date<>ref(date,1));
昨高:=callstock(stklabel,vthigh,6,-1);//昨高
昨低:=callstock(stklabel,vtlow,6,-1);//昨低
昨收:=callstock(stklabel,vtclose,6,-1);//昨收
a:=hhv(h,n+1);
b:=llv(l,n+1);
if N>=1 then begin
今高:=a;//今高
今低:=b;//今低
end
观察卖出价:昨高+n1*(昨收-昨低);//ssetup
反转卖出价:((1+n2/2))*(昨高+昨低)-n2*昨低;//senter
反转买入价:((1+n2/2))*(昨高+昨低)-n2*昨高;//benter

观察买入价:昨低-n1*(昨高-昨收);//bsetup
突破买入价:(观察卖出价+n3*(观察卖出价-观察买入价));//bbreeak
突破卖出价:观察买入价-n3*(观察卖出价-观察买入价);//sbreak

//条件

空仓做多条件:=c>突破买入价 and holding=0;
空仓做空条件:=c<突破卖出价 and holding=0;
多单反转条件:=holding>0 and 今高>观察卖出价 and c<反转卖出价;
空单反转条件:=holding<0 and 今低<观察买入价 and c>反转买入价;
//交易系统
if time>=092000 and time<151000 then begin
 空仓开多:buy(空仓做多条件,手数,market);
 空仓开空:buyshort(空仓做空条件,手数,market);
//多单反转:
 if 多单反转条件 then begin
  平多:sell(1,手数,market);
  翻空:buyshort(1,手数,market);
  end
 //空单反转:
 if 空单反转条件 then begin
 平空:sellshort(1,手数,market);
 翻多:buy(1,手数,market);
 end
end

//日内平仓
if time>=151000 then begin
 收盘平多:sell(1,手数,market);
 收盘平空:sellshort(1,手数,market);
end


--  作者:aback
--  发布时间:2012/10/29 23:55:24
--  [求助]关于利用VBS向QQ发送消息的插件

不错!


--  作者:sxpms
--  发布时间:2012/10/30 0:29:11
--  
谢谢,借鉴借鉴
--  作者:xian_0_9
--  发布时间:2012/10/30 9:06:22
--  

得顶


--  作者:wubiao888
--  发布时间:2012/10/30 13:29:45
--  

顶,谢谢

 

 

其实国外有很多模型可以借鉴,把它翻译过来,也可增加金字塔的吸引力。


--  作者:jason223
--  发布时间:2012/10/30 13:40:49
--  
不错的!!!1
--  作者:lzql888
--  发布时间:2012/10/30 17:39:59
--  
顶 不错谢谢分享 辛苦了
--  作者:lzql888
--  发布时间:2012/11/2 9:52:39
--  
我看到楼主的模型是5分钟收盘后 收盘价高于或等于条件单 才开仓的  看图中的注解 不是到了就开仓了吗?
--  作者:Fcuk
--  发布时间:2012/11/2 10:39:12
--  
那个是由模型运行的模式决定的  不像TS等是在代码里写 lz的朋友 楼主写的没错啊
[此贴子已经被作者于2012-11-2 10:39:37编辑过]