Тенденция RSI-MA в соответствии со стратегией

Автор:Чао Чжан, Дата: 2023-12-11 16:14:07
Тэги:

img

Обзор

Эта стратегия называется RSI-MA Trend Following Strategy. Идея состоит в том, чтобы использовать как индикатор RSI, так и линии MA для оценки ценовых тенденций и генерации торговых сигналов. Торговые сигналы генерируются, когда индикатор RSI превышает заранее установленные верхние и нижние пороги, в то время как линии MA используются для фильтрации ложных сигналов, выпуская сигналы только тогда, когда цены продолжают расти или падать. Это позволяет поддерживать приличный потенциал прибыли, эффективно фильтруя движения цен в пределах диапазона.

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

Основными компонентами этой стратегии являются индикатор RSI и линии MA. RSI используется для определения уровней перекупа и перепродажи, а MA используется для определения направленности тренда.

  1. Вычислить значение индикатора RSI, и установить верхний порог на 90 и нижний порог на 10. Читание RSI выше 90 означает сигнал перекупленности, в то время как чтение ниже 10 означает сигнал перепроданности.

  2. Вычислить линию MA определенного периода (например, 4 дня). Когда цены постоянно растут, линия MA наклоняется вверх. Когда цены постоянно падают, линия MA наклоняется вниз.

  3. Когда RSI превышает 90 и линия MA наклоняется вверх, перейдите на короткий. Когда RSI падает ниже 10 и линия MA наклоняется вниз, перейдите на длинный.

  4. Установите стоп-лосс на фиксированном количестве пунктов на контракт и получите прибыль по фиксированному проценту на контракт.

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

Эта стратегия сочетает в себе двойные фильтры индикатора RSI и линий MA, которые могут эффективно отфильтровывать ложные сигналы при движении цены в диапазоне. Между тем, настройки RSI избегают задержанных сигналов и сохраняют приличный потенциал прибыли. Использование MA для определения направленности тренда предотвращает торговлю против тренда. Кроме того, стратегия имеет простые параметры, которые легко понять и оптимизировать.

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

К основным рискам этой стратегии относятся:

  1. Внезапные события, вызывающие резкие скачки цен, могут не своевременно отражаться в показаниях RSI и MA, что приводит к большим потерям.

  2. На рынках с ограниченным диапазоном RSI и MA могут часто выпускать сигналы, что приводит к чрезмерной частоте торговли, что увеличивает затраты на транзакции и скольжение.

  3. Неправильные настройки параметров также могут повлиять на эффективность стратегии. Например, слишком широкие верхние/нижние пороги RSI приводят к задержкам сигналов, в то время как слишком узкие пороги приводят к слишком частым сигналам.

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

К областям дальнейшей оптимизации относятся:

  1. Проверить и оптимизировать параметры для различных продуктов и временных рамок, чтобы найти оптимальные комбинации параметров.

  2. Помимо RSI/MA, включать другие индикаторы, такие как KDJ, BOLL и т.д., чтобы установить более строгие фильтры сигналов и уменьшить ложные сигналы.

  3. Создать адаптивные механизмы стоп-лосса/приобретения прибыли, основанные на волатильности и ATR для динамической корректировки уровня цен.

  4. Добавление алгоритмов машинного обучения для автоматической корректировки параметров на основе меняющихся рыночных условий, реализация динамической оптимизации параметров.

Заключение

В целом эта стратегия RSI-MA довольно проста и практична, сочетая в себе элементы анализа тренда и анализа перекупа/перепродажи.


/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//This strategy is best used with the Chrome Extension AutoView for automating TradingView alerts.
//You can get the AutoView extension for FREE using the following link
//https://chrome.google.com/webstore/detail/autoview/okdhadoplaoehmeldlpakhpekjcpljmb?utm_source=chrome-app-launcher-info-dialog
strategy("4All", shorttitle="Strategy", overlay=false)

src = close
len = input(4, minval=1, title="Length")

up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=purple)
band1 = hline(90)
band0 = hline(10)
fill(band1, band0, color=purple, transp=90)

rsin = input(5)
sn = 100 - rsin
ln = 0 + rsin

short = crossover(rsi, sn)
long = crossunder(rsi, ln)

strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)

TP = input(15) * 10
SL = input(23) * 10
TS = input(0) * 10
CQ = 100

TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na

strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)

Больше