策略知识库.EN
策略

RSI跳空反转策略RSI-Gap-Reversal-Strategy

ChaoZhang · PineScript · 均值回归 · 2023-11-24 16:01:31

全部策略 →

概述

GBP RSI跳空反转策略是一种基于RSI指标识别趋势反转机会的短线交易策略。该策略通过RSI指标判断多头区域或空头区域突破,形成跳空反转形态后入场,实现及时捕捉市场反转点的机会。

策略原理

该策略主要依赖RSI指标判断超买超卖的形成。具体规则如下:

  1. 判断RSI指标是否由超卖区上穿23进行突破,形成由空转多的跳空反转形态,如果满足则做多入场。
  2. 多单止盈条件为RSI指标上穿75时止盈;止损条件为亏损189个点时止损。
  3. 判断RSI指标是否由超买区下穿75进行突破,形成由多转空的跳空反转形态,如果满足则做空入场。
  4. 空单止盈条件为RSI指标下穿23时止盈;止损条件为亏损152个点时止损。

通过判断突破性反转形态入场,及时捕捉反转机会是本策略的核心思路。同时设置止盈止损条件锁定盈利,避免反转失败的风险。

优势

  1. 利用RSI指标判断反转形态,及时捕捉市场反转机会。
  2. 反转形态突破出现跳空 GAP,成功率较高。
  3. 设置止盈止损条件,可以有效控制风险。
  4. 策略思路简单清晰,容易理解实施。

风险

  1. RSI指标产生假反转信号的概率存在,可能入场后再次反转回来。
  2. 止盈止损点设定不当,可能造成过早止盈或止损。
  3. 策略参数需要不断测试优化,如RSI周期长度、超买超卖区域等。
  4. 不同品种和时间周期,参数设置会有较大差异。

优化方向

  1. 测试不同的RSI参数设置,优化反转识别效果。
  2. 增加其他指标过滤,避免假反转的概率。比如加入MACD指标确认。
  3. 增加反转突破的交易量过滤条件。
  4. 测试不同时间周期参数优化,寻找最佳适用周期。

总结

GBP RSI跳空反转策略通过捕捉RSI指标反转跳空信号进行操作。策略思路简单清晰,容易掌握;同时具有高成功率和风险控制等优势。但也不能完全避免反转失败的概率,需要进一步优化参数并辅助其他指标过滤。该策略适用于熟悉反转操作的短线交易者,特别是对GBP品种比较了解的交易者。

参数

参数默认值说明
v_input_18length
v_input_223overSold
v_input_375overBought
v_input_435overSoldP
v_input_578overBoughtP
v_input_6406ProfitL
v_input_7189LossL
v_input_8370ProfitS
v_input_9152LossS
v_input_1016BarssinceL
v_input_1126BarssinceS
源码(45 行)
/*backtest
start: 2022-11-23 00:00:00
end: 2023-06-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("GBP combine", overlay=true)
length = input( 8 )
overSold = input( 23 )
overBought = input( 75 )
price = close
overSoldP = input( 35 )
overBoughtP = input (78)
ProfitL = input(406)
LossL = input(189)
ProfitS = input(370)
LossS = input(152)
BarssinceL = input(16)
BarssinceS = input(26)

vrsi = rsi(price, length)

longCondition() => crossunder(vrsi, overSold)
closeLPLCondition() => crossover(vrsi, overBoughtP)
closeLCondition() => barssince(longCondition())>BarssinceL

shortCondition() => crossover (vrsi, overBought)
closeLPSCondition() => crossunder(vrsi, overSoldP)
closeSCondition() => barssince(shortCondition())>BarssinceS

if (longCondition())
    strategy.entry("Long", strategy.long)
    strategy.exit ("Exit", "Long", profit=ProfitL,loss=LossL)
strategy.close("Long", when = closeLPLCondition() or closeLCondition())

if (shortCondition())
    strategy.entry("Short", strategy.short)
    strategy.exit ("Exit", "Short", profit=ProfitS,loss=LossS)
strategy.close("Short", when = closeLPSCondition() or closeSCondition())


//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)