Стратегия торговли с отслеживанием остановки потерь по показателю RSI

Автор:Чао Чжан, Дата: 2024-03-28 17:56:58
Тэги:

img

Обзор

Эта стратегия использует индикатор относительной силы (RSI) для определения условий перепроданного рынка. Когда RSI падает ниже 30, вводится длинная позиция, и цена остановки потери устанавливается на 98,5% от цены входа. Основная идея этой стратегии заключается в том, чтобы войти на рынок, когда появляется сигнал перепроданности, строго контролируя риск. Как только цена падает ниже цены остановки потери, позиция немедленно закрывается, чтобы остановить потерю.

Принцип стратегии

  1. Вычислить показатель RSI с использованием цен закрытия 14 баров.
  2. Когда RSI падает ниже 30, генерируется сигнал перепроданности, и вводится длинная позиция.
  3. В момент входа записывать входную цену и рассчитывать цену стоп-лосса на основе входной цены и процента стоп-лосса (1,5%).
  4. Когда цена падает ниже цены стоп-лосса, немедленно закрыть позицию, чтобы остановить потерю.
  5. После закрытия позиции, сбросить цену входа и цену остановки потери, и ждать следующей возможности входа.

Преимущества стратегии

  1. Простые и понятные, с четкой логикой, подходящие для обучения и использования новичками.
  2. Строгий контроль рисков путем установления цены стоп-лосса. Как только цена стоп-лосса активируется, позиция немедленно закрывается, минимизируя расширение потерь.
  3. Использует индикатор RSI для определения условий перепродажи, что позволяет вовремя выйти на рынок после короткого периода перепродажи, чтобы воспользоваться возможностями отскока.
  4. Код является кратким и эффективным, с быстрой скоростью исполнения, обеспечивая, чтобы торговые сигналы не были упущены.

Стратегические риски

  1. Показатель RSI является отстающим, и могут быть ситуации, когда показатель перепродан, но цена продолжает падать.
  2. Фиксированный процент стоп-лосса может быть не в состоянии динамически реагировать на волатильность рынка. В периоды интенсивных колебаний рынка фиксированный стоп-лосс может привести к частым стоп-оутам, упуская последующие возможности отскока.
  3. Стратегия не имеет целевой прибыли и полностью опирается на остановку потерь для контроля риска, что может привести к низкой общей прибыльности.

Направления оптимизации стратегии

  1. Ввести другие технические индикаторы помимо индикатора RSI, чтобы помочь в суждении и улучшить точность сигнала, такие как MACD, KDJ и т. д.
  2. Оптимизировать процент стоп-лосса путем тестирования различных процентов стоп-лосса на основе исторических данных, чтобы найти оптимальную настройку стоп-лосса.
  3. Добавить динамические механизмы остановки потери, такие как отслеживание остановки потери в дополнение к фиксированной остановке потери, чтобы сделать остановки более гибкими и эффективными.
  4. Установите цели прибыли и активно закрывайте позиции, когда достигнут определенный уровень прибыли, вместо того, чтобы полагаться исключительно на остановку потерь для выхода.

Резюме

Стратегия RSI Stop Loss Tracking использует индикатор RSI для определения условий перепродажи при установке фиксированного процента стоп-лосса для строгого контроля риска. Общая идея проста и проста в понимании, подходит для обучения и использования новичков. Однако эта стратегия также имеет такие проблемы, как отставание, простой механизм стоп-лосса и низкая рентабельность.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('RSI Trading Bot', overlay=true)

// RSI threshold value and stop loss percentage
rsiThreshold = 30
stopLossPercentage = 1.5

// Calculate RSI
rsiLength = 14
rsiValue = ta.rsi(close, rsiLength)

// Initialize variables
var bool positionOpen = false
var float entryPrice = na
var float stopLossPrice = na

// Enter position when RSI crosses below threshold
if ta.crossunder(rsiValue, rsiThreshold)
    strategy.entry('Long', strategy.long)
    positionOpen := true
    entryPrice := close
    stopLossPrice := entryPrice * (1 - stopLossPercentage / 100)
    stopLossPrice

// Exit position on stop loss
if positionOpen and close < stopLossPrice
    strategy.close('Long')
    positionOpen := false
    entryPrice := na
    stopLossPrice := na
    stopLossPrice

// Plot entry and stop loss prices
plot(entryPrice, title='Entry Price', color=color.new(color.green, 0), linewidth=2)
plot(stopLossPrice, title='Stop Loss Price', color=color.new(color.red, 0), linewidth=2)



Больше