双RSI指标突破策略


创建日期: 2023-09-14 15:34:46 最后修改: 2023-09-14 15:34:46
复制: 0 点击次数: 899
avatar of ChaoZhang ChaoZhang
1
关注
1259
关注者

策略原理

双RSI指标突破策略运用两个相对强弱指数(RSI)指标进行交易,一个快速RSI和一个慢速RSI,两者可以同方向交易。

具体逻辑是:

  1. 分别计算快速RSI(例如16周期)和慢速RSI(例如31周期)

  2. 当快速RSI低于超卖线(如30)时生成买入信号

  3. 当慢速RSI低于超卖线(如30)时也生成买入信号

  4. 快速RSI和慢速RSI可以在同一天同时发出买入信号

  5. 快速RSI上穿70时平仓

  6. 慢速RSI上穿68时平仓

  7. 设置回撤止损线

双RSI指标能在超买超卖区域发现较佳机会。快慢速线结合可以实现多级进场,跟踪趋势运行。止损可控制风险。

策略优势

  • 快慢RSI互相验证,减少假信号

  • 多级进场可按次充分跟踪趋势

  • 设置不同的利润取利点和止损点

  • 回撤止损进一步控制风险

策略风险

  • 需反复测试优化RSI参数

  • 双重入场会增大交易风险系数

  • 止损过于接近,可能被震出

总结

双RSI指标策略综合运用双时间轴指标,在控制风险前提下,实现多点进场以跟踪趋势。参数优化和严格止损是关键所在。总体而言,该策略适合追踪中长线方向性行情。

策略源码
/*backtest
start: 2023-09-06 00:00:00
end: 2023-09-13 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//  @version=4
//  © HermanBrummer
//  This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/

strategy("DUAL RSI", "RSI", 1, pyramiding=2)
///     USES TWO RSI'S BOTH OF THEM CAN TRADE IN THE SAME DIRECTION AT THE SAME TIME -- ONE SLOW RSI, AND ONE FAST RSI
///     BOTH RSI'S HAVE DIFFERENT LENGHTS ONE IS FAST AND HAS A SETTTING OF 16 ONE IS SLOW AND HAS A SETTING OF 31
///     BOTH RSI'S HAVE DIFERENT EXIT PARAMETERS
///     PYRAMIDING ALLOWS THE SYSTEM TO BUY ONE DO ONE SLOW RSI AND ONE FAST RSI BUY ON THE SAME DAY
///     FASTRSI     EXITS AT 70 RSI LEVEL
///     SLOW RSI    EXITS AT 68 RSI LEVEL


FastRSILen      = input( 16 )
SlowRSILen      = input( 31 )

overSold        = input( 91 )

FastRsi         = rsi(ohlc4, FastRSILen)
SlowRsi         = rsi(ohlc4, SlowRSILen)

aboveMaFilter   = close > sma(close, 200)
StopLossLine    = strategy.position_avg_price * .90

plot(StopLossLine, "StopLossLine", #ff0000)
// plot(FastRsi, "FastRsi", color.yellow, 2)
// plot(SlowRsi, "SlowRsi", color.purple, 2)

FastBuy         = FastRsi < overSold and aboveMaFilter //and strategy.position_size != 1
SlowBuy         = SlowRsi < overSold and aboveMaFilter //and strategy.position_size != 1


//     FAST_BUY
strategy.entry("Fast Enter", true, when=FastBuy)
    
if  FastRsi > 70    /// SELLS IF RSI == 75
    strategy.close("Fast Enter", comment="Fast Exit")
    
strategy.exit("Stop Loss", "Fast Enter", stop=StopLossLine)       



// // ///     SLOW_BUY
strategy.entry("Slow Enter", true, when=SlowBuy)
    
strategy.exit("Stop Loss", "Slow Enter", stop=StopLossLine)       

if  SlowRsi > 68    /// SELLS IF RSI == 68
    strategy.close("Slow Enter", comment="Slow Exit")