
La estrategia es una estrategia de seguimiento de tendencias basada en indicadores aleatorios lentos. Utiliza un promedio de línea K a largo plazo para suavizar los indicadores aleatorios lentos, para filtrar el ruido del mercado y bloquear las tendencias principales. La estrategia determina la hora de entrar y salir del mercado a través de la línea de sobreventa y sobreventa de los indicadores aleatorios lentos.
La estrategia primero calcula una K-valor SMA de 400 ciclos de longitud, y luego calcula una SMA de 275 ciclos de longitud para suavizar aún más la K-line. Esto hace que la K-line final sea muy suave, y básicamente sólo refleja la dirección de la tendencia principal del mercado. La estrategia utiliza el K-valor de este indicador aleatorio súper suave como señal de negociación.
Cuando la línea K cruza el rango de venta por encima de 23 desde abajo, haga más; cuando la línea K cruza el rango de venta por encima de 78.5 desde arriba y abajo, haga un descuento. La señal de posición cerrada es para que la línea K cruce nuevamente sus respectivos rango de venta por encima. De esta manera, la estrategia logra el efecto de seguir la tendencia principal.
La mayor ventaja de esta estrategia es el uso de indicadores aleatorios de velocidad lenta y súper suave para bloquear las principales tendencias del mercado y evitar ser influenciado por el ruido del mercado. La súper suavidad lo hace sensible solo a los cambios de tendencia más grandes, lo que filtra los cambios y oscilaciones de alta frecuencia.
Además, en comparación con las estrategias de promedios móviles más comunes, la estrategia capta los puntos de inflexión de la tendencia más rápidamente y tiene una ventana de ganancias más grande.
El principal riesgo de esta estrategia es que el mercado puede oscilar durante largos períodos de sobreventa y sobreventa, lo que lleva a pérdidas por entradas erróneas repetidas. En este caso, se requiere ajustar los parámetros adecuadamente para que la línea K sea más suave o ampliar el rango de los períodos de sobreventa y sobreventa.
Además, si la tendencia cambia, la línea K súper suave puede retrasar la identificación de la señal, lo que puede causar la pérdida de parte de las ganancias potenciales. En este caso, es necesario reducir el parámetro de la línea media de la línea K para que sea más sensible.
La estrategia puede ser optimizada en los siguientes aspectos:
Ajuste el ciclo de suavización de los valores K y D para encontrar la combinación óptima de parámetros
Prueba diferentes entradas de precios, como el precio de cierre, el precio típico, etc.
Aumentar el volumen de operaciones o los controles de posiciones, como el bloqueo de ATR, el control de la utilización de fondos, etc.
Aumentar el juicio auxiliar de indicadores como el MACD para evitar errores de ingreso
Aprendizaje automático para optimizar los parámetros
Este indicador aleatorio lento sigue la tendencia de la estrategia, captura las principales tendencias del mercado a través de un procesamiento súper suave, evita la interferencia de la alta frecuencia del ruido del mercado. Al mismo tiempo, existe un cierto riesgo de señales de identificación de retraso. Se puede optimizar la estrategia mediante el ajuste de los parámetros o la adición de condiciones auxiliares para mejorar la estabilidad y la rentabilidad de la estrategia.
/*backtest
start: 2023-12-20 00:00:00
end: 2023-12-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Slow Stochastic OB/OS Strategy", overlay=false )
smoothK = input(400, step=5)
price = input(ohlc4)
SMAsmoothK = input(275, step=5)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
plot(k, color=white)
smoothD = input(10, step=2)
d = sma(k, smoothD)
plot(d, color=red)
OB = input(78.5, step=0.5)
OS = input(23, step=0.5)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)
long = crossover(d, OS)
short = crossunder(d, OB)
strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)
//If you want to try to play with exits you can activate these!
closelong = crossover(d, OB)
closeshort = crossunder(d, OS)
strategy.close("Long", when=closelong)
strategy.close("Short", when=closeshort)