
La estrategia de captura de tendencias de William Herschel es una estrategia de seguimiento de tendencias que combina el indicador William Herschel y la media móvil. La estrategia utiliza la posición relativa de las tres líneas del indicador William Herschel (la línea de la cola, la línea de los dientes y la línea de los labios) para determinar la dirección de la tendencia, mientras que la media móvil se utiliza como una segunda confirmación de la tendencia.
El centro de la estrategia de captura de tendencias de William Herschel es el uso del indicador William Herschel y las medias móviles para identificar y confirmar las tendencias. El indicador William Herschel consta de tres líneas: la línea de la mandíbula (Jaw), la línea de los dientes (Teeth) y la línea de los labios (Lips), respectivamente, las medias móviles de deslizamiento liso de diferentes períodos (SMMA). Cuando el mercado está en una tendencia ascendente, la línea de los labios está por encima de la línea de los dientes, por encima de la línea de los dientes; cuando el mercado está en una tendencia descendente, la línea de los labios está por debajo de la línea de los dientes, por debajo de la línea de los dientes.
La estrategia de captura de tendencias de William Herschel, combinada con el indicador William Herschel y las medias móviles, forma una estrategia de seguimiento de tendencias simple y eficaz. La estrategia se aplica a mercados con una fuerte tendencia y mejora la precisión de la identificación de tendencias mediante un mecanismo de doble confirmación. Sin embargo, la estrategia puede tener un mal desempeño en mercados convulsos y carece de medidas claras de gestión de riesgos.
/*backtest
start: 2024-05-09 00:00:00
end: 2024-05-16 00:00:00
period: 5m
basePeriod: 1m
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/
// © tradedots
//@version=5
strategy("Alligator + MA Trend Catcher [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 80, commission_type = strategy.commission.percent, commission_value = 0.01)
// william alligator
smma(src, length) =>
smma = 0.0
smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
smma
jawLength = input.int(8, minval=1, title="Jaw Length", group = "william alligator settings")
teethLength = input.int(5, minval=1, title="Teeth Length", group = "william alligator settings")
lipsLength = input.int(3, minval=1, title="Lips Length", group = "william alligator settings")
jawOffset = input(8, title="Jaw Offset", group = "william alligator settings")
teethOffset = input(5, title="Teeth Offset", group = "william alligator settings")
lipsOffset = input(3, title="Lips Offset", group = "william alligator settings")
jaw = smma(hl2, jawLength)
teeth = smma(hl2, teethLength)
lips = smma(hl2, lipsLength)
// ma
input_trendline_length = input.int(200, "Trendline Length", group = "moving average settings")
trendline = ta.ema(close, input_trendline_length)
// strategy settings
input_long_orders = input.bool(true, "Long", group = "Strategy Settings")
input_short_orders = input.bool(true, "Short", group = "Strategy Settings")
//long
if close > trendline and lips > teeth and teeth > jaw and input_long_orders and strategy.opentrades == 0
strategy.entry("Long", strategy.long)
label.new(bar_index, low, text = "🟢 Long", style = label.style_label_up, color = #9cff87)
if close < trendline and lips < teeth and teeth < jaw
strategy.close("Long")
//short
if close < trendline and lips < teeth and teeth < jaw and input_short_orders and strategy.opentrades == 0
strategy.entry("Short", strategy.short)
label.new(bar_index, high, text = "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white)
if close > trendline and lips > teeth and teeth > jaw
strategy.close("Short")
//ploting
plot(trendline, "Trendline", color = #9cff87, linewidth = 3)
plot(jaw, "Jaw", offset = jawOffset, color=#b3e9c7)
plot(teeth, "Teeth", offset = teethOffset, color=#c2f8cb)
plot(lips, "Lips", offset = lipsOffset, color=#f0fff1)