
Обзор
Стратегия торговли основана на отклонениях между относительно сильным индикатором (RSI) и ценовым движением и предназначена для захвата потенциальных возможностей для изменения тренда. Стратегия генерирует сигналы покупки и продажи путем обнаружения многоголовых отклонений и пустых отклонений. Когда RSI отклоняется от цены, это указывает на то, что текущая тенденция может скоро измениться, и предоставляет потенциальные возможности для торговли.
Стратегический принцип
- Расчет RSI в течение заданного периода.
- По сравнению с ценовым и RSI движением в течение определенного периода в прошлом, можно определить, существует ли множественное отклонение или пустое отклонение.
- Многоголовое отклонение: цены были низкими, но RSI не был низким, что указывает на накопление энергии.
- Отвержение головы: цена была высокой, но RSI не был высоким, что свидетельствует о накоплении нисходящей энергии.
- Сигнал покупки возникает, когда обнаруживается многооднородное отклонение, и RSI пересекает и возвращается из перепроданной зоны.
- Сигнал продажи возникает, когда обнаруживается отклонение от пустого, а RSI пересекает и возвращается из-под зоны сверхпокупки crossed.
Стратегические преимущества
- Поймать обратный тренд: идентифицируя отклонения RSI от цены, стратегия может создать торговый сигнал в начале обратного тренда, предоставляя трейдерам возможность раннего расположения.
- Простая в использовании: стратегия основана на классическом RSI-индикаторе, простые расчеты, параметры легко понять и настроить, подходит для использования всеми типами трейдеров.
- Применимость к нескольким рынкам: Стратегия отклонения от RSI может применяться к различным финансовым рынкам, таким как акции, фьючерсы, валюты и т. Д., Имеет широкое применение.
Стратегический риск
- Ложные сигналы: не все отклонения от RSI могут привести к фактическому обратному тренду, иногда появляются ложные сигналы, которые приводят к убыткам в торговле.
- Задержка: отклонения от RSI обычно происходят на ранних стадиях обратного тренда, но не все сигналы отклонения могут немедленно вызвать обратный тренд, может быть определенная задержка.
- Чувствительные к параметрам: эффективность стратегии может быть чувствительна к параметрам, таким как цикл RSI, перекуп и перепродажа, и другие параметры, и различные параметры могут привести к различным результатам торговли.
Направление оптимизации стратегии
- В сочетании с другими показателями: использование RSI в сочетании с другими техническими показателями (например, с движущейся средней, MACD и т. Д.), Чтобы повысить надежность подтверждения сигнала.
- Динамическая корректировка параметров: в зависимости от рыночных условий и характеристик активов, динамическая корректировка цикла расчета RSI, параметров, таких как перекуп и перепродажа, чтобы адаптироваться к различным рыночным условиям.
- Присоединение к управлению рисками: введение в стратегию механизмов остановки и сдерживания потерь, контроль риска по отдельным сделкам, повышение прибыли после корректировки риска стратегии.
- Анализ в разных временных масштабах (например, дневная линия, 4-часовая линия и т. д.) для анализа отклонений RSI и поймания возможностей для перехода на разных уровнях.
Подвести итог
Трейдинговые стратегии, основанные на отклонении от RSI, идентифицируют потенциальные возможности для отклонения от тренда, захватывая отклонения между показателем RSI и ценовым движением. Стратегии просты в использовании и применимы к нескольким финансовым рынкам. Тем не менее, трейдеры должны обращать внимание на такие факторы риска, как ложные сигналы, отставание и чувствительность к параметрам.
Исходный код стратегии
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("RSI Divergence Strategy", overlay=true)
// Input parameters
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.int(70, title="RSI Overbought Level")
rsiOversold = input.int(30, title="RSI Oversold Level")
lookback = input.int(5, title="Lookback Period for Divergence")
// Calculate RSI
rsi = ta.rsi(close, rsiLength)
// Function to detect bullish divergence
bullishDivergence(price, rsi, lookback) =>
var bool bullDiv = false
for i = 1 to lookback
if (low[i] < low and rsi[i] > rsi)
bullDiv := true
bullDiv
// Function to detect bearish divergence
bearishDivergence(price, rsi, lookback) =>
var bool bearDiv = false
for i = 1 to lookback
if (high[i] > high and rsi[i] < rsi)
bearDiv := true
bearDiv
// Detect bullish and bearish divergence
bullDiv = bullishDivergence(close, rsi, lookback)
bearDiv = bearishDivergence(close, rsi, lookback)
// Plot RSI
hline(rsiOverbought, "Overbought", color=color.red)
hline(rsiOversold, "Oversold", color=color.green)
plot(rsi, title="RSI", color=color.blue)
// Generate buy signal on bullish divergence
if (bullDiv and ta.crossover(rsi, rsiOversold))
strategy.entry("Buy", strategy.long)
// Generate sell signal on bearish divergence
if (bearDiv and ta.crossunder(rsi, rsiOverbought))
strategy.entry("Sell", strategy.short)
// Plot buy/sell signals on chart
plotshape(series=bullDiv, location=location.belowbar, color=color.green, style=shape.labelup, text="Bull Div")
plotshape(series=bearDiv, location=location.abovebar, color=color.red, style=shape.labeldown, text="Bear Div")