
Esta estrategia es un sistema de negociación que combina brechas de precios altos y bajos, indicadores de tendencia alfa y filtros de medias móviles. Su objetivo es capturar los cambios de tendencia cuando los precios superan los niveles críticos, mientras que el uso de tendencias alfa y medias móviles para filtrar falsas señales y mejorar la precisión de la negociación. La estrategia se aplica a una variedad de mercados financieros, incluidas acciones, divisas y criptomonedas.
Breakouts altos y bajos: la estrategia utiliza un ciclo definido por el usuario (la línea K de 20 por defecto) para determinar los máximos y mínimos de cierre más recientes. Cuando los precios de cierre actuales superan estos niveles, se activa una señal de negociación potencial.
Indicador de tendencia alfa: es un indicador de seguimiento de tendencias basado en el ATR (rango real medio). Identifica la tendencia actual mediante un ajuste dinámico hacia arriba y hacia abajo. Se considera una tendencia alcista cuando el precio está por encima de la línea de tendencia alfa, y viceversa una tendencia descendente.
Filtración de media móvil: la estrategia utiliza la media móvil simple (SMA) como un filtro de tendencia adicional. Sólo se considera el exceso cuando el precio está por encima de la media móvil, por el contrario, se considera el exceso.
Se generan señales de transacción:
Gestión de riesgos: La estrategia tiene funciones de stop loss y stop stop. El usuario puede establecer niveles de stop loss y stop stop basados en porcentajes para controlar el riesgo y los beneficios de cada operación.
Confirmación múltiple: La estrategia reduce efectivamente las señales falsas y mejora la precisión de las operaciones mediante la combinación de brechas de precios, tendencias alfa y medias móviles.
Adaptabilidad: La estrategia puede adaptarse a diferentes condiciones de mercado y volatilidad, ya que el indicador de tendencia Alpha se ajusta automáticamente a las fluctuaciones del mercado.
Gestión de riesgos: La función de stop loss y stop-loss incorporada ayuda a controlar el riesgo de cada transacción y a proteger la seguridad de los fondos.
Visualización: La estrategia traza una variedad de indicadores y señales en un gráfico, lo que permite al comerciante comprender intuitivamente la situación del mercado y las posibles oportunidades de negociación.
Optimización de parámetros: los usuarios pueden ajustar varios parámetros según los diferentes mercados y preferencias personales, como el ciclo de ruptura, la longitud de la media móvil y el multiplicador de ATR.
Riesgo de mercado de choque: en mercados horizontales sin una tendencia clara, las estrategias pueden generar frecuentes falsas señales, lo que lleva a una sobrecomercialización y pérdidas.
Riesgo de deslizamiento: en mercados con brechas rápidas o de alta volatilidad, el precio de transacción real puede diferir significativamente de lo esperado y afectar el rendimiento de la estrategia.
Exceso de dependencia de datos históricos: La estrategia toma decisiones basadas en modelos de precios históricos, pero el rendimiento pasado no garantiza resultados futuros.
Sensibilidad de parámetros: el rendimiento de la estrategia puede ser altamente sensible a la configuración de parámetros, y la elección incorrecta de los parámetros puede causar resultados sub-óptimos.
Riesgo de reversión de la tendencia: en caso de una fuerte reversión de la tendencia, la estrategia puede no adaptarse a tiempo, lo que puede provocar mayores pérdidas.
Ajuste de parámetros dinámicos: se puede considerar el ajuste automático de los períodos de ruptura y los multiplicadores de ATR según la volatilidad del mercado para adaptarse a diferentes entornos de mercado.
Agregar confirmación de la cantidad de tránsito: el factor de la cantidad de tránsito se considera al generar la señal, lo que puede mejorar la fiabilidad de la ruptura.
Introducción de aprendizaje automático: Optimización de la selección de parámetros y filtración de señales con algoritmos de aprendizaje automático, lo que puede mejorar el rendimiento general de la estrategia.
Análisis de múltiples marcos de tiempo: combina marcos de tiempo más largos y más cortos para confirmar tendencias, lo que reduce las señales falsas y mejora la calidad de las transacciones.
Aumentar los indicadores de sentimiento del mercado: la integración de indicadores de sentimiento del mercado como VIX u otros puede ayudar a la estrategia a juzgar mejor el entorno del mercado.
Mejorar los métodos de detención de pérdidas: Considere el uso de detención de seguimiento o detención dinámica basada en ATR, lo que podría mejorar la eficacia de la gestión de riesgos.
Aumentar el control de la frecuencia de las transacciones: Implementar períodos de enfriamiento o restricciones en el número de transacciones diarias puede evitar el exceso de transacciones y reducir los costos de las transacciones.
La estrategia de ruptura alta y baja combinada con la tendencia alfa y el filtro de la media móvil es un sistema de negociación integral que identifica posibles cambios de tendencia y oportunidades de negociación a través de una combinación de múltiples indicadores técnicos. La ventaja de la estrategia radica en su mecanismo de confirmación multicapa y su función de gestión de riesgos incorporada, que le permite mantener un rendimiento relativamente estable en una variedad de condiciones de mercado.
La estrategia tiene el potencial de convertirse en una herramienta de negociación más robusta y adaptable a través de la optimización y mejora continuas, como el ajuste de parámetros dinámicos, el análisis de marcos de tiempo múltiples y la introducción de aprendizaje automático. Finalmente, se recomienda a los operadores que, antes de negociar en el mercado real, prueben y optimicen los parámetros de la estrategia en un entorno simulado para asegurarse de que cumplan con la capacidad de asumir el riesgo individual y los objetivos comerciales.
/*backtest
start: 2023-07-25 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("TRMUS", overlay=true)
// Kullanıcının ayarlayabileceği mum sayısı
length = input.int(20, minval=1, title="Number of Bars")
// Stop Loss ve Take Profit seviyeleri
stopLossPerc = input.float(2.0, title="Stop Loss %", minval=0.0) / 100.0
takeProfitPerc = input.float(4.0, title="Take Profit %", minval=0.0) / 100.0
// Trend filtresi için hareketli ortalama
maLength = input.int(50, minval=1, title="Moving Average Length")
ma = ta.sma(close, maLength)
// ATR ve Alpha Trend parametreleri
lengthATR = input.int(14, minval=1, title="ATR Length")
multiplier = input.float(1.5, minval=0.1, step=0.1, title="Multiplier")
// ATR hesaplaması
atr = ta.atr(lengthATR)
// Alpha Trend hesaplaması
upperLevel = close + (multiplier * atr)
lowerLevel = close - (multiplier * atr)
var float alphaTrend = na
alphaTrend := na(alphaTrend[1]) ? close : (close > lowerLevel[1] ? math.max(alphaTrend[1], lowerLevel) : close < upperLevel[1] ? math.min(alphaTrend[1], upperLevel) : alphaTrend[1])
// Son belirlenen mumun en yüksek ve en düşük kapanış fiyatlarını hesaplayalım
highestClose = ta.highest(close, length)
lowestClose = ta.lowest(close, length)
// Alım ve satım sinyalleri
buySignal = close > highestClose[1] and close[1] <= highestClose[1] and close > ma and close > alphaTrend
sellSignal = close < lowestClose[1] and close[1] >= lowestClose[1] and close < ma and close < alphaTrend
// Alım işlemi
if (buySignal)
strategy.entry("Buy", strategy.long, stop=close * (1 - stopLossPerc), limit=close * (1 + takeProfitPerc))
// Satım işlemi
if (sellSignal)
strategy.entry("Sell", strategy.short, stop=close * (1 + stopLossPerc), limit=close * (1 - takeProfitPerc))
// Grafik üzerine göstergeler ekleyelim
plot(highestClose, color=color.green, linewidth=2, title="Highest Close")
plot(lowestClose, color=color.red, linewidth=2, title="Lowest Close")
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(alphaTrend, color=color.orange, linewidth=2, title="Alpha Trend")
// Alım ve satım sinyalleri için işaretleyiciler ekleyelim
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")