
This strategy combines the RSI indicator with price breakthroughs to find rotation opportunities within a certain trend and range-bound market, so as to make short-term trades and pursue highly efficient short-term profits.
Therefore, this strategy integrates multiple dimensions of judgment logic to conduct short-term profitable rotation operations utilizing the buy and sell signals generated by RSI indicator, under certain trends and breakthrough chances. It can effectively seize the reversal bounce opportunity when the market is extremely oversold, as well as the retracement chance when extremely overbought in the short term.
This strategy leverages RSI indicator to identify short-term reversal opportunities from extremely overbought/oversold scenarios, and conducts short-term profitable rotation operations combined with price breakthroughs. Its characteristics are pursuing short-term efficiency, easy operation, limited risks, and hence extremely suitable for short-term traders to use under certain market conditions. Attention should be paid to judging the overall major trend, parameter optimization etc., in order to obtain better performance.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © relevantLeader16058
//@version=4
strategy(shorttitle='RSI Classic Strategy',title='RSI Classic Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true
// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)
overbought= input(60)
//Entry
strategy.entry(id="long", long = true, when = RSI< oversold and window())
//Exit
//RSI
strategy.close("long", when = RSI > overbought and window())