
Strategi ini disebut strategi penembusan dua jalur berdasarkan indikator RSI. Strategi ini menggunakan kombinasi dua jalur indikator RSI untuk membuat keputusan, untuk mencapai tujuan membeli dan menjual dengan harga rendah. Strategi ini dianggap sebagai sinyal beli ketika indikator RSI berada di bawah jalur rendah yang ditetapkan (default 40) dan kemudian dikonfirmasi membeli jika RSI10 lebih rendah dari RSI14. Strategi ini juga dianggap sebagai sinyal jual ketika indikator RSI lebih tinggi dari jalur tinggi yang ditetapkan (default 70) dan kemudian dikonfirmasi menjual jika RSI10 lebih tinggi dari RSI14.
Logika inti dari strategi ini adalah menggunakan indikator RSI untuk membuat keputusan. RSI umumnya diatur untuk 14 siklus, yang mewakili kekuatan dan kelemahan saham selama hampir 14 hari. Strategi ini menambahkan RSI10 sebagai indikator penilaian tambahan.
Ketika RSI14 menembus 40 orbit, menganggap harga saham jatuh ke arah kelemahan, kemungkinan akan membentuk kesempatan untuk mendukung. Pada saat ini jika RSI10 lebih kecil dari RSI14, menunjukkan bahwa tren jangka pendek masih ke bawah, sinyal turun dapat dikonfirmasi lebih lanjut. Oleh karena itu, sinyal beli akan dihasilkan ketika RSI14 <= 40 dan RSI10 < RSI14 .
Ketika RSI 14 di atas 70 melintasi orbit, dianggap bahwa harga saham masuk ke daerah kuat jangka pendek, mungkin ada kesempatan untuk melakukan penyesuaian mundur. Pada saat ini jika RSI 10 lebih besar dari RSI 14, menunjukkan bahwa tren jangka pendek terus naik, sinyal bullish dapat dikonfirmasi lebih lanjut.
Dengan demikian, penilaian RSI14 dan RSI10 yang berkolaborasi membentuk logika inti dari strategi dual track.
Untuk memanfaatkan sepenuhnya strategi ini, Anda dapat menyesuaikan parameter RSI dengan tepat, mengendalikan posisi stop loss dengan ketat, menghindari operasi yang terlalu intensif, dan mengejar profitabilitas yang stabil dan berkelanjutan.
Strategi ini didasarkan pada pola pikir dua jalur RSI untuk menilai dan memfilter sebagian dari sinyal kebisingan. Namun, tidak ada strategi indikator tunggal yang sempurna, indikator RSI mudah menyesatkan, dan harus diperhatikan dengan hati-hati. Strategi ini menambahkan mekanisme stop loss dan stop loss untuk mengendalikan risiko, yang sangat diperlukan.
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © DojiEmoji
//@version=4
strategy("[KL] RSI 14 + 10 Strategy",overlay=true)
backtest_timeframe_start = input(defval = timestamp("01 Jan 2015 13:30 +0000"), title = "Backtest Start Time", type = input.time)
//backtest_timeframe_end = input(defval = timestamp("19 Mar 2021 19:30 +0000"), title = "Backtest End Time", type = input.time)
TARGET_PROFIT_MODE = input(false,title="Exit when Risk:Reward met")
REWARD_RATIO = input(3,title="Risk:[Reward] (i.e. 3) for exit")
// Trailing stop loss {
TSL_ON = input(true,title="Use trailing stop loss")
var entry_price = float(0)
ATR_multi_len = 26
ATR_multi = input(2, "ATR multiplier for stop loss")
ATR_buffer = atr(ATR_multi_len) * ATR_multi
plotchar(ATR_buffer, "ATR Buffer", "", location = location.top)
risk_reward_buffer = (atr(ATR_multi_len) * ATR_multi) * REWARD_RATIO
take_profit_long = low > entry_price + risk_reward_buffer
take_profit_short = low < entry_price - risk_reward_buffer
var bar_count = 0 //number of bars since entry
var trailing_SL_buffer = float(0)
var stop_loss_price = float(0)
stop_loss_price := max(stop_loss_price, close - trailing_SL_buffer)
// plot TSL line
trail_profit_line_color = color.green
showLine = strategy.position_size == 0
if showLine
trail_profit_line_color := color.black
stop_loss_price := close - trailing_SL_buffer
plot(stop_loss_price,color=trail_profit_line_color)
// }
// RSI
RSI_LOW = input(40,title="RSI entry")
RSI_HIGH = input(70,title="RSI exit")
rsi14 = rsi(close, 14)
rsi10 = rsi(close, 10)
if true// and time <= backtest_timeframe_end
buy_condition = rsi14 <= RSI_LOW and rsi10 < rsi14
exit_condition = rsi14 >= RSI_HIGH and rsi10 > rsi14
//ENTRY:
if strategy.position_size == 0 and buy_condition
entry_price := close
trailing_SL_buffer := ATR_buffer
stop_loss_price := close - ATR_buffer
strategy.entry("Long",strategy.long, comment="buy")
bar_count := 0
else if strategy.position_size > 0
bar_count := bar_count + 1
//EXIT:
// Case (A) hits trailing stop
if TSL_ON and strategy.position_size > 0 and close <= stop_loss_price
if close > entry_price
strategy.close("Long", comment="take profit [trailing]")
stop_loss_price := 0
else if close <= entry_price and bar_count
strategy.close("Long", comment="stop loss")
stop_loss_price := 0
bar_count := 0
// Case (B) take targeted profit relative to risk
if strategy.position_size > 0 and TARGET_PROFIT_MODE
if take_profit_long
strategy.close("Long", comment="take profits [risk:reward]")
stop_loss_price := 0
bar_count := 0
// Case (C)
if strategy.position_size > 0 and exit_condition
if take_profit_long
strategy.close("Long", comment="exit[rsi]")
stop_loss_price := 0
bar_count := 0