
La estrategia de seguimiento de tendencias es una estrategia de negociación de seguimiento de tendencias basada en promedios móviles. La estrategia utiliza una cruz de promedios móviles de índices (EMA) y promedios móviles oscilantes (HMA) para determinar la dirección de la tendencia del mercado y, en consecuencia, generar señales de compra y venta. La estrategia se aplica a la negociación de tendencias de línea media y corta, cuyo objetivo es seguir la tendencia de los precios en un período de tiempo más largo, en lugar de las convulsiones a corto plazo.
La estrategia utiliza dos promedios móviles de diferentes parámetros: un EMA de menor período y un HMA de mayor período. El EMA responde más rápidamente a los cambios de precio para determinar tendencias a corto plazo; el HMA responde más lentamente a los cambios de precio para determinar la dirección de las tendencias a largo plazo.
Cuando el corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto corto cor
Para optimizar el tiempo de entrada a la bolsa, la estrategia añade una opción basada en Heikin-Ashi. Una vez activada esta opción, la señal de compra y venta de la estrategia se basará en la línea Heikin-Ashi, en lugar de la línea K original. Como la línea Heikin-Ashi puede filtrar la línea K original del oscilador, ayuda a reducir las falsas señales.
La estrategia también incluye una configuración de stop loss. La estrategia se detiene al precio de mercado cuando las pérdidas de la posición alcanzan el margen de stop loss predeterminado. Esta medida limita la pérdida máxima de una sola transacción.
La estrategia tiene las siguientes ventajas:
El uso de EMA y HMA para juzgar la dirección de la tendencia puede aprovechar las ventajas de los diferentes promedios periódicos para mejorar la precisión de juicio.
Basado en la tendencia de la negociación, no se puede invertir la posición con una pequeña oscilación, lo que reduce el número de operaciones innecesarias.
La opción Heikin-Ashi puede filtrar falsas señales y optimizar el tiempo de entrada en el mercado.
El uso de una estrategia de stop loss móvil puede controlar de manera efectiva el máximo de pérdidas en una sola operación.
Los parámetros de la estrategia se pueden personalizar y los usuarios pueden ajustar según las diferentes variedades y ciclos para mejorar la adaptabilidad.
La estrategia también tiene los siguientes riesgos:
Como estrategia de seguimiento de tendencias, el mercado ha tenido un mal desempeño en la consolidación.
El cambio de tendencia podría llevar a mayores pérdidas.
La configuración incorrecta de la parada de pérdidas puede causar pérdidas innecesarias y también puede provocar la expansión de pérdidas.
La configuración incorrecta de los parámetros también puede causar transacciones frecuentes o inactivas.
Las configuraciones de ciclo EMA y HMA necesitan ser optimizadas para diferentes variedades y ciclos.
Heikin-Ashi no puede filtrar por completo el riesgo de una falsa brecha.
La estrategia se puede optimizar en los siguientes aspectos:
Utiliza más combinaciones de indicadores para determinar tendencias, como MACD, KDJ, etc., para mejorar la precisión de los juicios.
Añadir más condiciones de filtración, como el volumen de transacciones, ATR y otros indicadores, para reducir la probabilidad de falsas brechas.
Optimizar los parámetros de las medias móviles para que sean más adecuados para diferentes variedades y ciclos de negociación.
Optimice la configuración de la amplitud de la parada para que la parada sea más razonable y evite ser demasiado flexible o demasiado rígida.
Considere la posibilidad de incluir funciones de protección de ganancias, como paradas móviles, paradas parciales, etc., para bloquear las ganancias.
Prueba de diferentes métodos alternativos para calcular el costo de la tenencia de la posición y optimiza el cálculo del costo de la tenencia de la posición.
La estrategia de seguimiento de tendencias se basa en la dirección de la tendencia en la medias móviles, utilizando Heikin-Ashi y paradas móviles para optimizar el rendimiento de la estrategia. La estrategia es adecuada para el seguimiento de tendencias de líneas medias y largas, y puede mejorar aún más la eficacia de la estrategia mediante la optimización de parámetros y la extensión de funciones.
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("𝐉𝐔𝐈𝐂𝐘 𝐓𝐑𝐄𝐍𝐃", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=15)
//Heikin Ashi Option
ha = input(true, title = "Heikin Ashi Source")
src = ha ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, barmerge.gaps_off, barmerge.lookahead_off) : close
usestoploss = input(true, title="Stop Loss")
//EMA
len1 = input.int(9, minval=1, title="EMA Length")
ema = ta.ema(src, len1)
emaline = plot(ema, title="EMA", color=color.blue, linewidth=2)
//HMA
len2 = input.int(69, minval=1, title="HMA Length")
hma = ta.wma(2*ta.wma(src, len2/2)-ta.wma(src, len2), math.floor(math.sqrt(len2)))
hmaline = plot(hma, title="HMA", color=color.purple, linewidth=2)
fillcolor = hma < ema ? color.blue : color.purple
fill(emaline, hmaline, title="EMA Fill", color=color.new(fillcolor, 80), editable=true)
//Stop Loss Conditions
stoplosspercent = input.float(title="Stop Loss (%)", defval=-6.5, minval=-50, maxval=0, step=.1) / 100
stoploss = strategy.position_avg_price * (1 + stoplosspercent)
stop = stoploss > close and stoploss[1] < close[1] and strategy.position_size > 0 and usestoploss
//Buy Sell Conditions
buy = hma < ema
sell = hma > ema
//Trades and Alerts
if buy
strategy.entry("Long Position", strategy.long, comment="BUY")
// alert("{\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
if sell and strategy.openprofit > 0
strategy.close("Long Position", comment="SELL")
// alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
if stop
strategy.close("Long Position", comment="STOP")
// alert("{\n\"action\": \"close_at_market_price\",\n\"message_type\": \"bot\",\n\"bot_id\": 6477543,\n\"email_token\": \"9b842a1b-9cb4-48ac-9ed4-524c98557e5f\",\n\"delay_seconds\": 0\n}", alert.freq_once_per_bar)
//Alternate Labels
var pos = 0
if buy and pos <= 0
pos := 1
if sell and pos >= 0
pos := -1
buylabel = pos == 1 and (pos != 1)[1]
selllabel = pos == -1 and (pos != -1)[1]
//Plot Labels
plotshape(buylabel, style=shape.labelup, location=location.belowbar, color=color.blue, text="BUY", textcolor=color.white, size=size.tiny)
plotshape(selllabel, style=shape.labeldown, location=location.abovebar, color=color.purple, text="SELL", textcolor=color.white, size=size.tiny)
plotshape(stop, style=shape.labeldown, location=location.abovebar, color=color.yellow, text="STOP", textcolor=color.white, size=size.tiny)