设为首页收藏本站

 找回密码
 注册
查看: 148556|回复: 136
打印 上一主题 下一主题

国外成熟策略R-Breaker分享,提供翻译后的TB源码,日内系统 [复制链接]

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
跳转到指定楼层
1#
发表于 2011-6-27 16:32:47 |只看该作者 |倒序浏览
本帖最后由 穿堂风 于 2011-6-27 17:25 编辑

R-Breaker这个系统,可能很多人比我熟悉,也更为了解,有错误处还请谅解
另外我并没实盘验证,在信号那加入了一个逻辑锁,用于控制实盘时有信号,但又不会多次满足反复开仓,这个逻辑锁我很多系统都会有,实战很好用。
已有 1 人评分威望 收起 理由
家纺3362 + 1

总评分: 威望 + 1   查看全部评分

我一生在纸上,被风吹乱

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
2#
发表于 2011-6-27 16:35:31 |只看该作者
先上TS源码
  1. {R-Breaker}
  2. {***********SystemSetup*******************
  3. Trading between 9:15 and 14:29 ChicagoTime only
  4. MMStop $1000
  5. Close End of Day
  6. 10 min Time Frame
  7. ******************************************}


  8. input:notbef(715),notaft(1229);
  9. var:{input:}f1(.35),f2(0.07),f3(.25),reverse(2.00),
  10. rangemin(1.15),xdiv(3);

  11. var:ssetup(0),bsetup(0),senter(0),benter(0),bbreak(0),sbreak(0),
  12. ltoday(0),hitoday(9999),startnow(0),div(0),
  13. rfilter(false);


  14. if currentbar=1 then startnow=0;
  15. div=maxlist(xdiv,1);
  16. if d>d[1] then begin

  17. startnow=startnow+1;

  18. ssetup=hitoday[1]+f1*(c[1]-ltoday[1]);
  19. senter=((1+f2)/2)*(hitoday[1]+c[1])-(f2)*ltoday[1];
  20. benter=((1+f2)/2)*(ltoday[1]+c[1])-(f2)*hitoday[1];
  21. bsetup=ltoday[1]-f1*(hitoday[1]-c[1]);
  22. bbreak=ssetup+f3*(ssetup-bsetup){(1.3625*hitoday[1]+.45*c[1])-.8125*ltoday[1]};
  23. sbreak=bsetup-f3*(ssetup-bsetup){(1.3625*ltoday[1]+.45*c[1])-.8125*hitoday[1]};

  24. hitoday=h;
  25. ltoday=l;

  26. rfilter=hitoday[1]-ltoday[1]>=rangemin;

  27. end;

  28. if h>hitoday then hitoday=h;
  29. if l<ltoday then ltoday=l;

  30. if t>=notbef and t<notaft and startnow>=2 and rfilter and
  31. date>entrydate(1) then begin

  32. if hitoday>=ssetup and marketposition>-1 then
  33. SELL("Rlev SE") senter+(hitoday-ssetup)/div stop;
  34. if ltoday<=bsetup and marketposition<1 then
  35. BUY("Rlev LE") benter-(bsetup-ltoday)/div stop;

  36. if marketposition=-1 then
  37. BUY("RbUP LE") entryprice+reverse stop;
  38. if marketposition=1 then
  39. SELL("RbDN SE") entryprice-reverse stop;

  40. if marketposition=0 then
  41. BUY("Break LE") bbreak stop;
  42. if marketposition=0 then
  43. SELL("Break SE") sbreak stop;

  44. end;

  45. if t>=notaft and t<>sess1endtime then begin

  46. if marketposition=-1 then
  47. EXITSHORT("RbUP SX") entryprice+reverse stop;
  48. if marketposition=1 then
  49. EXITLONG("RbDN LX") entryprice-reverse stop;

  50. EXITSHORT("Late SX") h+.05 stop;
  51. EXITLONG("Late LX") l-.05 stop;
  52. END;
