La estrategia del caimán de Williams

El autor:¿ Qué pasa?, Fecha: 2023-11-13 10:58:22
Las etiquetas:

img

Resumen general

Williams Alligator Strategy es una estrategia de seguimiento de tendencia que utiliza tres líneas de promedio móvil de diferentes períodos para formar mandíbulas de alligador para determinar la dirección de la tendencia. Cuando la línea rápida está por encima de la línea media y la línea media está por encima de la línea lenta, se forma una boca de alligador de tendencia ascendente para ir largo. Cuando la línea rápida está por debajo de la línea media y la línea media está por debajo de la línea lenta, se forma una boca de alligador de tendencia descendente para ir corto. Fue inventado por Bill Williams y combina la capacidad de juicio de tendencias de los promedios móviles para capturar efectivamente las tendencias del mercado.

Cómo funciona

La estrategia utiliza tres SMAs de diferentes longitudes de período: línea rápida sma1, línea media sma2 y línea lenta sma3, donde sma1 tiene el período más corto y sma3 tiene el más largo.

Cuando sma1 cruza encima de sma2 y sma2 cruza encima de sma3, indica que el mercado está en una tendencia al alza y forma una boca de caiman al alza.

Por el contrario, cuando sma1 cruza por debajo de sma2 y sma2 cruza por debajo de sma3, indica que el mercado está en una tendencia a la baja y forma una boca de caimán a la baja.

La condición de salida es cuando las tres líneas se vuelven a alinear, con la línea rápida por debajo de la línea media o la línea media por debajo de la línea lenta.

La estrategia también dibuja colores de fondo para identificar la dirección de la tendencia: verde para tendencia alcista y rojo para tendencia bajista.

En resumen, la estrategia utiliza las fortalezas de las medias móviles y los patrones de boca de caimán para determinar la dirección de la tendencia y el comercio en consecuencia.

Análisis de ventajas

  • La boca del caimán identifica eficazmente la dirección de la tendencia.
  • La combinación de diferentes líneas de período mejora la precisión del patrón.
  • El comercio con la tendencia se alinea con la teoría del comercio de tendencia.
  • Los colores de fondo ayudan al juicio visual.
  • Lógica simple y clara, fácil de implementar.

Análisis de riesgos

  • Múltiples riesgos en diferentes mercados.
  • El riesgo es alto cuando las líneas se alinean para cerrar posiciones.
  • No puede determinar la fuerza de la tendencia, puede ingresar tendencias incorrectamente.
  • No hay stop loss, alto riesgo de retirada.
  • Los plazos fijos no pueden adaptarse a los cambios del mercado.

Para hacer frente a los riesgos, se pueden realizar las siguientes mejoras:

  1. Añadir un filtro de tendencia para evitar los golpes en los mercados variados.

  2. Optimizar las condiciones de salida utilizando indicadores de tendencia.

  3. Añadir una estrategia de stop loss para controlar la pérdida de una sola operación.

  4. Utilice promedios móviles adaptativos para que los períodos se ajusten dinámicamente.

Direcciones de mejora

La estrategia se puede optimizar aún más en los siguientes aspectos:

  1. Añadir un filtro de fuerza de tendencia para evitar una entrada prematura en tendencias débiles.

  2. Optimizar los períodos de promedio móvil para encontrar las mejores combinaciones mediante backtesting.

  3. Utilice promedios móviles adaptativos para que los períodos se adapten en función del impulso del mercado.

  4. Agregue estrategias de stop loss como el trailing stop loss, el balance de cuenta stop loss para controlar los riesgos.

  5. Mejorar las condiciones de entrada utilizando volumen, bandas de Bollinger, etc. para aumentar la precisión.

  6. Mejorar las condiciones de salida al juzgar la probabilidad de reversión de tendencia con indicadores cuando las líneas se cruzan.

Conclusión

Williams Alligator Strategy es una estrategia típica de seguimiento de tendencias. Utiliza la boca del cocodrilo formada por tres promedios móviles para determinar la tendencia y el comercio en consecuencia. Las ventajas son su lógica simple y clara. Las desventajas son la precisión de la tendencia más débil y el control de riesgos. Las mejoras futuras se pueden hacer incorporando indicadores adicionales, optimizando parámetros, agregando stop loss para hacerlo más robusto para condiciones de mercado complejas.


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=3
strategy(title = "Noro's Alligator Strategy by Bill Williams", shorttitle = "Alligator", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len1 = input(50, defval = 50, minval = 1, title = "MA 1 Length")
len2 = input(100, defval = 100, minval = 1, title = "MA 2 Length")
len3 = input(200, defval = 200, minval = 1, title = "MA 3 Length")
src = input(close, title = "Source")
showbg = input(false, title = "Show Background")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MAs
sma1 = sma(src, len1)
sma2 = sma(src, len2)
sma3 = sma(src, len3)
plot(sma1, color = lime, linewidth = 2)
plot(sma2, color = blue, linewidth = 2)
plot(sma3, color = red, linewidth = 2)

//Signals
up = sma1 > sma2 and sma2 > sma3
dn = sma1 < sma2 and sma2 < sma3

//Background
trend = 0
trend := up ? 1 : dn ? -1 : trend[1]
col = showbg == false ? na : trend == 1 ? lime : red
bgcolor(col)

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, needlong ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
    strategy.entry("Short", strategy.short, needshort ? lot : 0, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Más.