Краткосрочная количественная торговая стратегия, основанная на пересечении двойных скользящих средних, RSI и стохастических индикаторах

SMA RSI ATR
Дата создания: 2024-06-17 15:35:40 Последнее изменение: 2024-06-17 15:35:40
Копировать: 1 Количество просмотров: 617
1
Подписаться
1617
Подписчики

Краткосрочная количественная торговая стратегия, основанная на пересечении двойных скользящих средних, RSI и стохастических индикаторах

Обзор

Стратегия использует кросс двух движущихся средних на 20-й и 50-й день в качестве основного торгового сигнала, а в сочетании с RSI и случайным индикатором в качестве вспомогательного суждения, для двойного подтверждения торгового сигнала. Кроме того, стратегия использует ATR в качестве основы для остановки и остановки, чтобы управлять позициями с фиксированными рисками, чтобы получить стабильную прибыль при одновременном контроле риска.

Стратегический принцип

  1. Рассчитываются два скользящих средних значения: 20-дневная и 50-дневная, которые при прохождении долгосрочной средней линии через короткосрочную производят многосигнал; наоборот, производят пустой сигнал.
  2. Введение RSI в качестве вспомогательного решения, когда RSI не достигает пределов перекупа или перепродажи.
  3. Введение случайного индикатора в качестве вспомогательного суждения, когда случайный индикатор K-линии не достиг пределов перекупа или перепродажи, только тогда можно рассматривать создание позиции.
  4. Используйте ATR для вычисления стоп- и стоп-позиций, в соответствии с 1: 2 риском-прибыль-по сравнению с установленной стоп- и стоп-ценой.
  5. При увеличении, стоп-позиция составляет наименьшую цену минус ATR, стоп-позиция - наибольшую цену плюс 2 ATR; при разрыве, стоп-позиция составляет наибольшую цену плюс ATR, стоп-позиция - наименьшую цену минус 2 ATR.

Стратегические преимущества

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

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

  1. Трендовые стратегии в условиях волатильности рынка способны создавать больше ложных сигналов, что приводит к частым сделкам и потерем капитала.
  2. Фиксированная стоп-процентная потеря может привести к чрезмерным одноразовым убыткам и ослабить кривую капитала.
  3. Недостаточное внимание к управлению позициями и управлению капиталом затрудняет реагирование на крайние ситуации.

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

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-05-17 00:00:00
end: 2024-06-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Cruce de Medias con Filtros de RSI y Estocástico", overlay=true)

// Definir parámetros de las medias móviles
fast_length = input(20, title="Periodo de Media Rápida")
slow_length = input(50, title="Periodo de Media Lenta")

// Calcular medias móviles
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)

// Añadir filtro RSI
rsi_length = input(7, title="Periodo del RSI")
rsi = ta.rsi(close, rsi_length)
rsi_overbought = input(70, title="RSI Sobrecomprado")
rsi_oversold = input(30, title="RSI Sobrevendido")

// Añadir filtro Estocástico
k_period = input(7, title="K Periodo del Estocástico")
d_period = input(3, title="D Periodo del Estocástico")
smooth_k = input(3, title="Suavización del Estocástico")
stoch_k = ta.sma(ta.stoch(close, high, low, k_period), smooth_k)
stoch_d = ta.sma(stoch_k, d_period)
stoch_overbought = input(80, title="Estocástico Sobrecomprado")
stoch_oversold = input(20, title="Estocástico Sobrevendido")

// Definir niveles de stop-loss y take-profit con ratio 2:1
risk = input(1, title="Riesgo en ATR")
reward_ratio = input(2, title="Ratio Riesgo/Beneficio")
atr_length = input(14, title="Periodo del ATR")
atr = ta.atr(atr_length)
stop_loss = risk * atr
take_profit = reward_ratio * stop_loss

// Señal de compra
long_condition = ta.crossover(fast_ma, slow_ma) and rsi < rsi_overbought and stoch_k < stoch_overbought
if (long_condition)
    strategy.entry("Compra", strategy.long)

// Señal de venta
short_condition = ta.crossunder(fast_ma, slow_ma) and rsi > rsi_oversold and stoch_k > stoch_oversold
if (short_condition)
    strategy.entry("Venta", strategy.short)

// Configurar Stop-Loss y Take-Profit para posiciones largas
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Compra", stop=low - stop_loss, limit=high + take_profit)

// Configurar Stop-Loss y Take-Profit para posiciones cortas
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Stop Loss", from_entry="Venta", stop=high + stop_loss, limit=low - take_profit)

// Plotear las medias móviles en el gráfico
plot(fast_ma, title="Media Rápida (50)", color=color.blue)
plot(slow_ma, title="Media Lenta (200)", color=color.red)

// Plotear RSI y Estocástico en subgráficos
hline(rsi_overbought, "RSI Sobrecomprado", color=color.red)
hline(rsi_oversold, "RSI Sobrevendido", color=color.green)
plot(rsi, title="RSI", color=color.orange, linewidth=2)
hline(stoch_overbought, "Estocástico Sobrecomprado", color=color.red)
hline(stoch_oversold, "Estocástico Sobrevendido", color=color.green)
plot(stoch_k, title="Estocástico K", color=color.purple, linewidth=2)
plot(stoch_d, title="Estocástico D", color=color.purple, linewidth=1, style=plot.style_stepline)