Strategi ini didasarkan pada sinyal oversold dari indikator Relative Strength Index (RSI), membeli pada level terendah intraday dan kemudian menetapkan persentase tetap take profit dan stop loss untuk backtest probabilitas strategi memukul take profit dan stop loss. Ide utama adalah untuk memanfaatkan peluang pembalikan ketika indikator RSI oversold, masuk pada level terendah intraday, dan mencari keuntungan jangka pendek yang dibawa oleh pembalikan. Pada saat yang sama, menggunakan moving average untuk menyaring tren dan hanya pergi lama ketika harga di atas moving average.
Strategi RSI2 mencoba untuk menangkap peluang pembalikan intraday setelah indikator RSI oversold, dan mengendalikan risiko dengan menetapkan persentase tetap take-profit dan stop-loss, sambil menggunakan moving average jangka panjang untuk menyaring sinyal kontra-trend. Strategi ini sederhana dan cocok untuk pedagang spekulatif jangka pendek. Namun, strategi ini juga memiliki keterbatasan tertentu, seperti kurangnya penilaian tren, kesulitan membeli dengan akurat di titik terendah, dan fixed take-profit dan stop-loss membatasi potensi keuntungan.
/*backtest start: 2024-03-01 00:00:00 end: 2024-03-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © rajk1987 //@version=5 strategy("RSI2 strategy Raj", overlay=true, margin_long=100, margin_short=100) rsi_len = input.int( 2, title = "RSI Length", group = "Indicators") rsi_os = input.float(10, title = "RSI Oversold", group = "Indicators") rsi_ob = input.float(90, title = "RSI OverBrought", group = "Indicators") max_los = input.float(3,title = "Max Loss Percent", group = "Indicators") tar_per = input.float(6,title = "Target Percent",group = "Indicators") //Get the rsi value of the stock rsi = ta.rsi(close, rsi_len) sma = ta.sma(close,200) var ent_dat = 0 var tar = 0.0 var los = 0.0 var bp = 0.0 if ((close > sma) and (rsi < rsi_os)) strategy.entry("RSI2 Long Entry", strategy.long,1) ent_dat := time(timeframe = timeframe.period) if(ent_dat == time(timeframe = timeframe.period)) bp := low //high/2 + low/2 tar := bp * (1 + (tar_per/100)) los := bp * (1 - (max_los/100)) if (time(timeframe = timeframe.period) > ent_dat) strategy.exit("RSI2 Exit", "RSI2 Long Entry",qty = 1, limit = tar, stop = los, comment_profit = "P", comment_loss = "L") //plot(rsi,"RSI") //plot(bp,"BP") //plot(tar,"TAR") //plot(los,"LOS")