En la carga de los recursos... Cargando...

Estrategia de Stop Loss & Take Profit de promedio móvil sin problemas con filtro de tendencia y salida excepcional

El autor:¿ Qué pasa?, fecha: 2024-06-03 16:54:04
Las etiquetas:La SMAIndicador de riesgoEn el caso de las- ¿Qué es?TPSL

img

Resumen general

Esta estrategia utiliza indicadores como el Smooth Moving Average (SMA), el Relative Strength Index (RSI), el True Range (TR) y el Volume Moving Average (Volume MA) en combinación con filtros de tendencia, volumen y condiciones de volatilidad para ejecutar operaciones cuando se cumplen criterios específicos. La idea principal detrás de esta estrategia es entrar en una posición larga cuando el precio está por debajo del SMA200, la tendencia es descendente y tanto el volumen como la volatilidad son bajos. Los niveles de stop loss y take profit se establecen al momento de la entrada. Además, la estrategia incorpora un mecanismo de salida excepcional, cerrando la posición cuando el RSI excede los 70 o cuando se alcanzan los niveles de stop loss o take profit preestablecidos.

Principios de estrategia

  1. Calcular indicadores como el SMA, el RSI, el volumen MA y el TR MA.
  2. Determinar si la tendencia actual es ascendente o descendente
  3. Compruebe si el volumen y la volatilidad actuales son bajos
  4. Entrar en una posición larga cuando el precio esté por debajo de la SMA200 y se cumplan las condiciones de bajo volumen y volatilidad
  5. Establecer el stop loss en el 95% y el take profit en el 150% del precio de entrada
  6. Se excluirá de la operación cuando el RSI exceda de 70 o cuando se alcancen los niveles de stop loss o take profit preestablecidos.
  7. Forzar el cierre de la posición cuando la tendencia cambia y el precio rompe la SMA

Análisis de ventajas

  1. Esta estrategia combina múltiples indicadores técnicos para un análisis más completo de las condiciones del mercado
  2. El filtro de tendencia y las condiciones de volumen/volatilidad ayudan a evitar la negociación en entornos de mercado desfavorables
  3. Establecer niveles de stop loss y take profit claros gestiona el riesgo de manera efectiva
  4. El mecanismo de salida excepcional permite el cierre oportuno de las posiciones en situaciones específicas, evitando nuevas pérdidas

Análisis de riesgos

  1. El rendimiento de la estrategia puede verse afectado por la elección de los parámetros
  2. En algunos casos, el precio puede revertirse rápidamente después de activar la condición de entrada, lo que lleva a pérdidas
  3. La estrategia no tiene en cuenta factores fundamentales y puede verse influenciada por acontecimientos significativos

Direcciones de optimización

  1. Considere la posibilidad de incorporar indicadores técnicos adicionales como el MACD, las bandas de Bollinger, etc., para mejorar la precisión de entrada y salida.
  2. Optimizar la configuración del nivel de stop loss y take profit, como el uso de trailing stops o take profit dinámico
  3. Ajustar dinámicamente los parámetros de la estrategia en función de las diferentes condiciones del mercado
  4. Introducir un módulo de gestión de riesgos, incluido el tamaño de las posiciones y la gestión del dinero

Resumen de las actividades

Esta estrategia combina múltiples indicadores técnicos con filtros de tendencia, volumen y condiciones de volatilidad para ejecutar operaciones en situaciones específicas. Al establecer niveles de stop loss y take profit claros e implementar un mecanismo de salida excepcional, la estrategia gestiona eficazmente el riesgo. Sin embargo, la estrategia tiene ciertas limitaciones, ya que factores como la selección de parámetros y anomalías del mercado pueden afectar su rendimiento. Se pueden hacer mejoras futuras incorporando más indicadores, optimizando la configuración de parámetros y agregando componentes de gestión de riesgos.


/*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)


Relacionados

Más.