Estrategia de stop loss y take profit de promedio móvil suavizado con filtrado de tendencias y salida anormal

SMA RSI TR MA TP SL
Fecha de creación: 2024-06-03 16:54:04 Última modificación: 2024-06-03 16:54:04
Copiar: 7 Número de Visitas: 616
1
Seguir
1617
Seguidores

Estrategia de stop loss y take profit de promedio móvil suavizado con filtrado de tendencias y salida anormal

Descripción general

La estrategia utiliza indicadores como el SMA, el RSI, el TR y el MA de volumen para operar cuando se cumplen ciertas condiciones. La idea principal de la estrategia es comprar cuando el precio está por debajo del SMA200 y en una tendencia descendente, bajo volumen de operaciones y baja volatilidad, e ingresar un stop loss y un stop loss. La estrategia también tiene un mecanismo de salida anormal, es decir, salir de la operación cuando el RSI supera los 70 o el stop loss preestablecido.

Principio de estrategia

  1. Calcular indicadores como el SMA, el RSI, el volumen de operaciones MA y el MA TR
  2. Determinar si la tendencia actual es ascendente o descendente
  3. Determinar si el volumen de transacciones y la volatilidad actual están bajos
  4. La compra se realiza cuando el precio está por debajo de la SMA200 y cumple con las condiciones de bajo volumen de operaciones y baja volatilidad
  5. Establecer el Stop Loss como el 95% del precio de compra y el Stop Loss como el 150% del precio de compra
  6. Salir de la operación cuando el RSI supera los 70 o alcanza el punto de parada predeterminado
  7. Ponerse en posición cerrada cuando hay un cambio de tendencia y el precio supera la SMA

Análisis de las ventajas

  1. La estrategia combina varios indicadores técnicos que permiten un análisis más completo de la situación del mercado.
  2. Se puede evitar el comercio en condiciones de mercado desfavorables mediante filtros de tendencias y volúmenes de transacciones y condiciones de volatilidad.
  3. Establezca un punto de parada de pérdidas claro para controlar el riesgo de manera efectiva
  4. El mecanismo de salida de emergencia puede ser utilizado en determinadas situaciones para liquidar las posiciones a tiempo y evitar mayores pérdidas.

Análisis de riesgos

  1. La política depende de la configuración de varios parámetros, cuya elección puede afectar el rendimiento de la política
  2. En algunos casos, los precios pueden invertirse rápidamente después de que se activen las condiciones de compra, lo que genera pérdidas.
  3. La estrategia no tiene en cuenta los factores fundamentales que podrían afectar a los eventos importantes

Dirección de optimización

  1. Se puede considerar la introducción de más indicadores técnicos, como MACD, Brines, etc., para mejorar la precisión de entrada y salida
  2. Puede optimizar la configuración de la parada de pérdidas, como el uso de parada móvil o parada dinámica
  3. Los parámetros de la estrategia se pueden ajustar dinámicamente según las diferentes condiciones del mercado
  4. Se pueden agregar módulos de gestión de riesgos, como gestión de posiciones, gestión de fondos, etc.

Resumir

La estrategia utiliza una combinación de varios indicadores técnicos, combinando filtros de tendencia y volúmenes de transacción, condiciones de volatilidad para operar en situaciones específicas. Al mismo tiempo, el establecimiento de un mecanismo de suspensión de pérdidas y de salida de excepciones puede controlar eficazmente el riesgo. Sin embargo, la estrategia también tiene ciertas limitaciones, como la selección de parámetros, anomalías en el mercado y otros factores que pueden afectar el rendimiento de la estrategia.

Código Fuente de la Estrategia
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Strategia Stop Loss & Take Profit z Filtrem Trendu i Wyjątkiem", shorttitle="Smooth MA SL & TP with Exception", overlay=true)

// Parametry
tp_multiplier = input.float(1.5, title="Mnożnik Take Profit")
sl_percent = input.float(5, title="Procent Stop Loss")
wait_bars = input.int(3, title="Liczba Oczekiwanych Świec")
sma_period = input.int(200, title="Okres SMA")
rsi_period = input.int(14, title="Okres RSI")
vol_ma_period = input.int(20, title="Okres Średniej Wolumenu")
tr_ma_period = input.int(20, title="Okres Średniej Rzeczywistego Zakresu")

// Obliczenie Gładkiej Średniej Kroczącej
sma = ta.sma(close, sma_period)

// Obliczenie RSI
rsi = ta.rsi(close, rsi_period)

// Filtr Trendu
uptrend = close > sma
downtrend = close < sma

// Warunek konsolidacji: Niski wolumen i niska zmienność
niski_wolumen = volume < ta.sma(volume, vol_ma_period)
niska_zmienosc = ta.tr(true) < ta.sma(ta.tr(true), tr_ma_period)

// Warunek Wejścia (Long): Cena poniżej SMA 200 i filtr trendu w strefie czerwonej
warunek_wejscia = close < sma and niski_wolumen and niska_zmienosc and not uptrend

// Warunek Wyjścia ze strategii
warunek_wyjscia = downtrend and close > sma and ta.crossover(close, sma)

// Ustalanie Stop Loss i Take Profit
var float stop_loss = na
var float take_profit = na

var int indeks_wejscia = na

if (warunek_wejscia)
    stop_loss := close * (1 - sl_percent / 100)
    take_profit := close * (1 + tp_multiplier)
    indeks_wejscia := bar_index

// Handel
if (warunek_wejscia)
    strategy.entry("Long", strategy.long)

// Warunek Wyjścia: RSI w strefie wykupienia lub Stop Loss/Take Profit
if (strategy.opentrades != 0)
    if (rsi > 70)
        strategy.exit("Take Profit/Stop Loss", "Long", limit=take_profit)
    else if (bar_index - indeks_wejscia == wait_bars)
        strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss, limit=take_profit)

// Wyjątek: Warunek Wyjścia z Longów na podstawie zmiany trendu
if (warunek_wyjscia)
    strategy.close("Long")

// Rysowanie RSI
rsi_plot = plot(rsi, title="RSI", color=color.blue)

// Rysowanie Gładkiej Średniej Kroczącej
sma_plot = plot(sma, color=color.gray, title="Smooth MA", linewidth=2)

// Rysowanie Filtru Trendu
fill(sma_plot, rsi_plot, color=downtrend ? color.new(color.red, 90) : na)