
La estrategia utiliza una combinación de indicadores técnicos, como bandas de oscilación, indicadores de fuerza relativamente débiles e indicadores de dispersión de medias móviles, para tomar decisiones de compra y venta. En primer lugar, la estrategia traza bandas de oscilación tradicionales en el gráfico, a diferencia de las áreas de bandas de dos colores para representar dos diferentes niveles de diferencia estándar.
En primer lugar, la estrategia consiste en trazar una franja de 34 periodos en el gráfico, que contiene un medio, un umbral y un umbral de una diferencia estándar y dos diferencias estándar.
Cuando el precio de cierre se eleva, se hace una apertura de posición múltiple. Cuando el precio de cierre se eleva, se hace una apertura de posición vacía.
Cuando se mantiene una posición con más titulares, la posición de liquidación es más simple si el precio de cierre está por debajo de la línea media. Cuando se mantiene una posición con más titulares, la posición de liquidación es más simple si el precio de cierre está por encima de la línea media.
La estrategia también introdujo el indicador RSI, con confirmaciones adicionales para la apertura de posiciones de más de 70 puntos por encima del RSI, y con confirmaciones adicionales para la apertura de posiciones de menos de 30 puntos por debajo del RSI.
Cuando el RSI pasa de 50, la posición está en blanco. Cuando el RSI pasa de 50, la posición está en blanco.
La estrategia también introdujo el indicador MACD, como confirmación adicional para la apertura de posiciones de más cabeza en el MACD Gold Fork, y como confirmación adicional para la apertura de posiciones de cabeza vacía en el MACD Dead Fork.
Cuando el MACD es un tenedor muerto, la posición está en equilibrio. Cuando el MACD es un tenedor dorado, la posición está en equilibrio.
En resumen, la estrategia requiere que las bandas de oscilación, el RSI y el MACD cumplan las tres condiciones al mismo tiempo para abrir una posición. Las condiciones de posición plana también consideran los tres indicadores, lo que reduce la probabilidad de señales erróneas.
El uso integrado de múltiples señales de filtro de indicadores puede evitar el error de negociación. La volatilidad trae una señal de ruptura de precios, el filtro RSI sobrecompra sobreventa, el filtro MACD cambia la tendencia de la situación, los tres confirman la señal, lo que puede aumentar considerablemente la probabilidad de ganancias.
La estrategia también establece una lógica de posición abierta y de posición abierta diferente, que controla estrictamente el riesgo de la posición. El eje central, el eje central RSI 50 y el tenedor dorado de la MACD se introducen como condiciones de posición plana, lo que permite un alto rápido y una reducción de las pérdidas individuales.
En comparación con la estrategia de un solo indicador, esta estrategia combina las ventajas de varios indicadores, lo que puede aumentar significativamente la rentabilidad y la probabilidad de ganar, reduciendo el máximo retiro. El filtro de combinación de múltiples indicadores puede reducir la probabilidad de operaciones erróneas, y un estricto mecanismo de stop loss puede controlar el impacto de cada operación de pérdida.
En general, esta estrategia es muy adecuada para el comercio de tendencias de largo y medio plazo, ya que permite capturar las principales tendencias del mercado y evitar la captura de los detalles del indicador. El mecanismo de control de riesgo de múltiples indicadores también le permite utilizar con seguridad un mayor nivel de palanca.
La estrategia tiene los siguientes riesgos:
La probabilidad de que el indicador emita una señal falsa. Aunque la combinación de varios indicadores puede reducir la señal errónea, no es posible eliminarla por completo. Se requiere optimizar los parámetros del indicador para reducir la tasa de señal falsa.
No se puede obtener ganancias de una sola manera. Cuando la tendencia se tambalea, el stop loss puede desencadenarse y no se puede obtener ganancias de manera duradera. Se puede relajar adecuadamente el estándar de stop loss y prolongar el período de tenencia de la posición.
Algunos indicadores se quedan atrás y pueden perder el mejor momento para abrir una posición. Se pueden probar indicadores más avanzados para capturar el giro antes.
La brecha de salto de gran magnitud invalida el stop loss. Se puede configurar el stop loss de canal o aumentar gradualmente la posición para controlar la pérdida.
Los parámetros son demasiado fijos y se ajustan a los diferentes mercados. Se pueden introducir parámetros de optimización automática de aprendizaje automático.
Los datos de las pruebas son insuficientes y puede haber una sobreadaptación. La solidez de las estrategias debe ser probada en un período de tiempo más largo y en varios mercados.
La estrategia puede ser optimizada en los siguientes aspectos:
Optimización de los parámetros del indicador para encontrar la combinación de parámetros de la banda de oscilación, el ciclo RSI y el MACD más adecuados, reduciendo las señales falsas. Se puede buscar el parámetro óptimo mediante métodos como el paso a paso, el recorrido.
Aumentar el mecanismo de parada de pérdidas de adaptación, en lugar de la parada fija de la vía media. Se puede combinar factores como ATR, tendencias y ajuste dinámico de la posición de parada.
La introducción de la tecnología de aprendizaje automático permite la optimización de la adaptación de los parámetros. Se puede utilizar el aprendizaje por refuerzo para optimizar los parámetros en diferentes condiciones de mercado.
Aumentar las reglas de juicio de tendencias, distinguir las diferentes estrategias en diferentes etapas y mejorar la capacidad de adaptación dinámica de las estrategias.
La combinación de análisis de texto, datos sociales y otros factores ha permitido mejorar la predicción de múltiples factores, y el uso de indicadores más avanzados para determinar los puntos de inflexión con anticipación.
Optimización de la rentabilidad, ajuste el tamaño de la posición según el volumen de fondos, para que los ingresos puedan alcanzar un crecimiento exponencial.
Optimización de la cartera, búsqueda de estrategias complementarias para reducir la volatilidad de los beneficios de la cartera utilizando la no correlación.
Esta estrategia utiliza una combinación de varios indicadores técnicos para el juicio de entrada y salida, y establece reglas estrictas de stop loss. En comparación con un solo indicador, la combinación de varios indicadores puede reducir significativamente las señales falsas y aumentar la probabilidad de obtener ganancias.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
// Bollinger Bands: Madrid : 14/SEP/2014 11:07 : 2.0
// This displays the traditional Bollinger Bands, the difference is
// that the 1st and 2nd StdDev are outlined with two colors and two
// different levels, one for each Standard Deviation
strategy(shorttitle='MBB', title='Bollinger Bands', overlay=true, currency=currency.NONE, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_value = 0.05)
src = input(close)
length = input.int(34, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(src, length)
dev = ta.stdev(src, length)
dev2 = mult * dev
upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2
colorBasis = src >= basis ? color.blue : color.orange
pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0))
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0))
fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))
//Strategy code starts here
long_entry = ta.crossover(src, upper1)
short_entry = ta.crossunder(src, lower1)
strategy.entry("Long", strategy.long, when=long_entry)
strategy.entry("Short", strategy.short, when=short_entry)
if long_entry or close < basis
strategy.close("Long", "Long")
if short_entry or close > basis
strategy.close("Short", "Short")
//Calculate RSI
rsiLength = input(14)
rsiValue = ta.rsi(src, rsiLength)
// Define RSI conditions for entering and exiting trades
rsiLong = rsiValue > 70
rsiShort = rsiValue < 30
//Enter long position when RSI crosses above 50 and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong)
//Exit long position when RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=rsiShort or close < basis)
//Enter short position when RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort)
//Exit short position when RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=rsiLong or close > basis)
//Calculate MACD
fastLength = input(12)
slowLength = input(26)
macdLength = input(9)
macdValue = ta.macd(src, fastLength, slowLength, macdLength)
// Define MACD conditions for entering and exiting trades
macdLong = ta.crossover(src, macdLength)
macdShort = ta.crossunder(src, macdLength)
//Enter long position when MACD crosses above signal line and RSI and Bollinger Bands long entry condition is met
strategy.entry("Long", strategy.long, when=long_entry and rsiLong and macdLong)
//Exit long position when MACD crosses below signal line or RSI crosses below 50 or Bollinger Bands exit condition is met
strategy.close("Long Exit", when=macdShort or rsiShort or close < basis)
//Enter short position when MACD crosses below signal line and RSI crosses below 50 and Bollinger Bands short entry condition is met
strategy.entry("Short", strategy.short, when=short_entry and rsiShort and macdShort)
//Exit short position when MACD crosses above signal line or RSI crosses above 50 or Bollinger Bands exit condition is met
strategy.close("Short Exit", when=macdLong or rsiLong or close > basis)