千家信息网

R-Breaker策略怎么编写

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇"R-Breaker策略怎么编写"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"R
千家信息网最后更新 2026年11月02日R-Breaker策略怎么编写

这篇"R-Breaker策略怎么编写"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"R-Breaker策略怎么编写"文章吧。

一、摘要

R-Breaker策略由Richard Saidenberg开发,并于1994年公布于世。在之后连续十五年被美国《Futures Truth》杂志评选为前十大最赚钱的交易策略之一。与其他策略相比,R-Breaker是趋势与反转相结合的交易策略。不仅可以捕捉趋势行情获得大利润,还可以在行情反转的时候,及时主动止盈并顺势反手。

二、阻力位与支撑位

简单的说,R-Breaker策略就是一个支撑位和阻力位策略,它根据昨日的最高价、最低价和收盘价,计算出七个价格:一个中心价(pivot)、三个支撑位(s1、s2、s3)、三个阻力位(r1、r2、r3)。然后根据当前价格与这些支撑位和阻力位的位置关系,以形成买卖的触发条件,并且通过一定的算法调整,调节这七个价格之间的距离,进一步改变交易的触发值。

  • 突破买入价(阻力位r3) = 昨日最高价 + 2 *(中心价 - 昨日最低价)2

  • 观察卖出价(阻力位r2) = 中心价 +(昨日最高价-昨日最低价)

  • 反转卖出价(阻力位r1) = 2 * 中心价 - 昨日最低价

  • 中心价(pivot) =(昨日最高价 + 昨日收盘价 + 昨日最低价)/ 3

  • 反转买入价(支撑位s1) = 2 * 中心价 - 昨日最高价

  • 观察买入价(支撑位s2) = 中心价 -(昨日最高价 - 昨日最低价)

  • 突破卖出价(支撑位s3) = 昨日最低价 - 2 *(昨日最高价 - 中心价)

由此我们可以看到,R-Breaker策略是根据昨天的价格绘制了一个类似网格的价格线,并且每天更新一次这些价格线。在技术分析上支撑位和阻力位,并且两者的作用可以互相转换。当价格成功向上突破阻力位时,阻力位变成了支撑位;当价格成功向下突破支撑位时,支撑位变成了阻力位。

在实际交易中,这些支撑位和阻力位为交易者指出了开平仓方向和精确等买卖点位。具体的开平仓条件交易者可以根据盘中价格、中心价、阻力位、支撑位灵活定制,也可以根据这些网格价格线进行加减仓的头寸管理。

三、策略逻辑

接下来,让我们看一下R-Breaker策略是怎样利用这些支撑位和阻力位的。它逻辑一点也不复杂。如果当前没有持仓就进入趋势模式,当价格大于突破买入价就开仓做多;当价格小于突破卖出价就开仓做空。

  • 趋势模式

    • 多头开仓:如果无持仓,并且价格大于突破买入价

    • 空头开仓:如果无持仓,并且价格小于突破卖出价

    • 多头平仓:如果持多单,并且当日最高价大于观察卖出价,并且价格小于反转卖出价

    • 空头平仓:如果持空单,并且当日最低价小于观察买入价,并且价格大于反转买入价

  • 反转模式

    • 多头开仓:如果持空单,并且当日最低价小于观察买入价,并且价格大于反转买入价

    • 空头开仓:如果持多单,并且当日最高价大于观察卖出价,并且价格小于反转卖出价

    • 多头平仓:如果持多单,并且价格小于突破卖出价

    • 空头平仓:如果持空单,并且价格大于突破买入价

如果有持仓时就进入反转模式,当持有多单时,并且当日最高价大于观察卖出价,并且价格跌破反转卖出价就平掉多头持仓反手做空。当持有空单时,并当日最低价小于观察买入价,并且价格突破反转买入价就平掉空头持仓反手做多。

