Name
快速震荡RSI交易策略Fast-Oscillating-RSI-Trading-Strategy
Author
ChaoZhang
Strategy Description
[trans]
该策略是一个利用RSI指标识别震荡行情,并在震荡过程中捕捉趋势反转机会的交易策略。策略通过快速RSI指标判断价格是否进入震荡区,并结合K线实体和快速RSI的多空信号来判断入场时机。
该策略主要基于以下原理运作:
- 通过快速RSI判断价格是否进入设定的超买超卖区间,作为震荡识别依据
- 结合K线实体突破和快速RSI多空信号判断具体的入场时机
- 通过双重过滤机制避免非震荡行情的假信号
具体来说,策略运用双周期RSI判断价格是否进入设定的30-70震荡区间。同时要求K线实体突破均线的1/4或1/2才产生交易信号。这样通过双重条件判断,可以有效过滤除震荡行情的假信号,确保只在真正震荡的时候入场。
该策略具有以下显著优势:
- 快速RSI指标灵敏,可以快速判断价格进入和离开震荡区间
- 双时间框架分析,避免被噪音干扰
- 实体过滤机制,确保在真实趋势反转时入场
- 操作频率适中,避免过度交易
该策略也存在一些风险需要留意:
- 可能漏掉趋势反转机会,导致获利不足
- 震荡突破假信号可能造成损失
- 参数设置不当会影响策略表现
为控制风险,建议适当调整参数组合,实盘验证,并设置止损机制。
该策略还有进一步优化的空间:
- 整合其他指标信号,构建Likelihood模型
- 添加自适应参数调节模块
- 增加算法交易模块,实现更快速度交易
通过多指标整合、自适应参数调节和算法交易等手段,有望进一步提升策略的稳定性和收益率。
该快速震荡RSI交易策略,通过快速RSI指标捕捉价格震荡和双重过滤机制判断入场时机,是一个值得深入研究和运用的有效策略。在实践中需要关注风险,并在多维度进行优化调整,以进一步提升策略效果。
||
This is a trading strategy that identifies oscillating markets using the RSI indicator and captures trend reversal opportunities during market oscillations. The strategy judges if prices have entered the oscillation zone by the fast RSI indicator and determines entry timing in combination with candlestick bodies and fast RSI signals.
The strategy mainly operates on the following principles:
- Identify oscillating price action by fast RSI judging if prices have entered the overbought/oversold zone
- Determine specific entry timing with candlestick body breakout and fast RSI signals
- Avoid false signals in non-oscillating trends through dual filter mechanisms
Specifically, the strategy employs dual-period RSI to judge if prices have entered the 30-70 pre-set oscillation range. It also requires the candle body to break through 1/4 or 1/2 of the MA before generating trading signals. By such dual conditional checks, false signals can be effectively filtered out to ensure entering the market only when real oscillation happens.
The strategy demonstrates significant advantages as follows:
- Fast RSI indicator is sensitive to swiftly identify prices entering/leaving the oscillation zone
- Dual timeframe analysis prevents interference from market noise
- Candle filter ensures entering on real trend reversals
- Medium trade frequency prevents over-trading
There are also some risks to be aware of:
- Possible missing trend reversal opportunities leading to insufficient profit
- Whipsw signals may cause losses
- Improper parameter settings impact strategy performance
To control risks, adjusting parameter combinations, live trading verification and stop loss mechanisms are recommended.
There is room for further optimization:
- Integrate other indicator signals to build Likelihood model
- Add adaptive parameter tuning module
- Increase algo trading module for faster trade execution
By techniques like multi-indicator integration, adaptive parameter tuning and algo trading, strategy stability and profitability can be lifted to the next level.
The fast oscillating RSI trading strategy identifies price oscillations and determines entry timing via fast RSI and dual filter mechanisms. It is an effective strategy worth in-depth research and application. In practice, risks should be monitored and multi-dimensional optimizations are needed to further lift the strategy efficacy.
[/trans]
Strategy Arguments
Argument | Default | Description |
---|---|---|
v_input_1 | 2 | RSI UP Period |
v_input_2 | 9 | RSI DN Period |
v_input_3 | 30 | RSI limit |
v_input_4_close | 0 | RSI Price: close |
v_input_5 | true | RSI Bars |
v_input_6 | 2018 | From Year |
v_input_7 | 2018 | To Year |
v_input_8 | true | From Month |
v_input_9 | 12 | To Month |
v_input_10 | true | From day |
v_input_11 | 31 | To day |
Source (PineScript)
/*backtest
start: 2023-01-07 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "Noro's FRSI Strategy v1.22", shorttitle = "FRSI str 1.22", overlay = true )
//Settings
uprsiperiod = input(2, defval = 2, minval = 2, maxval = 50, title = "RSI UP Period")
dnrsiperiod = input(9, defval = 9, minval = 2, maxval = 50, title = "RSI DN Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
sps = 0
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Fast RSI
fastup = rma(max(change(rsisrc), 0), uprsiperiod)
fastdown = rma(-min(change(rsisrc), 0), dnrsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit
//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0
//Body
body = abs(close - open)
emabody = ema(body, 30)
//Signals
up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4
dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4
exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2
//Trading
if up
strategy.entry("Long", strategy.long)
sps := 1
if exit
strategy.close_all()
sps := 0
Detail
https://www.fmz.com/strategy/438024
Last Modified
2024-01-08 11:50:38