RSI跳空反转策略


创建日期: 2023-11-24 16:01:31 最后修改: 2023-11-24 16:01:31
复制: 0 点击次数: 614
avatar of ChaoZhang ChaoZhang
1
关注
1617
关注者

RSI跳空反转策略

概述

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品种比较了解的交易者。

策略源码
/*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)