Esta estrategia utiliza el indicador CT TTM Squeeze para identificar tendencias de precios y aplica trailing stops para controlar riesgos.
La estrategia utiliza el indicador CT TTM Squeeze para determinar las tendencias de precios.
Si osc cruza por encima de 0, se muestra en verde, indicando largo; si osc cruza por debajo de 0, se muestra en rojo, indicando corto.
Cuando OSC es positivo, ir largo; cuando OSC es negativo, ir corto.
La estrategia utiliza el oscilador osc para determinar la dirección de la tendencia y el dif para medir el impulso largo/cort. Cuando osc cruza por encima de 0, señala una tendencia alcista, por lo que va largo. Cuando osc cruza por debajo de 0, señala una tendencia bajista, por lo que va corto.
La estrategia tiene las siguientes ventajas:
El uso de CT TTM Squeeze para determinar tendencias tiene una precisión relativamente alta. CT TTM Squeeze considera ampliamente los promedios móviles, bandas de Bollinger y canales de Keltner, que pueden identificar eficazmente las tendencias de precios.
La aplicación del oscilador para determinar señales largas/cortas evita señales falsas en zonas sin tendencia. El oscilador puede filtrar eficazmente el impacto de pequeñas fluctuaciones de precios en las señales comerciales.
Las paradas de seguimiento se utilizan para controlar los riesgos al limitar las pérdidas para cada operación.
La estrategia tiene pocos parámetros y es fácil de optimizar. Con solo el parámetro de longitud, facilita pruebas rápidas para encontrar la combinación óptima de parámetros.
Las funciones de trazado muestran claramente las señales. Se utilizan diferentes colores para distinguir las señales largas / cortas y la fuerza, presentando visualmente los juicios de tendencia.
La estrategia también presenta los siguientes riesgos:
CT TTM Squeeze puede generar señales falsas en ciertas condiciones de mercado, lo que conduce a pérdidas comerciales.
Las señales pueden ser incorrectas cuando los precios se han invertido pero el oscilador no ha girado.
Las fluctuaciones normales pueden desencadenar la parada de trailing y forzar la salida si el nivel de stop se establece demasiado cerca.
La estrategia es adecuada sólo para productos con tendencias fuertes, no para mercados de rango.
La optimización excesiva puede conducir al ajuste de curvas.
La estrategia se puede optimizar en los siguientes aspectos:
Combinar múltiples indicadores para la precisión de la señal. Otros indicadores como MACD, KDJ se pueden agregar para optimizar las señales de entrada.
Añadir módulos de optimización de pérdida de parada para paradas más inteligentes.
Optimizar la gestión del dinero mediante pruebas de fracción fija, fórmula de Kelly, etc. Esto puede mejorar la eficiencia del uso del capital al tiempo que garantiza el riesgo por comercio.
La adaptación de los parámetros basados en las características del producto puede mejorar la adecuación de la estrategia.
Añadir algoritmos de aprendizaje automático para el aprendizaje adaptativo.
Esta estrategia utiliza CT TTM Squeeze para determinar la dirección de la tendencia, el oscilador cruzando 0 como señales de entrada, y las paradas traseras para gestionar los riesgos. Sus ventajas se encuentran en la alta precisión, fácil optimización, pero existen riesgos como el fallo del indicador, paradas demasiado apretadas.
/*backtest start: 2023-10-15 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("CT TTM Squeeze") length = input(title="Length", defval=20, minval=0) bband(length, mult) => sma(close, length) + mult * stdev(close, length) keltner(length, mult) => ema(close, length) + mult * ema(tr, length) // Variables e1 = (highest(high, length) + lowest(low, length)) / 2 + sma(close, length) osc = linreg(close - e1 / 2, length, 0) diff = bband(length, 2) - keltner(length, 1) osc_color = osc[1] < osc[0] ? osc[0] >= 0 ? #00ffff : #cc00cc : osc[0] >= 0 ? #009b9b : #ff9bff mid_color = diff >= 0 ? green : red // Strategy long = osc > 0 short = osc < 0 if long strategy.entry("Long", strategy.long) if short strategy.entry("Short", strategy.short) plot(osc, color=osc_color, style=histogram, linewidth=2) plot(0, color=mid_color, style=circles, linewidth=3)