
Согласно техническому анализу, RSI выше 70 должен представлять собой состояние перекупа и, следовательно, относится к сигналу продажи. Криптовалюты представляют собой совершенно новый класс активов, который реконструирует концепцию технического анализа.
Построение трендовой торговой стратегии, основанной на RSI, которая обычно считается показателем обратного направления, может показаться противоречащим интуиции. Но, как показывают более 200 обратных тестов, это очень интересная долгосрочная стратегия.
Стратегия предполагает, что 30% от имеющихся средств для каждого ордера будут использоваться для торгов. При этом учитывается 0.1% от комиссионных сделок, которые соответствуют базовым сборам Coinbase (крупнейшей в мире криптовалютной биржи).
Эта стратегия использует 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())