Stochastic + RSI, Chiến lược đôi

Tác giả:ChaoZhang, Ngày: 2022-05-25 16:12:14
Tags:STOCHRSI

Chiến lược này kết hợp chiến lược RSI cổ điển để bán khi chỉ số RSI tăng trên 70 (hoặc mua khi giảm dưới 30), với chiến lược Stochastic Slow cổ điển để bán khi dao động Stochastic vượt quá giá trị 80 (và mua khi giá trị này dưới 20).

Chiến lược đơn giản này chỉ được kích hoạt khi cả RSI và Stochastic cùng nhau ở trong tình trạng mua quá mức hoặc bán quá mức. Biểu đồ một giờ của S & P 500 đã hoạt động khá tốt gần đây với chiến lược kép này.

Nhân tiện, chiến lược này không nên bị nhầm lẫn với Stochastic RSI, chỉ đo chỉ số RSI.

Tất cả các giao dịch đều liên quan đến rủi ro cao; hiệu suất trong quá khứ không nhất thiết là chỉ báo về kết quả trong tương lai.

backtest

img


/*backtest
start: 2022-04-24 00:00:00
end: 2022-05-23 23:59:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Stochastic + RSI, Double Strategy (by ChartArt)", shorttitle="CA_-_RSI_Stoch_Strat", overlay=true)

// ChartArt's Stochastic Slow + Relative Strength Index, Double Strategy
//
// Version 1.0
// Idea by ChartArt on October 23, 2015.
//
// This strategy combines the classic RSI
// strategy to sell when the RSI increases
// over 70 (or to buy when it falls below 30),
// with the classic Stochastic Slow strategy
// to sell when the Stochastic oscillator
// exceeds the value of 80 (and to buy when
// this value is below 20).
//
// This simple strategy only triggers when
// both the RSI and the Stochastic are together
// in overbought or oversold conditions.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/


///////////// Stochastic Slow
Stochlength = input(14, minval=1, title="lookback length of Stochastic")
StochOverBought = input(80, title="Stochastic overbought condition")
StochOverSold = input(20, title="Stochastic oversold condition")
smoothK = input(3, title="smoothing of Stochastic %K ")
smoothD = input(3, title="moving average of Stochastic %K")
k = sma(stoch(close, high, low, Stochlength), smoothK)
d = sma(k, smoothD)

 
///////////// RSI 
RSIlength = input( 14, minval=1 , title="lookback length of RSI")
RSIOverBought = input( 70  , title="RSI overbought condition")
RSIOverSold = input( 30  , title="RSI oversold condition")
RSIprice = close
vrsi = rsi(RSIprice, RSIlength)


///////////// Double strategy: RSI strategy + Stochastic strategy

if (not na(k) and not na(d))
    if (crossover(k,d) and k < StochOverSold)
        if (not na(vrsi)) and (crossover(vrsi, RSIOverSold))
            strategy.entry("LONG", strategy.long, comment="StochLE + RsiLE")
 
 
if (crossunder(k,d) and k > StochOverBought)
    if (crossunder(vrsi, RSIOverBought))
        strategy.entry("SHORT", strategy.short, comment="StochSE + RsiSE")
 
 
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Có liên quan

Thêm nữa