Тенденция RSI после бычьей стратегии

Автор:Чао Чжан, Дата: 2024-01-04 17:48:41
Тэги:

img

Обзор

Эта стратегия является трендовой после бычьей стратегии, которая использует индикатор RSI для определения тренда и индикатор MACD для входа на рынок.

Логика стратегии

Стратегия в основном опирается на индикатор RSI для определения направления тренда. Когда RSI пересекает установленную длинную линию (по умолчанию 21), считается, что рынок может перейти в восходящий тренд. В это время, если MACD уже находится в нисходящем тренде, можно судить, что он находится в точке перехода, что является хорошей возможностью для длинного хода.

Кроме того, стратегия также вводит линию EMA (по умолчанию 200 периодов) в качестве фильтра тренда. Только тогда, когда цена выше линии EMA, будет рассматриваться длинная торговля. Это может эффективно фильтровать поддельные перевороты, когда тенденция неясна или снижается.

На стороне стоп-лосса стратегия также устанавливает регулярную линию стоп-лосса и линию экстренного стоп-лосса. Когда RSI пересекается ниже регулярной линии стоп-лосса (по умолчанию 86), закрыть позицию; если цена резко падает и RSI пересекается ниже линии экстренного стоп-лосса (по умолчанию 73), закрыть позицию безоговорочно, чтобы контролировать максимальную потерю.

Анализ преимуществ

  • Используйте RSI для выявления точек перелома, с MACD для фильтрации ложных записей.
  • Введите линию EMA для определения основного тренда.
  • Используйте как регулярную стоп-потерю, так и аварийную стоп-потерю для контроля рисков.

Анализ рисков

  • Сигналы отмены RSI могут иметь ошибочные оценки.
  • Линия EMA не может своевременно реагировать на серьезные изменения тенденций.
  • Индикатор однократной остановки может преждевременно остановить прибыльные сделки.

Руководство по оптимизации

  • Показатели объема или соотношение бычьих/медвежьих свечей могут быть введены в качестве вспомогательных инструментов для оценки для улучшения точности ввода.
  • Система скользящей средней может быть скорректирована для динамического отслеживания тенденции последних N дней.
  • Добавить более продвинутые механизмы стоп-лосса, такие как перемещение стоп-лосса или статистический стоп-лосс, чтобы сделать стоп-лосс более гибким.

Резюме

В целом, эта стратегия является относительно традиционной тенденцией, следующей за бычьей стратегией. Она идентифицирует точки переворота с помощью RSI, фильтрует ошибочные оценки с помощью MACD, определяет основные тенденции с помощью EMA и контролирует риски с помощью стоп-лосса. Стратегия довольно проста и интуитивно понятна и имеет некоторое преимущество в оценке переворотов рынка, что делает ее хорошей отправной точкой для стратегии торговли альго. Но все еще есть большое пространство для дальнейших улучшений путем оптимизации сигналов входа, судей тренда и механизмов стоп-лосса.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dravitch
//@version=4
strategy("RSI - BULL RUN (Improved)", overlay=true)

// Input
UseEmergency = input(true, "Use Emergency Exit?")
RSIlong = input(21, "RSI Long Cross")
RSIcloseLong = input(86, "RSI Close Long Position")

EmergencycloseLong = input(73, "RSI Emergency Close Long Position")
UseEMAFilter = input(true, "Use EMA Trend Filter")
EMAlength = input(200, "EMA Length for Trend Filter")  // Utiliser 200 pour SMMA

// RSI
rsiValue = rsi(close, 14)

// MACD
[macdLine, signalLine, _] = macd(close, 12, 26, 9)

// EMA Trend Filter
emaTrend = sma(close, EMAlength)  // Utiliser sma pour la SMMA (Simple Moving Average)

// Conditions pour les trades longs
trendUp = close > emaTrend
trendDown = close < emaTrend
longCondition = crossover(rsiValue, RSIlong) and trendDown or crossunder(macdLine, signalLine) and crossover(rsiValue, RSIlong)
longCloseCondition = crossunder(rsiValue, RSIcloseLong) and trendUp
emergencyLongCondition = crossunder(rsiValue, EmergencycloseLong) 

// Plots
plot(rsiValue, color=color.white, linewidth=2, title="RSI")

// Strategy
if (longCondition)
    strategy.entry("Long", strategy.long, alert_message='RSI Long Cross: LONG')
if (longCloseCondition)
    strategy.close("Long", alert_message='RSI Close Long Position')
if (emergencyLongCondition and UseEmergency)
    strategy.close("Long", alert_message='RSI Emergency Close Long')

// Plot EMA Trend Filter in a separate pane
plot(emaTrend, color=color.rgb(163, 0, 122), title="EMA Trend Filter", linewidth=2, style=plot.style_line, transp=0)
hline(0, "Zero Line", color=color.gray)

Больше