Strategi ini berdasarkan isyarat oversell pada indeks yang agak kuat (RSI), membeli pada titik rendah dalam hari, kemudian menetapkan peratusan berhenti dan berhenti yang tetap, mengukur semula kebarangkalian strategi ketika menyentuh titik berhenti dan berhenti. Gagasan utama adalah untuk menggunakan peluang untuk berbalik ketika RSI oversold, campur tangan pada titik rendah dalam hari, dan mengambil keuntungan jangka pendek yang dibawa oleh berbalik.
Strategi RSI2 cuba untuk menangkap peluang berbalik dalam sehari selepas oversold RSI, mengawal risiko dengan menetapkan peratusan tetap untuk menghentikan kerugian, dan menggunakan garis rata-rata jangka panjang untuk memfilter isyarat yang bertentangan. Strategi ini mudah, sesuai untuk pedagang spekulasi garis pendek. Tetapi ia juga mempunyai beberapa batasan, seperti kekurangan trend, sukar untuk membeli dengan tepat pada titik terendah, dan berhenti berhenti tetap juga mengehadkan ruang keuntungan strategi di masa depan.
/*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")