金字塔源码] 【日内策略】R-Breaker——金字塔平台

0
回复
3330
查看
[复制链接]

209

主题

26

回帖

1424

积分

超级版主

积分
1424
来源: 2020-5-30 14:01:02 显示全部楼层 |阅读模式
R-Breaker是个经典的具有长生命周期的日内模型。曾14年排名Future Trust杂志年度前10最赚钱的策略。

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

周期:1分钟、5分钟

主要的思想依据上图为:

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


交易规则:

反转:

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

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

突破:

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

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

代码:
  1. input:ss(1,1,100,10);
  2. 手数:=ss;
  3. n:=barslast(date<>ref(date,1));
  4. 昨高:=callstock(stklabel,vthigh,6,-1);//昨高
  5. 昨低:=callstock(stklabel,vtlow,6,-1);//昨低
  6. 昨收:=callstock(stklabel,vtclose,6,-1);//昨收
  7. a:=hhv(h,n+1);
  8. b:=llv(l,n+1);
  9. if N>=1 then begin
  10. 今高:=a;//今高
  11. 今低:=b;//今低
  12. end
  13. 观察卖出价:昨高+0.35*(昨收-昨低);//ssetup
  14. 反转卖出价:(1.07/2)*(昨高+昨低)-0.07*昨低;//senter
  15. 反转买入价:(1.07/2)*(昨高+昨低)-0.07*昨高;//benter
  16. 观察买入价:昨低-0.35*(昨高-昨收);//bsetup
  17. 突破买入价:(观察卖出价+0.25*(观察卖出价-观察买入价));//bbreeak
  18. 突破卖出价:观察买入价-0.25*(观察卖出价-观察买入价);//sbreak
  19. //条件
  20. 空仓做多条件:=c>突破买入价 and holding=0;
  21. 空仓做空条件:=c<突破卖出价 and holding=0;
  22. 多单反转条件:=holding>0 and 今高>观察卖出价 and c<反转卖出价;
  23. 空单反转条件:=holding<0 and 今低<观察买入价 and c>反转买入价;
  24. //交易系统
  25. if time>=092000 and time<151000 then begin
  26. 空仓开多:buy(空仓做多条件,手数,market);
  27. 空仓开空:buyshort(空仓做空条件,手数,market);
  28. //多单反转:
  29. if 多单反转条件 then begin
  30.   平多:sell(1,手数,market);
  31.   翻空:buyshort(1,手数,market);
  32.   end
  33. //空单反转:
  34. if 空单反转条件 then begin
  35. 平空:sellshort(1,手数,market);
  36. 翻多:buy(1,手数,market);
  37. end
  38. end
  39. //日内平仓
  40. if time>=151000 then begin
  41. 收盘平多:sell(1,手数,market);
  42. 收盘平空:sellshort(1,手数,market);
  43. end
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
关注微信