复制代码
我一生在纸上,被风吹乱

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
3#
发表于 2011-6-27 16:39:17 |只看该作者
本帖最后由 穿堂风 于 2011-6-27 17:28 编辑

TB源码
  1. //------------------------------------------------------------------------
  2. // 简称: R_Breaker
  3. // 名称:
  4. // 类别: 公式应用
  5. // 类型: 用户应用
  6. // 输出: 穿堂风
  7. //------------------------------------------------------------------------

  8. /*R-Breaker*/


  9. Params
  10. Numeric notbef(9.00);
  11. Numeric notaft(14.55);
  12. Numeric f1(0.35);
  13. Numeric f2(0.07);
  14. Numeric f3(0.25);
  15. Numeric reverse(1.00);
  16. Numeric rangemin(0.2);
  17. Numeric xdiv(3);

  18. Vars
  19. NumericSeries ssetup(0);
  20. NumericSeries bsetup(0);
  21. NumericSeries senter(0);
  22. NumericSeries benter(0);
  23. NumericSeries bbreak(0);
  24. NumericSeries sbreak(0);
  25. NumericSeries ltoday(0);
  26. NumericSeries hitoday(9999);
  27. NumericSeries startnow(0);
  28. NumericSeries div(0);
  29. BoolSeries rfilter(false);
  30. Numeric i_reverse;
  31. Numeric i_rangemin;
  32. Numeric i_vB;
  33. Numeric i_vS;

  34. Begin
  35. i_reverse = reverse*(OpenD(0)/100);
  36. i_rangemin = rangemin*(OpenD(0)/100);
  37. if(BarStatus==0)
  38. {
  39.         startnow=0;
  40.         div=max(xdiv,1);
  41. }

  42. if(Date != Date[1])
  43. {
  44.         SetGlobalVar(0,0);
  45.         SetGlobalVar(1,0);
  46.         startnow=startnow+1;
  47.         ssetup=hitoday[1]+f1*(Close[1]-ltoday[1]);
  48.         senter=((1+f2)/2)*(hitoday[1]+Close[1])-(f2)*ltoday[1];
  49.         benter=((1+f2)/2)*(ltoday[1]+Close[1])-(f2)*hitoday[1];
  50.         bsetup=ltoday[1]-f1*(hitoday[1]-Close[1]);
  51.         bbreak=ssetup+f3*(ssetup-bsetup);
  52.         sbreak=bsetup-f3*(ssetup-bsetup);

  53.         hitoday=High;
  54.         ltoday=Low;

  55.         rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;
  56. }

  57. if(High>hitoday)
  58. {
  59.         hitoday=High;
  60. }
  61. if(Low<ltoday)
  62. {
  63.         ltoday=Low;
  64. }
  65. if(Time*100>=notbef and Time*100<notaft and startnow>=2 and rfilter)
  66. {

  67.         if(Time != GetGlobalVar(1) and GetGlobalVar(1) != 0)
  68.         {
  69.                 SetGlobalVar(1,10000);
  70.         }
  71.         if(hitoday>=ssetup and marketposition>-1 and GetGlobalVar(1)<1)
  72.         {
  73.                 If(Low<=(senter+(hitoday-ssetup)/div))
  74.                 {
  75.                         SellShort(1,senter+(hitoday-ssetup)/div);
  76.                         SetGlobalVar(1,Time);
  77.                         Return;
  78.                 }
  79.         }
  80.         if(ltoday<=bsetup and marketposition<1  and GetGlobalVar(1)<1)
  81.         {
  82.                 If(High>=(benter-(bsetup-ltoday)/div))
  83.                 {
  84.                         Buy(1,benter-(bsetup-ltoday)/div);
  85.                         SetGlobalVar(1,Time);
  86.                         Return;
  87.                 }
  88.         }

  89.         if(marketposition==-1)
  90.         {
  91.                 SetGlobalVar(0,1);
  92.                 if(High-EntryPrice>=i_reverse)
  93.                 {
  94.                         BuyToCover(1,entryprice+i_reverse);
  95.                         Return;
  96.                 }
  97.         }
  98.         if(marketposition==1)
  99.         {
  100.                 SetGlobalVar(0,1);
  101.                 if(EntryPrice-Low>=i_reverse)
  102.                 {
  103.                         Sell(1,entryprice-i_reverse);
  104.                         Return;
  105.                 }
  106.         }

  107.         if(marketposition==0)
  108.         {
  109.                 if(High>=bbreak and GetGlobalVar(0) == 0)
  110.                 {
  111.                         Buy(1,bbreak);
  112.                         Return;
  113.                 }
  114.         }
  115.         if(marketposition==0)
  116.         {
  117.                 if(low<=sbreak  and GetGlobalVar(0) == 0)
  118.                 {
  119.                         SellShort(1,sbreak);
  120.                         Return;
  121.                 }
  122.         }

  123. }

  124. if(Time*100>=notaft and Time<0.1600)
  125. {

  126.         if(marketposition==-1)
  127.         {
  128.                 BuyToCover(1,Open);
  129.         }
  130.         if(marketposition==1)
  131.         {
  132.                 Sell(1,Open);
  133.         }

  134. }
  135. End

  136. //------------------------------------------------------------------------
  137. // 编译版本        GS2010.12.08
  138. // 用户版本        2011/06/27 14:29
  139. // 版权所有       
  140. // 更改声明        TradeBlazer Software保留对TradeBlazer平台
  141. //                        每一版本的TrabeBlazer公式修改和重写的权利
  142. //------------------------------------------------------------------------
