Эта стратегия основана на RSI, которая характеризуется равномерным возвращением. Когда RSI перекупает и перепродает, возникает возврат, создающий торговые возможности. Эта стратегия использует RSI, чтобы оценить состояние перекупа и перепродажи, создавать свободные позиции в соответствии с равномерным возвращением для целей систематизации торговли.
Принципы стратегии:
Вычислить значение RSI, установив линию сверхпокупа и линию сверхпродажи, типичные параметры - линия сверхпокупа 60, линия сверхпродажи 30
Когда RSI сверху вниз пересекает линию перекупа, проводится операция по продаже и создается короткая позиция.
Когда RSI пересекает линию oversold снизу вверх, совершайте покупку, чтобы создать позицию.
Стоп-линия многопозиционной позиции умножена на цену входа в размере (((1-стоп-процент), стоп-линия короткой позиции умножена на цену входа в размере (((1+стоп-процент) .
Стоп-экст, когда цена пробивает линию стоп-убытков.
Преимущества этой стратегии включают в себя:
Используя обратную характеристику RSI, можно по случаю поймать торговые возможности, связанные с изменением тренда.
Применение метода прорывного строительства позиций позволяет вовремя зафиксировать изменение тренда.
Устанавливайте линию стоп-лосса, чтобы контролировать одиночные потери.
Риски этой стратегии включают в себя:
RSI имеет высокую вероятность ложного сигнала, который следует подтвердить в сочетании с другими показателями.
Стоп-потери, находящиеся вблизи точек входа, часто остановляются, поэтому следует расширить зону остановки.
Неправильный выбор времени возвращения к сделке может привести к длительному времени удержания позиции.
В общем, стратегия RSI Average Line Regression заключается в том, чтобы торговать, захватывая возможности для возврата RSI. Эта стратегия может эффективно контролировать одиночные потери. Однако RSI имеет низкую надежность, и инвесторам необходимо осторожно ее использовать, а также использовать другие технические показатели для подтверждения и оптимизации механизмов остановки убытков с целью получения долгосрочной стабильной прибыли.
/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
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 Bot Strategy',title='Quadency Mean Reversion Bot Strategy', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.08)
//Backtest dates
start = input(defval = timestamp("08 Mar 2021 00:00 -0600"), title = "Start Time", type = input.time)
finish = input(defval = timestamp("9 Mar 2021 23:59 -0600"), title = "Start Time", type = input.time)
window() => true // create function "within window of time"
// Complete Control over RSI inputs and source price calculations
lengthRSI = input(14, minval=1)
source = input(title="Source", type=input.source, defval=close)
strat = input(title="Strategy", defval="Long/Short", options=["Long Only", "Long/Short", "Short Only"])
strat_val = strat == "Long Only" ? 1 : strat == "Long/Short" ? 0 : -1
stoploss = input(5.00, "Stop Loss %")
oversold= input(30)
overbought= input(60)
// Standard RSI Calculation
RSI = rsi(close, lengthRSI)
stLossLong=(1-(stoploss*.01))
stLossShort=(1+(stoploss*.01))
//Long and Short Strategy Logic
GoLong = crossunder(RSI, oversold) and window()
GoShort = crossover(RSI, overbought) and window()
// Strategy Entry and Exit
if (GoLong)
if strat_val > -1
strategy.entry("LONG", strategy.long)
if strat_val < 1
strategy.close("SHORT")
if (GoShort)
if strat_val > -1
strategy.close("LONG")
if strat_val < 1
strategy.entry("SHORT", strategy.short)
LongStopLoss = barssince(GoLong)<barssince(GoShort) and crossunder(low, valuewhen(GoLong, close, 0)*stLossLong)
ShortStopLoss = barssince(GoLong)>barssince(GoShort) and crossover(high, valuewhen(GoShort, close, 0)*stLossShort)
if (ShortStopLoss)
strategy.close("SHORT")
if (LongStopLoss)
strategy.close("LONG")