: | : | :期货量化学习 | :期货量化 |
返回列表 发帖

R-Breaker交易系统模型原理说明及示意图

R-Breaker交易系统模型原理说明及示意图


R-Breaker是一种短线交易策略,它结合了趋势和反转两种交易方式。

交易系统的基本原理如下:
1. 根据前一个交易日的收盘价、最高价和最低价数据通过一定方式计算出六个价位,从大到小依次为:突破买入价、观察卖出价、反转
卖出价、反转买入价、观察买入价、突破卖出价。
以此来形成当前交易日盘中交易的触发条件。这里,通过对计算方式的调整,可以调节六个价格间的距离,进一步改变触发条件。


2. 追踪盘中价格走势,实时判断触发条件。具体条件如下:
当日内最高价超过观察卖出价后,盘中价格出现回落,且进一步跌破反转卖出价构成的支撑线时,采取反转策略,即在该点位(反手、开仓)做空;
当日内最低价低于观察买入价后,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位(反手、开仓)做多;
 在空仓的情况下,如果盘中价格超过突破买入价,则采取趋势策略,即在该点位开仓做多;
 在空仓的情况下,如果盘中价格跌破突破卖出价,则采取趋势策略,即在该点位开仓做空。


3. 设定止损条件。当亏损达到设定值后,平仓。
4. 设定过滤条件。当前一个交易日波幅过小,该交易日不进行交易。
5. 在每日收盘前,对所持合约进行平仓。
6. 可使用1分钟、5分钟或10分钟等高频数据进行判断。


论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
 
期货论坛 - 版权/免责声明   1.本站发布源码(包括函数、指标、策略等)均属开放源码,用意在于让使用者学习程序化语法撰写,使用者可以任意修改语法內容并调整参数。仅限用于个人学习使用,请勿转载、滥用,严禁私自连接实盘账户交易
  2.本站发布资讯(包括文章、视频、历史记录、教材、评论、资讯、交易方案等)均系转载自网络主流媒体,内容仅为作者当日个人观点,本网转载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网不对该类信息或数据做任何保证。不对您构成任何投资建议,不能依靠信息而取代自身独立判断,不对因使用本篇文章所诉信息或观点等导致的损失承担任何责任。
  3.本站发布资源(包括书籍、杂志、文档、软件等)均从互联网搜索而来,仅供个人免费交流学习,不可用作商业用途,本站不对显示的内容承担任何责任。请在下载后24小时内删除。如果喜欢,请购买正版,谢谢合作!
  4.龙听期货论坛原创文章属本网版权作品,转载须注明来源“龙听期货论坛”,违者本网将保留追究其相关法律责任的权力。本论坛除发布原创文章外,亦致力于优秀财经文章的交流分享,部分文章推送时若未能及时与原作者取得联系并涉及版权问题时,请及时联系删除。联系方式:http://www.qhlt.cn/thread-262-1-1.html
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

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
  30. if t>=notbef and t=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;
复制代码



中轨上顶部区间:ssetup:=昨日最高+0.35*(昨天收盘-昨天最低);
中轨上区间:senter+(昨最高-中轨上顶部区间)/3 // senter:=((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最低;
中轨下区间:benter-(中轨下顶部区间-昨最低)/3 // benter:=((1+0.07)/2*(昨最高+昨最低)-0.07*昨天最高;
中轨下顶部区间:bsetup:=昨最低-0.35*(昨最高-昨收盘);
上轨:bbreak:=(ssetup+0.25*(ssetup-bsetup);
下轨:sbreak:=bsetup-0.25*(ssetup-bsetup);
当价格直接突破上轨,开多。 否则, 当今日最高价大于中轨上区间,并且小于上轨运行,价格如果下穿中轨上区间后,开空。
当价格直接突破下轨,开空。 否则, 当今日最低价小于中轨下区间,并且大于下轨运行,价格如果上穿中轨下区间后,开多。
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

R-Breaker金字塔上源码:
  1. runmode:0;
  2. input:notbef(090000);
  3. input:notaft(145500);
  4. input:f1(0.35);
  5. input:f2(0.07);
  6. input:f3(0.25);
  7. input:myreverse(1);
  8. input:rangemin(0.2);
  9. input:xdiv(3);
  10. variable:ssetup=0;
  11. variable:bsetup=0;
  12. variable:senter=0;
  13. variable:benter=0;
  14. variable:bbreak=0;
  15. variable:sbreak=0;
  16. variable:ltoday=0;
  17. variable:hitoday=999999;
  18. variable:startnow=0;
  19. variable:div=0;
  20. variable:rfilter=false;
  21. i_reverse:=myreverse*(callstock(stklabel,vtopen,6,0)/100);
  22. i_rangemin:=rangemin*(callstock(stklabel,vtopen,6,0)/100);
  23. if barpos=1 then begin
  24. startnow:=0;
  25. div:=max(xdiv,1);
  26. end
  27. hh:=ref(hitoday,1);
  28. cc:=ref(close,1);
  29. ll:=ref(ltoday,1);
  30. if date>ref(date,1) then begin
  31. startnow:=startnow+1;

  32. ssetup:=hh+f1*(cc-ll);
  33. senter:=((1+f2)/2)*(hh+cc)-f2*ll;
  34. benter:=((1+f2)/2)*(ll+cc)-f2*hh;
  35. bsetup:=ll-f1*(hh-cc);
  36. bbreak:=ssetup+f3*(ssetup-bsetup);
  37. sbreak:=bsetup-f3*(ssetup-bsetup);

  38. hitoday:=high;
  39. ltoday:=low;

  40. rfilter:=hh-cc>=rangemin;
  41. end
  42. if high>hitoday then hitoday:=high;
  43. if low<ltoday then ltoday:=low;
  44. if time>=notbef and time<notaft and startnow>=2 and rfilter then begin
  45. if hitoday>=ssetup and holding>=0 then begin
  46. if low<=senter+(hitoday-ssetup)/div then begin
  47. sell(1,holding,limitr,senter+(hitoday-ssetup)/div);
  48. sellshort(1,1,limitr,senter+(hitoday-ssetup)/div);
  49. end
  50. end

  51. if ltoday<=bsetup and holding<=0 then begin
  52. if high>=benter-(bsetup-ltoday)/div then begin
  53. if high>=benter-(bsetup-ltoday)/div then begin
  54. sellshort(1,holding,limitr,benter-(bsetup-ltoday)/div);
  55. buy(1,1,limitr,benter-(bsetup-ltoday)/div);
  56. end
  57. end
  58. end

  59. if holding<0 then begin
  60. if high-enterprice>=i_reverse then
  61. sellshort(1,enterprice+i_reverse);
  62. end

  63. if holding>0 then begin
  64. if enterprice-low>=i_reverse then
  65. sell(1,enterprice-i_reverse);
  66. end

  67. if holding=0 then begin
  68. if high>=bbreak then
  69. buy(1,bbreak);
  70. end

  71. if holding=0 then begin
  72. if low<=sbreak then
  73. sellshort(1,sbreak);
  74. end
  75. end
  76. if time>=notaft then begin
  77. if holding<0 then
  78. sellshort(1,holding,limitr,open);

  79. if holding>0 then
  80. sell(1,holding,limitr,open);
  81. end
  82. 盈亏:asset-500000,noaxis,coloryellow,linethick2;
复制代码
如何访问权限为100/255贴子:/thread-37840-1-1.html;注册后仍无法回复:/thread-23-1-1.html;微信/QQ群:/thread-262-1-1.html;网盘链接失效解决办法:/thread-93307-1-1.html

TOP

返回列表