复制代码
我一生在纸上,被风吹乱

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
4#
发表于 2011-6-27 16:43:05 |只看该作者
这个系统本身是用在SP上,多次出现在实盘赛的前列。
我觉得这个系统的构架和思维非常好,直接拿着套国内商品可能表现很差,不过大家能看到这个系统的核心思想就足够了,可以借鉴。
我一生在纸上,被风吹乱

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
5#
发表于 2011-6-27 16:51:03 |只看该作者
忘了说了,得用TB V4,要不V3的系列值传递那还得接力一下。
我一生在纸上,被风吹乱

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
1896
积分
1979
帖子
117
主题
33
阅读权限
70
注册时间
2008-7-16
最后登录
2013-11-16
6#
发表于 2011-6-27 16:52:40 |只看该作者
牛人啊  。。。。。。。。。。。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
12330
积分
838
帖子
254
主题
15
阅读权限
60
注册时间
2010-6-16
最后登录
2017-4-25
7#
发表于 2011-6-27 18:22:25 |只看该作者
谢谢楼主分享好的交易思路,顶!

使用道具 举报

Rank: 4

精华
0
UID
5027
积分
587
帖子
100
主题
7
阅读权限
50
注册时间
2009-8-5
最后登录
2016-1-30
8#
发表于 2011-6-28 09:07:15 |只看该作者
最好有注释,照顾下低水平的同学

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
9#
发表于 2011-6-28 13:04:10 |只看该作者
根据昨日波幅算出几个区间
突破上区间,做多
破下区间,做空
做多后,回撤至次上区间,则认为假突破,反手
做空类似
收盘前平仓,notaft(14.55)设置为14.55为出场时间,14点55分,适用1分钟和5分钟周期,其它周期自己手动修改参数
我一生在纸上,被风吹乱

使用道具 举报

初级大户

比特币程序化交易软件 upbtc.com

Rank: 5Rank: 5

精华
0
UID
27530
积分
994
帖子
156
主题
19
阅读权限
60
注册时间
2011-3-4
最后登录
2019-1-15
10#
发表于 2011-6-28 17:41:51 |只看该作者
rfilter=(hitoday[1]-ltoday[1])>=i_rangemin;

这句是什么意思?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-4 00:31

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部