四、策略编写
'''backteststart: 2019-01-01 00:00:00end: 2020-01-01 00:00:00period: 5mexchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}]'''# 策略主函数def onTick():# 获取数据exchange.SetContractType(contract_type)   # 订阅期货品种bars_arr =exchange.GetRecords(PERIOD_D1)  # 获取日K线数组if len(bars_arr) < 2:  # 如果K线数量小于2根returnyesterday_open = bars_arr[-2]['Open']     # 昨日开盘价yesterday_high = bars_arr[-2]['High']     # 昨日最高价yesterday_low = bars_arr[-2]['Low']       # 昨日最低价yesterday_close = bars_arr[-2]['Close']   # 昨日收盘价# 计算pivot = (yesterday_high + yesterday_close + yesterday_low) / 3 # 枢轴点r1 = 2 * pivot - yesterday_low # 阻力位1r2 = pivot + (yesterday_high - yesterday_low) # 阻力位2r3 = yesterday_high + 2 * (pivot - yesterday_low) # 阻力位3s1 = 2 * pivot - yesterday_high  # 支撑位1s2 = pivot - (yesterday_high - yesterday_low)  # 支撑位2s3 = yesterday_low - 2 * (yesterday_high - pivot)  # 支撑位3today_high = bars_arr[-1]['High'] # 今日最高价today_low = bars_arr[-1]['Low'] # 今日最低价current_price = _C(exchange.GetTicker).Last #当前价格# 获取持仓position_arr = _C(exchange.GetPosition)  # 获取持仓数组if len(position_arr) > 0:  # 如果持仓数组长度大于0for i in position_arr:if i['ContractType'] == contract_type:  # 如果持仓品种等于订阅品种if i['Type'] % 2 == 0:  # 如果是多单position = i['Amount']  # 赋值持仓数量为正数else:position = -i['Amount']  # 赋值持仓数量为负数profit = i['Profit']  # 获取持仓盈亏else:position = 0  # 赋值持仓数量为0profit = 0  # 赋值持仓盈亏为0if position == 0:  # 如果无持仓if current_price > r3:  # 如果当前价格大于阻力位3exchange.SetDirection("buy")  # 设置交易方向和类型exchange.Buy(current_price + 1, 1)  # 开多单if current_price < s3:  # 如果当前价格小于支撑位3exchange.SetDirection("sell")  # 设置交易方向和类型exchange.Sell(current_price - 1, 1)  # 开空单if position > 0:  # 如果持有多单if today_high > r2 and current_price < r1 or current_price < s3:  # 如果今日最高价大于阻力位2,并且当前价格小于阻力位1exchange.SetDirection("closebuy")  # 设置交易方向和类型exchange.Sell(current_price - 1, 1)  # 平多单exchange.SetDirection("sell")  # 设置交易方向和类型exchange.Sell(current_price - 1, 1)  # 反手开空单if position < 0:  # 如果持有空单if today_low < s2 and current_price > s1 or current_price > r3:  # 如果今日最低价小于支撑位2,并且当前价格大于支撑位1exchange.SetDirection("closesell")  # 设置交易方向和类型exchange.Buy(current_price + 1, 1)  # 平空单exchange.SetDirection("buy")  # 设置交易方向和类型exchange.Buy(current_price + 1, 1)  # 反手开多单# 程序主函数def main():while True:     # 循环onTick()    # 执行策略主函数Sleep(1000) # 休眠1秒

以上就是关于"R-Breaker策略怎么编写"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

价格 阻力 策略 买入价 卖出价 最低 最高 最低价 最高价 交易 突破 观察 方向 内容 反手 多头 类型 模式 趋势 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 电子科技大学互联网 广州凡科互联网科技 火传媒上海互联网科技 互联网科技博客 互联网科技大会案例 科技类的互联网平台 衡水科技产业互联网平台 福州新华互联网科技学校 知乎 承德科技产业互联网发展 华服互联网科技官网 坤平互联网科技 广西互联网科技孵化中心 2021互联网科技公司排名 互联网第三次科技革命特征 萌小萌互联网科技河南有限公司 容联科技互联网电商 上海万顺科技互联网有限公司招聘 恒生科技指数 中概互联网 北京品多多互联网科技有限公司 每日互联网科技新闻 云信互联网科技有限公司 互联网医疗科技 科技互联网公司logo 山东吉时兔互联网科技有限公司 成都铂石互联网科技做什么的 互联网科技公司有风险吗 保险科技服务互联网营销体系 区块链结合互联网科技 上海京穆互联网科技有限公司 互联网企业科技类企业如何做账
0