
Strategi ini menggunakan indikator yang relatif kuat (RSI) dan rata-rata bergerak sederhana (SMA) untuk mengidentifikasi potensi kondisi overbought dan peluang reversal, dan untuk mengoptimalkan rasio risiko-keuntungan dengan cara membangun posisi secara batch. Inti dari strategi ini adalah bahwa harga aset berada dalam tren menurun jangka panjang dan terjadi short-term overbought dan posisi kosong ketika terjadi oversold atau sinyal perubahan tren di pasar.
Strategi ini terdiri dari beberapa langkah utama:
Strategi berbalik overbought RSI adalah strategi perdagangan garis pendek yang menggabungkan analisis teknis dan manajemen risiko. Strategi ini bertujuan untuk menangkap peluang berbalik pasar yang potensial dengan memanfaatkan sinyal overbought RSI dan penilaian tren SMA.
/*backtest
start: 2024-08-26 00:00:00
end: 2024-09-24 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TPS Short Strategy by Larry Conners", overlay=true)
// Define parameters as inputs
sma_length_200 = input.int(200, title="200-Day SMA Length")
rsi_length_2 = input.int(2, title="2-Period RSI Length")
sma_length_10 = input.int(10, title="10-Day SMA Length")
sma_length_30 = input.int(30, title="30-Day SMA Length")
// Define colors as RGB values
color_sma_200 = input.color(color.rgb(0, 0, 255), title="200-Day SMA Color") // Blue
color_sma_10 = input.color(color.rgb(255, 0, 0), title="10-Day SMA Color") // Red
color_sma_30 = input.color(color.rgb(0, 255, 0), title="30-Day SMA Color") // Green
// Calculate indicators
sma_200 = ta.sma(close, sma_length_200)
rsi_2 = ta.rsi(close, rsi_length_2)
sma_10 = ta.sma(close, sma_length_10)
sma_30 = ta.sma(close, sma_length_30)
// Define conditions
below_sma_200 = close < sma_200
rsi_2_above_75_two_days = rsi_2[1] > 75 and rsi_2 > 75
price_higher_than_entry = na(strategy.opentrades.entry_price(0)) ? false : close > strategy.opentrades.entry_price(0)
// Entry conditions
if (below_sma_200 and rsi_2_above_75_two_days and na(strategy.opentrades.entry_price(0)))
strategy.entry("Short", strategy.short, qty=1) // Short 10% of the position
// Scaling in conditions
if (price_higher_than_entry)
strategy.entry("Short2", strategy.short, qty=2) // Short 20% more of the position
if (price_higher_than_entry)
strategy.entry("Short3", strategy.short, qty=3) // Short 30% more of the position
if (price_higher_than_entry)
strategy.entry("Short4", strategy.short, qty=4) // Short 40% more of the position
// Exit conditions
exit_condition_rsi_below_30 = rsi_2 < 30
exit_condition_sma_cross = ta.crossover(sma_10, sma_30)
if (exit_condition_rsi_below_30 or exit_condition_sma_cross)
strategy.close_all() // Close all positions
// Plot indicators
plot(sma_200, color=color_sma_200, title="200-Day SMA")
plot(sma_10, color=color_sma_10, title="10-Day SMA")
plot(sma_30, color=color_sma_30, title="30-Day SMA")