Estrategia de trading con promedio móvil dinámico de tres períodos de Larry Williams

EMA
Fecha de creación: 2024-05-11 17:35:22 Última modificación: 2024-05-11 17:35:22
Copiar: 6 Número de Visitas: 1109
1
Seguir
1617
Seguidores

Estrategia de trading con promedio móvil dinámico de tres períodos de Larry Williams

Descripción general

Este artículo presenta una estrategia de negociación basada en la media dinámica triciclo de Larry Williams. La estrategia utiliza dos medias móviles de índices (EMA) para capturar la tendencia de los precios, generando una señal de negociación cuando los precios de cierre de tres líneas K consecutivas superan los EMA. Los parámetros de la estrategia son ajustables y se aplican a diferentes mercados y períodos.

Principio de estrategia

  1. Se calculan dos EMAs: el EMA de precio alto y el EMA de precio bajo en el cierre, con un ciclo ajustable.
  2. Determine si la hora actual está dentro del rango de negociación establecido.
  3. Determine si las tres líneas K más recientes se han cerrado consecutivamente por encima de la EMA (a la baja) o por debajo de ella (a la baja).
  4. Si 3 se establece y la posición es 0, se abre una posición adicional; si 3 se establece y tiene una posición adicional, se elimina la posición.
  5. Si mantienes una posición al cierre de la jornada, no la mantendrás.

Ventajas estratégicas

  1. Parámetros flexibles: el ciclo EMA, el intervalo de tiempo de negociación y otros parámetros se pueden ajustar para adaptarse a diferentes mercados.
  2. Seguimiento de tendencias: utiliza EMA y la dirección de la línea K continua para determinar las tendencias, lo que ayuda a capturar las tendencias.
  3. Detención a tiempo: Cancelación inmediata y retirada controlada cuando el contravalor rompe la EMA.
  4. Las posiciones cerradas durante el día: cerrar las posiciones cerradas para evitar riesgos de la noche a la mañana.

Riesgo estratégico

  1. Riesgo de mercado de volatilidad: las operaciones frecuentes pueden causar pérdidas cuando la tendencia es incierta.
  2. Riesgo de parámetros: Los diferentes parámetros tienen un rendimiento muy diferente en diferentes mercados y requieren una optimización específica.
  3. Riesgo de la brecha de salto: el salto de la apertura puede causar una estrategia de apertura de posiciones con un precio diferente, aumentando el riesgo.

Dirección de optimización de la estrategia

  1. Filtración de tendencias: incluye indicadores como ATR, RSI y otros para ayudar a determinar la intensidad de la tendencia, evitando los mercados convulsivos.
  2. Optimización de parámetros dinámicos: ajuste de los parámetros en función de las características del mercado reciente para mejorar la adaptabilidad.
  3. Gestión de posiciones: ajustar las posiciones de acuerdo con la fortaleza de la tendencia y la situación financiera, controlar el riesgo.
  4. Agregar un Stop Loss: Establezca un Stop Loss razonable y un Stop Loss objetivo para reducir el riesgo de una sola operación.

Resumir

La estrategia de Larry Williams Tri-Cycle Dynamic Equalization Trading es una estrategia de seguimiento de tendencias basada en dos EMA y en la dirección de la línea K continua, que se puede adaptar a diferentes mercados mediante la optimización de los parámetros. Sin embargo, la estrategia en sí misma es relativamente simple, tiene un mal desempeño en mercados convulsos y carece de medidas de control del viento, y necesita ser optimizada y mejorada aún más.

Código Fuente de la Estrategia
/*backtest
start: 2023-05-05 00:00:00
end: 2024-05-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Larry Williams 3 Periodos Editável de MarcosJr", overlay=true, process_orders_on_close=true)

// Parametrização do período do EMA
emaPeriodHighs = input.int(title="Highs Period", defval=3, minval=1, maxval=9999)
emaPeriodLows = input.int(title="Lows Period", defval=3, minval=1, maxval=9999)

// Parametrização da data de início e fim do período a ser coletado
startYear = input.int(title="Start Year", defval=2020)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startDay = input.int(title="Start Day", defval=1, minval=1, maxval=31)

endYear = input.int(title="End Year", defval=2020)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endDay = input.int(title="End Day", defval=31, minval=1, maxval=31)

// Convertendo data de início e fim para timestamp
startDate = timestamp(startYear, startMonth, startDay, 00, 00)
endDate = timestamp(endYear, endMonth, endDay, 23, 59)

// EMA
emaH = ta.ema(high, emaPeriodHighs)
emaL = ta.ema(low, emaPeriodLows)

// PLOT:
// Desenha as linhas EMA no gráfico
plot(emaH, color=color.green, linewidth=2)
plot(emaL, color=color.red, linewidth=2)

// Condições
inDateRange = true

// Verifica se houve mais de três candles consecutivos do mesmo sentido
checkThreeConsecutiveCandles = (close[0] > close[1] and close[1] > close[2] and close[2] > close[3]) or (close[0] < close[1] and close[1] < close[2] and close[2] < close[3])

if(close < emaL and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.entry("Long", strategy.long, comment="Long", when=strategy.position_size == 0)
if(close > emaH and inDateRange and checkThreeConsecutiveCandles and barstate.isconfirmed)
    strategy.close("Long", comment="Close Long")

// Fechar a operação no fechamento do pregão
if(strategy.position_size > 0 and na(time_close[0]))
    strategy.close("Long", comment="Close Long")