Индикатор RSI Стратегия получения прибыли и остановки убытков на пересечении циклов

Автор:Чао Чжан, Дата: 2024-02-06 11:43:11
Тэги:

img

Обзор

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

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

Стратегия сначала использует технологию сглаживания SMA для расчета 26-недельной скользящей средней, как ориентир для оценки бычьего рынка. Затем рассчитывайте 4-недельное значение индикатора RSI, когда он пересекает ниже 30 в зоне перепроданности, считается, что рынок может восстановиться. В это время судите, может ли новый максимум параметра коротких дней прорваться через недавний новый максимум параметра длинных дней, указывая на то, что краткосрочная тенденция укрепляется. Если одновременно выполняются вышеперечисленные условия, выпускается длинный сигнал.

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

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

Стратегия имеет следующие преимущества:

  1. Используйте индикатор RSI для определения точек переворота с хорошей способностью к синхронизации.

  2. Применить новый механизм максимумов и минимумов, чтобы избежать ложных сигналов.

  3. Используйте ATR для получения прибыли и стоп-лосса для автоматического отслеживания оптимальной точки выхода.

  4. Гибкие параметры могут быть настроены на оптимальные уровни.

  5. Идея стратегии ясна и легко понятна, с сильной стабильностью.

Риски стратегии

Стратегия также имеет следующие риски:

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

  2. Диапазон прибыли ATR может быть установлен слишком большим или слишком маленьким, чтобы зафиксировать максимальную прибыль.

  3. Точка остановки потерь слишком близка и может быть нарушена.

  4. Недостаточные данные об обратных тестах могут переоценить уровень доходности стратегии.

Оптимизация стратегии

Стратегия может быть оптимизирована в следующих аспектах:

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

  2. Увеличить другие индикаторы для повышения точности стратегии, такие как MACD, KD и т.д.

  3. Оптимизировать механизм остановки потерь и динамически регулировать его в соответствии с диапазоном колебаний ATR.

  4. Проверьте эффект эффективности на различные торговые сорта.

  5. Сравните производительность различных типов стоп-лосса, таких как пропорциональный стоп-лосс, движущийся стоп-лосс и т.д.

Резюме

В целом, стратегия имеет относительно высокую способность получать стабильную прибыль. Она стоит отладки в реальных транзакциях и внедрения в эксплуатацию.


/*backtest
start: 2023-02-05 00:00:00
end: 2024-01-18 05:20:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//A translation from info found at http://backtestwizard.com/swing-trading-system-for-stocks/
strategy("Swing Trading System RSI", overlay=true)
source = close[1]

longperiod = input(26,"long week",minval=2,maxval=500,step=1)
s = request.security(syminfo.tickerid, "W", sma(close[1], longperiod)) // 1 Day
plot(s)

shortdays = input(21,"short days high period",minval=2,maxval=500,step=1)
longdays = input(50,"long days high period",minval=2,maxval=500,step=1)
rsiperiod = input(4,"rsi period",minval=2,maxval=500,step=1)
rsithresh = input(30,"rsi thresh",minval=2,maxval=500,step=1)

highcheck = highest(source,shortdays) == highest(source,longdays)
rsicheck = crossunder(rsi(source,rsiperiod),rsithresh)

longCondition = (highcheck) and (rsicheck) and source > s
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

profittarget = input(3,"profit target",minval=2,maxval=500,step=1)
stoploss = input(2,"stop target",minval=2,maxval=500,step=1)

exitCondition1 = source > strategy.position_avg_price + (atr(50) * profittarget)
exitCondition2 = source <  strategy.position_avg_price - (atr(50) * stoploss)

if (exitCondition1)
    strategy.close_all()
if (exitCondition2)
    strategy.close_all()


Больше