
La estrategia de cruce de líneas K de desviación estándar de varios períodos de tiempo es una estrategia típica de seguimiento de tendencias. La estrategia construye varios grupos de líneas K y líneas D mediante el cálculo de los valores de desviación estándar de diferentes períodos de tiempo (como el sol, el solsticio, el lunar, etc.), y luego toma el promedio de estas líneas para construir una línea media.
La lógica central de esta estrategia es calcular la desviación estándar en varios períodos de tiempo y luego construir una señal de transacción con una media.
Primero, la estrategia fue aprobada.stoch()La función calcula los valores de K de la desviación estándar bajo diferentes parámetros, donde se calculan un total de 5 grupos de valores de K, los correspondientes períodos de tiempo son el nivel de la línea solar, la línea de circunferencia y la línea lunar.
smoothK = input(55)
SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
smoothK1 = input(89)
SMAsmoothK1 = input(8)
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)
...
smoothK4 = input(377)
SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)
Luego se calculan las líneas D con diferentes parámetros:
smoothD = input(34)
d = sma(k, smoothD)
...
smoothD4 = input(233)
d4 = sma(k4, smoothD4)
Luego, se calcula el promedio de los grupos de líneas K y D para construir la línea rápida Kavg y la línea lenta Davg:
Kavg = avg(k,k1,k2,k3,k4)
Davg = avg(d,d1,d2,d3,d4)
Por último, cuando la línea es rápida, hay que hacer más, y cuando la línea es lenta, hay que hacer menos:
long = crossover(Kavg, Davg)
short = crossunder(Kavg, Davg)
Mediante la combinación de las medias de la desviación estándar de varios períodos de tiempo, se puede eliminar el ruido del mercado en períodos de tiempo más grandes y bloquear la dirección de las principales tendencias.
Solución:
Aumentar las condiciones de filtración para evitar falsos avances a corto plazo
Utiliza la configuración de ciclo adaptativo para ajustar los parámetros de ciclo en función de la volatilidad del mercado
Configure el stop móvil para detener el daño a tiempo y evitar que el precio suba y baje.
Optimización de los parámetros de ciclo de la mediana para encontrar el punto de equilibrio óptimo
Combinar más señales de indicadores para mejorar la estabilidad de la estrategia
La estrategia puede ser optimizada en los siguientes aspectos:
La introducción de otras señales de indicadores en combinación, como la introducción de MACD, Bollinger Bands, etc., puede mejorar la calidad de la señal
Añadir filtros de tendencia, como la introducción de la dirección de la línea media SMA, indicadores como el ADX para juzgar la tendencia y evitar el comercio de contravalores
Parámetros de ciclo de ajuste dinámico según la volatilidad del mercado con una configuración de ciclo de adaptación
Aumentar la estrategia de stop loss móvil, establecer el punto de stop loss en función de los parámetros de la estrategia y detener el stop loss a tiempo
Optimización de los parámetros de ciclo promedio de las líneas rápidas y lentas para encontrar la combinación óptima de parámetros
Añadir condiciones de filtración de almacenamiento abierto para evitar señales engañosas de ruido a corto plazo
Prueba una estrategia de entrada por breakout y abre una posición después de romper la línea media.
Prueba de diferentes estrategias de salida, como la salida de Chandelier, para optimizar el stop loss
La estrategia de cruce de líneas K de desviación estándar de varios períodos de tiempo integra la capacidad de seguimiento de tendencias de los indicadores de desviación estándar y la estabilidad de la estrategia de línea uniforme. Mediante el cálculo de la media de las líneas K y D de desviación estándar de varios períodos, la construcción de señales de negociación permite aprovechar eficazmente el poder de predicción de los indicadores de desviación estándar en diferentes escalas de tiempo, filtrar el ruido del mercado y capturar la dirección de la tendencia principal.
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="Slow Stochastic Multi K&D Average Crossover Strategy", overlay=false, pyramiding=0, calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100)
price = input(close)
///////////////////////////////
smoothK = input(55)
SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
smoothD = input(34)
d = sma(k, smoothD)
///////////////////////////
smoothK1 = input(89)
SMAsmoothK1 = input(8)
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)
smoothD1 = input(55)
d1 = sma(k1, smoothD1)
//////////////////////////////////////
smoothK2 = input(144)
SMAsmoothK2 = input(5)
k2 = sma(stoch(price, high, low, smoothK2), SMAsmoothK2)
smoothD2 = input(89)
d2 = sma(k2, smoothD2)
/////////////////////////////////////
smoothK3 = input(233)
SMAsmoothK3 = input(3)
k3 = sma(stoch(price, high, low, smoothK3), SMAsmoothK3)
smoothD3 = input(144)
d3 = sma(k3, smoothD3)
////////////////////////////////////////////////
smoothK4 = input(377)
SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)
smoothD4 = input(233)
d4 = sma(k4, smoothD4)
/////////////////////////////////////////////////
Kavg = avg(k,k1,k2,k3,k4, k4)
plot(Kavg, color=green)
Davg = avg(d,d1,d2,d3,d4, d4)
plot(Davg, color=red)
///////////////////////////////////////
hline(50, color=gray)
long = crossover(Kavg, Davg)// and d < 50
short = crossunder(Kavg, Davg)// and d > 50
last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)
strategy.entry("Long", strategy.long, when=long_signal)
strategy.entry("Short", strategy.short, when=short_signal)
//len1 = input(3)
//closelong = d[1] < k[len1]
//closeshort = d[1] > k[len1]
//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)