
RSI-обратная стратегия - это количественная торговая стратегия, которая использует относительно сильный RSI, чтобы идентифицировать ситуацию с перекупкой и перепродажей, чтобы совершить покупку и продажу в точке переворота. Эта стратегия получает прибыль, устанавливая понижение RSI в зоне перекупа и в зоне перепродажи, делая пустоту, когда RSI входит в зону перекупа, и делая прибыль, когда RSI входит в зону перепродажи.
Эта стратегия основана на следующих принципах:
RSI может отражать, находится ли рынок в настоящее время в состоянии перекупа или перепродажи. RSI определяет степень перекупа или перепродажи на текущем рынке, рассчитывая соотношение среднего роста к среднему падению за определенный период времени и измеряя относительную силу плюсовой и пустой динамики.
Когда RSI входит в зону сверхпокупа (обычно считается сверхпокупающим, когда RSI выше 70), это означает, что многосторонний импульс уже силен. В это время число трейдеров, удерживающих позиции позиционирования, будет больше, и пространство для продолжения позиционирования ограничено.
Когда RSI входит в зону перепродажи (обычно считается, что RSI меньше 30 - это перепродажа), это означает, что рынок уже очень силен, и в это время число трейдеров, удерживающих позиции по понижению, будет больше, и пространство для продолжения падения ограничено, и цены могут продолжать расти, чтобы перевернуть состояние перепродажи.
Таким образом, можно установить RSI на 90-й и 10-й отметки в зоне сверхпокупа, чтобы сделать пробел, когда RSI входит в зону сверхпокупа, и сделать лишний, когда RSI входит в зону сверхпродажи, чтобы поймать обратный поворот.
В частности, основная логика этой стратегии заключается в следующем:
Вычислить значение RSI, используя закрытие цены в качестве источника для RSI, длительностью 2 цикла.
Когда RSI превышает 90, это означает, что вы входите в зону сверхпокупок и открываете позиции. Когда RSI превышает 10, это означает, что вы входите в зону сверхпродаж и открываете позиции.
Для каждой открытой позиции устанавливается стоп-стоп.
Для каждой открытой позиции устанавливается точка отслеживания стоп-лоса. Если RSI продолжает входить в более проданную зону, то следует отслеживать точку отслеживания стоп-лоса, чтобы сделать стоп-дистанцию более свободной.
Если RSI вновь выйдет в нейтральную зону в районе 50, можно остановить или свернуть позицию.
Если обратный ход не наступит, и открытие позиции более чем на 3 K-линии не достигнет условий остановки или остановки, то обязательная ликвидация позиции предотвращает большие потери, вызванные чрезмерным удержанием позиции.
Стратегия обратного отсчета RSI имеет следующие преимущества:
Использование RSI для определения перекупа и перепродажи позволяет эффективно улавливать переломные моменты рынка. RSI является точным в определении перекупа и перепродажи, и переход имеет более высокий уровень успеха.
Стратегия обратного трейдинга обладает систематическим преимуществом в том, что она позволяет продолжать торговлю в соответствии с ветром.
Стратегия включает в себя механизм стоп-лосса, который позволяет эффективно контролировать убытки от одной сделки. Даже если обратный ход не удается, стоп-лосса может контролировать убытки в определенном диапазоне.
Следить за остановкой позволяет гибко корректировать стоп-дистанцию в зависимости от того, продолжается ли цена, чтобы гарантировать, что остановка будет работать, а также добиться отслеживания большего разрыва.
Принудительный стоп-лосс гарантирует, что сделки, которые не могут быть возвращены в течение длительного периода времени, могут быть ликвидированы, не принося неограниченный срок убытков.
Параметры RSI могут быть изменены в зависимости от рынка, что повышает адаптивность стратегии.
В этой стратегии также есть некоторые риски, о которых следует помнить:
RSI-обратный отклик как стратегия торговли техническими показателями, результаты которого могут быть рискованными для корректировки кривой. Успех отклонения в реальном диапазоне может быть ниже, чем результаты отклик.
Хотя RSI может судить о перекупе и перепродаже, он не может предсказать точную точку отклонения. Существует риск того, что после применения этой стратегии не будет никакого отклонения, и цена продолжит работать.
Определенные стратегией RSI зоны перекупа и перепродажи могут быть необоснованными, а если их установить неправильно, то это может привести к пропущенному повороту или повороту перед ночным прорывом.
Если реверс не достигнет остановки, то вероятность того, что реверс снова вернется, существует, и в этом случае остановка может не иметь сделки.
Стоп-стоп устанавливается необоснованно, слишком близко может быть остановлено, слишком далеко - потеряет смысл.
Кроме того, комиссионные могут оказать определенное влияние на прибыль.
Помимо этого, RSI может быть оптимизирована в следующих аспектах:
Тестирование различных параметров RSI для поиска оптимального сочетания параметров, таких как длина RSI, предел сверхпокупки, предел сверхпродажи и т. д.
Добавление дополнительных условий фильтрации, предотвращающих ложный обратный шум, например, определение зоны высокой вероятности обратного отсчета в сочетании с индикатором MACD.
Оптимизация стратегий остановки убытков, такие как остановка в соответствии с ATR, установка остановки убытков в зависимости от волатильности и т. д.
Оптимизируйте стратегию остановки, установите мобильную остановку, отслеживайте большую разницу в цене и т.д.
Включение вспомогательных решений в модели машинного обучения повышает вероятность успешного обращения вспять.
Испытание данных для разных рынков и сортов, корректировка параметров для достижения наилучших результатов на диске.
В сочетании с объемом сделок, обратный сигнал рассматривается только в случае увеличения объема сделок.
В целом, RSI-инверсия использует RSI-индикатор, чтобы идентифицировать состояние рынка сверхпокупки и сверхпродажи, и торгует в точке переворота, чтобы получить хороший систематический доход. Однако эта стратегия также имеет определенный риск, требующий оптимизированного тестирования параметров RSI и стратегии стоп-стоп, дополненной другими фильтрующими показателями для уменьшения ошибочных сделок. Если подход правильный, RSI-инверсия может стать эффективным стратегическим модулем в системе количественного трейдинга.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Copyright (c) 2021-present, RicMos
//study("RSI2 Sell Strategy, overlay=true)
//------------------------------------------USER VARIABLE DEFINITIONS --------------------------------------
var float lots = 0.1
//var float fixed_commission = 0.6 // forex pairs commission value USD per position size two sides
var float fixed_commission = 10 // BTC commission value USD per position size two sides
//var float money = 10000 //forex pairs position size
var float money = 0.3333 //BTC position size
strategy(title="RSI2 Sell Strategy", commission_type=strategy.commission.cash_per_order, calc_on_every_tick =true, commission_value = fixed_commission/2, overlay=true, default_qty_value= lots*100000, initial_capital=1000, currency = "USD", calc_on_order_fills = false)
len = input(2, minval=1, title="RSI Length")
src = input(close, "RSI Source", type = input.source)
upRsi = rma(max(change(src), 0), len)
downRsi = rma(-min(change(src), 0), len)
rsi = downRsi == 0 ? 100 : upRsi == 0 ? 0 : 100 - (100 / (1 + upRsi / downRsi))
var color buyColor = color.blue
var color sellColor = color.red
plotshape(rsi <= 10 ? low : na, title="Arrow Up", style=shape.triangleup, location=location.belowbar, size=size.tiny, color=buyColor)
plotshape(rsi >= 90 ? high : na, title="Arrow Down", style=shape.triangledown, location=location.abovebar, size=size.tiny, color=sellColor)
// long = rsi <= 10
// var float longsl = 0
// var int long_ts_points = 0
// if long
// longsl:= low
// long_ts_points := 200
// if rsi >= 70
// long_ts_points := 100
// else if rsi >= 80
// long_ts_points := 80
// plot (longsl)
// var int barsPassed = 0
// barsPassed := barssince(long)
// if long
// strategy.entry("long", long = strategy.long, qty = 10000, stop = high)
// strategy.exit("slLo", from_entry="long", stop = longsl-0.0002, trail_points = long_ts_points )
// //strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
// strategy.cancel_all(barsPassed > 3 and not long)
short = rsi >= 90
var float shortsl = 0
var int short_ts_points = 0
//var bool stClose = 0
if short
shortsl:= high
short_ts_points := 200
if rsi <= 30
short_ts_points := 100
//stClose :=1
else if rsi <= 20
short_ts_points := 80
//else
//stClose := 0
plot (shortsl)
var int barsPassedSh = 0
barsPassedSh := barssince(short)
if short
strategy.entry("short", long = strategy.short, qty = money, stop = low)
strategy.exit("slSh", from_entry="short", stop = shortsl, trail_points = short_ts_points, trail_offset =20 )
//strategy.close("short", comment="rsi<30", when = stClose)
//strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
strategy.cancel_all(barsPassedSh > 3 and not short)