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

WaveTrend Cruza la estrategia de LazyBear

El autor:¿ Qué pasa?, Fecha: 2024-04-28 13:56:27
Las etiquetas:El EMALa SMAHLCC3El SEC

img

Resumen general

La estrategia WaveTrend Cross LazyBear es una estrategia comercial basada en el indicador WaveTrend. La estrategia utiliza dos líneas de indicador WaveTrend con períodos diferentes. Cuando la línea de indicador WaveTrend de período más rápido cruza por encima de la línea de indicador WaveTrend de período más lento, genera una señal de compra. Cuando la línea de indicador WaveTrend de período más rápido cruza por debajo de la línea de indicador WaveTrend de período más lento, genera una señal de venta. La estrategia también establece zonas de sobrecompra y sobreventa para ayudar a juzgar las condiciones del mercado.

Principio de la estrategia

El núcleo de esta estrategia es el indicador WaveTrend, que se calcula mediante los siguientes pasos:

  1. Calcule el precio típico (AP), que es igual al promedio de los precios altos, bajos y cerrados.
  2. Calcular la media móvil exponencial (ESA) de AP con un período de n1.
  3. Calcular la media móvil exponencial d del valor absoluto de la diferencia entre AP y ESA con un período n1.
  4. Calcular el indicador CI, que es igual a (AP - ESA) / (0,015 * d).
  5. Calcule el TCI promedio móvil exponencial de CI con un período de n2 para obtener el indicador WaveTrend.

La estrategia utiliza dos líneas de indicadores de tendencia de onda con períodos diferentes (por defecto es 10 y 21), denotadas como WT1 y WT2 respectivamente. Cuando WT1 cruza por encima de WT2, genera una señal de compra; cuando WT1 cruza por debajo de WT2, genera una señal de venta. Además, la estrategia también establece 4 niveles auxiliares: nivel sobrecomprado 1, nivel sobrecomprado 2, nivel sobrevendido 1 y nivel sobrevendido 2, para ayudar a juzgar las condiciones del mercado.

Ventajas estratégicas

  1. El indicador WaveTrend combina las características de impulso y volatilidad, que pueden capturar mejor las tendencias del mercado.
  2. El indicador de tendencia de onda de doble período puede filtrar eficazmente algunas señales de ruido.
  3. El establecimiento de niveles de sobrecompra y sobreventa puede impedir que la estrategia se negocie con frecuencia cuando el mercado fluctúa mucho hasta cierto punto.
  4. La lógica de la estrategia es clara y fácil de entender e implementar.

Riesgos estratégicos

  1. La estrategia puede generar más señales falsas en un mercado oscilante.
  2. La elección de los parámetros tiene un gran impacto en el rendimiento de la estrategia, y los diferentes parámetros pueden dar lugar a grandes diferencias en el rendimiento de la estrategia.
  3. La estrategia no tiene en cuenta el control de riesgos y puede experimentar grandes reducciones en condiciones extremas de mercado.

Direcciones para la optimización de la estrategia

  1. Considere la posibilidad de añadir condiciones de filtrado de tendencias, como la dirección de la media móvil a largo plazo, para reducir las señales falsas en los mercados oscilantes.
  2. Optimizar la fijación de los niveles de sobrecompra y sobreventa para adaptarlos más dinámicamente a las diferentes condiciones del mercado.
  3. Añadir mecanismos de stop-loss y take-profit para controlar el riesgo de una sola transacción.
  4. Encuentra la combinación óptima de parámetros mediante la optimización de parámetros.

Resumen de las actividades

La estrategia WaveTrend Cross LazyBear es una estrategia de seguimiento de tendencias basada en el indicador WaveTrend. A través del diseño de indicadores de doble período y el juicio auxiliar de los niveles de sobrecompra y sobreventa, captura tendencias al tiempo que también tiene en cuenta cierto control de riesgos. Sin embargo, la estrategia puede generar más señales falsas en mercados oscilantes y carece de medidas estrictas de gestión de riesgos. Se necesitan más optimización y mejora en aplicaciones prácticas.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © burakaydingr

//@version=5
strategy("WaveTrend with Crosses [LazyBear]", shorttitle="WT_CROSS_LB", overlay=true)

// Kullanıcı girişleri
n1 = input(10, title="Channel Length")
n2 = input(21, title="Average Length")
obLevel1 = input(60, title="Over Bought Level 1")
obLevel2 = input(53, title="Over Bought Level 2")
osLevel1 = input(-60, title="Over Sold Level 1")
osLevel2 = input(-53, title="Over Sold Level 2")

// Temel hesaplamalar
ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

// WaveTrend göstergeleri
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Al ve Sat Sinyalleri
buySignal = ta.crossover(wt1, wt2)
sellSignal = ta.crossunder(wt1, wt2)

// Alım ve Satım pozisyonları
if (buySignal)
    if (strategy.position_size <= 0) // Eğer şu anda açık bir satış pozisyonu varsa, onu kapat
        strategy.close("Sell")
    strategy.entry("Buy", strategy.long, comment="Buy Signal: Price crossed above WT2")

if (sellSignal)
    if (strategy.position_size >= 0) // Eğer şu anda açık bir alım pozisyonu varsa, onu kapat
        strategy.close("Buy")
    strategy.entry("Sell", strategy.short, comment="Sell Signal: Price crossed below WT2")

// Renkler ve diğer görseller
plot(0, color=color.new(color.gray, 0), title="Zero Level")
plot(obLevel1, color=color.new(color.red, 0), title="Overbought Level 1")
plot(osLevel1, color=color.new(color.green, 0), title="Oversold Level 1")
plot(obLevel2, color=color.new(color.purple, 0), title="Overbought Level 2")
plot(osLevel2, color=color.new(color.orange, 0), title="Oversold Level 2")

plot(wt1, color=color.new(color.red, 0), title="WT1")
plot(wt2, color=color.new(color.blue, 0), title="WT2")
plot(wt1-wt2, color=color.new(color.purple, 80), style=plot.style_area, title="WT1-WT2 Area")

// İşaretler
plotshape(buySignal, location=location.absolute, color=color.new(color.yellow, 0), style=shape.circle, size=size.small, title="Buy Signal")
plotshape(sellSignal, location=location.absolute, color=color.new(color.red, 0), style=shape.circle, size=size.small, title="Sell Signal")


Relacionados

Más.