Estrategia de salida de candelabro mejorada por ZLSMA y detección de pulsos de volumen

ZLSMA ATR RVOL
Fecha de creación: 2024-06-17 15:41:45 Última modificación: 2024-06-17 15:41:45
Copiar: 0 Número de Visitas: 1206
1
Seguir
1617
Seguidores

Estrategia de salida de candelabro mejorada por ZLSMA y detección de pulsos de volumen

Descripción general

La estrategia combina la salida de la lámpara de la lámpara (Chandelier Exit), el promedio móvil de retraso cero (ZLSMA) y la detección de pulsos de volumen relativo (RVOL) para formar un sistema de negociación completo. La salida de la lámpara de la lámpara de la lámpara (Chandelier Exit) ajusta dinámicamente la posición de parada a través de la amplitud de fluctuación real (ATR) para adaptarse mejor a los cambios en el mercado.

Principio de estrategia

  1. Calcula el ATR y calcula las posiciones de pérdida de más y menos cabeza en función del ATR y el precio máximo / mínimo.
  2. El ZLSMA se calcula para determinar la dirección de la tendencia.
  3. Calcular el RVOL para determinar si hay un impulso en el volumen de tráfico comparando el RVOL con el umbral establecido.
  4. Entrada múltiple: el precio de cierre actual lleva ZLSMA, y el RVOL es mayor que la brecha, abre más órdenes, la posición de stop loss es el mínimo reciente.
  5. Entrada en blanco: atravesando ZLSMA por debajo del precio de cierre actual, con un RVOL mayor que la brecha, abrir una carta en blanco, la posición de stop loss es el punto más alto de los últimos tiempos.
  6. La salida de varios jugadores: ZLSMA bajo el precio de cierre actual, plato a plato.
  7. Salida en blanco: ZLSMA en el precio de cierre actual, billete en blanco.

Ventajas estratégicas

  1. La ley de salida de las luces de suspensión permite ajustar dinámicamente la posición de los paros, lo que reduce el riesgo de los paros fijos.
  2. ZLSMA es capaz de responder rápidamente a los cambios en los precios, proporcionando un juicio de tendencia fiable para el comercio.
  3. La detección de pulsos RVOL puede ayudar a la estrategia a evitar mercados de liquidación con baja volatilidad y mejorar la calidad de las transacciones.
  4. La lógica de la estrategia es clara, fácil de entender e implementar.

Riesgo estratégico

  1. En mercados con tendencias poco claras o con frecuentes fluctuaciones, esta estrategia puede generar un mayor número de operaciones, lo que aumenta el costo de las comisiones.
  2. La configuración de los parámetros de la estrategia (como el ciclo ATR, el ciclo ZLSMA, el umbral RVOL, etc.) tiene un gran impacto en el rendimiento de la estrategia, y los parámetros inadecuados pueden causar un mal rendimiento de la estrategia.
  3. La estrategia no tiene en cuenta la gestión de posiciones y el control de riesgos, lo que requiere la combinación de los principios de gestión de fondos en la aplicación práctica.

Dirección de optimización de la estrategia

  1. Introducción de indicadores de confirmación de tendencias, como el sistema de línea media o el indicador de movimiento, para mejorar aún más la precisión del juicio de tendencias.
  2. Optimización de la lógica de detección de pulsos de RVOL, como la consideración de la aparición de múltiples pulsos de RVOL en serie para realizar transacciones, con el fin de mejorar aún más la calidad de la señal.
  3. En las condiciones de salida se añade la lógica de la parada de ganancias, si se alcanza un determinado objetivo de ganancias, se cancela la posición para bloquear los beneficios obtenidos.
  4. Optimización de los parámetros estratégicos para encontrar la combinación óptima de parámetros según las características del mercado y la variedad de transacciones.
  5. La combinación de los principios de gestión de posiciones y control de riesgos mejora la solidez y la fiabilidad de las estrategias.

