Согласно техническому анализу, RSI выше 70 должен сигнализировать о перекупленных условиях и, следовательно, сигнализировать о продаже. Криптовалюты представляют собой совершенно новый класс активов, который меняет концепцию технического анализа.
Создание стратегии торговли, основанной на тренде, основанной на RSI, который обычно считается противоположным индикатором, может показаться нелогичным.
Стратегия предполагает, что каждый заказ будет торговать 30% доступного капитала. В расчет принимается комиссионная за торговлю в размере 0,1%, соответствующая базовой комиссии, применяемой на Binance, крупнейшей в мире бирже криптовалют.
Эта стратегия идентифицирует перекупленные условия с RSI, чтобы определить направление тренда и получать прогрессивную прибыль после восходящего тренда. По сравнению с традиционным использованием RSI, эта стратегия предлагает новую перспективу. Строгое обратное тестирование показывает многообещающие результаты, но нам нужно отслеживать риски и оптимизировать параметры. В целом, она обеспечивает простой, практичный подход к количественной торговле.
/*backtest start: 2024-01-02 00:00:00 end: 2024-02-01 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=1 strategy(shorttitle='Trend-following RSI Scalping Strategy (by Coinrule)',title='Trend-following RSI Strategy ', overlay=true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, 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") fromDay = input(defval = 10, title = "From Day") fromYear = input(defval = 2020, title = "From Year") thruMonth = input(defval = 1, title = "Thru Month") thruDay = input(defval = 1, title = "Thru Day") thruYear = input(defval = 2112, title = "Thru Year") showDate = input(defval = true, title = "Show Date Range") 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 = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="long", long = true, when = RSI > 70 and window()) //Exit Take_profit= ((input (6))/100) longTakeProfit = strategy.position_avg_price * (1 + Take_profit) strategy.close("long", when = RSI < 55 or close > longTakeProfit and window())