Resumir

La estrategia ZLSMA-enhanced pendant exit strategy and transaction volume pulse detection es una estrategia de seguimiento de tendencias para controlar el riesgo de negociación al mismo tiempo que se aprovechan las oportunidades de tendencia a través de la detención dinámica de pérdidas, el juicio de tendencias y la detección de impulsos de transacciones. La lógica de la estrategia es clara, fácil de entender y implementar, pero aún se necesita optimizar y perfeccionar en combinación con las características específicas del mercado y la variedad de operaciones en la aplicación real.

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("Chandelier Exit Strategy with ZLSMA and Volume Spike Detection", shorttitle="CES with ZLSMA and Volume", overlay=true, process_orders_on_close=true, calc_on_every_tick=false)
// Chandelier Exit Inputs
lengthAtr = input.int(title='ATR Period', defval=1)
mult = input.float(title='ATR Multiplier', step=0.1, defval=2.0)
useClose = input.bool(title='Use Close Price for Extremums', defval=true)
// Calculate ATR
atr = mult * ta.atr(lengthAtr)
// Calculate Long and Short Stops
longStop = (useClose ? ta.highest(close, lengthAtr) : ta.highest(high, lengthAtr)) - atr
shortStop = (useClose ? ta.lowest(close, lengthAtr) : ta.lowest(low, lengthAtr)) + atr
// Update stops based on previous values
longStop := na(longStop[1]) ? longStop : close[1] > longStop[1] ? math.max(longStop, longStop[1]) : longStop
shortStop := na(shortStop[1]) ? shortStop : close[1] < shortStop[1] ? math.min(shortStop, shortStop[1]) : shortStop
// Determine Direction
var int dir = na
dir := na(dir[1]) ? (close > shortStop ? 1 : close < longStop ? -1 : na) : close > shortStop[1] ? 1 : close < longStop[1] ? -1 : dir[1]
// ZLSMA Inputs
lengthZLSMA = input.int(title="ZLSMA Length", defval=50)
offsetZLSMA = input.int(title="ZLSMA Offset", defval=0)
srcZLSMA = input.source(close, title="ZLSMA Source")
// ZLSMA Calculation
lsma = ta.linreg(srcZLSMA, lengthZLSMA, offsetZLSMA)
lsma2 = ta.linreg(lsma, lengthZLSMA, offsetZLSMA)
eq = lsma - lsma2
zlsma = lsma + eq
// Plot ZLSMA
plot(zlsma, title="ZLSMA", color=color.purple, linewidth=3)
// Swing High/Low Calculation
swingHigh = ta.highest(high, 5)
swingLow = ta.lowest(low, 5)
// Relative Volume (RVOL) Calculation
rvolLength = input.int(20, title="RVOL Length")
rvolThreshold = input.float(1.5, title="RVOL Threshold")
avgVolume = ta.sma(volume, rvolLength)
rvol = volume / avgVolume
// Define buy and sell signals based on ZLSMA and Volume Spike
buySignal = (dir == 1 and dir[1] == -1 and close > zlsma and rvol > rvolThreshold)
sellSignal = (dir == -1 and dir[1] == 1 and close < zlsma and rvol > rvolThreshold)
// Define exit conditions based on ZLSMA
exitLongSignal = (close < zlsma)
exitShortSignal = (close > zlsma)
// Strategy Entries and Exits
if (buySignal)
    strategy.entry("Long", strategy.long, stop=swingLow)
if (sellSignal)
    strategy.entry("Short", strategy.short, stop=swingHigh)
if (exitLongSignal)
    strategy.close("Long")
if (exitShortSignal)
    strategy.close("Short")
// Alerts
alertcondition(buySignal, title='Alert: CE Buy', message='Chandelier Exit Buy!')
alertcondition(sellSignal, title='Alert: CE Sell', message='Chandelier Exit Sell!')