
La estrategia es una estrategia de indicadores que utiliza tendencias para juzgar el equilibrio entre los altos y bajos a corto plazo y los costos promedio a corto y largo plazo. La estrategia tiene como objetivo aumentar la sensibilidad de las líneas cortas y reducir las pérdidas de la liquidación mediante el aumento de la función de nivelación de la media anterior y posterior, para reducir las pequeñas pérdidas en la liquidación, mientras se mantiene una gran ganancia en la aparición de bandas de onda.
Cálculo de costos a corto plazo: utilice las funciones ta.highest y ta.lowest para calcular los precios más altos y más bajos de la raíz de la línea K a corto plazo más reciente, y luego tome la media como costo a corto plazo
Calcula el costo a largo plazo: utilice la función ta.sma para calcular el promedio móvil simple del precio de cierre de la línea K de la raíz de largo plazo más reciente como costo a largo plazo
Calculación de la diferencia media: los costos a corto plazo menos los costos a largo plazo
Media plana: la media es suavizada para reducir los errores, donde se utiliza la media móvil simple de ta.sma
Determinación de la tendencia: establece un umbral de umbral, que se determina como una tendencia alcista cuando el promedio es mayor que el umbral, y como una tendencia bajista cuando el umbral es menor que el negativo
Entradas y salidas: seguimiento de la tendencia al alza cuando se hace más, seguimiento de la tendencia a la baja cuando se hace menos
La solución al riesgo:
La estrategia en su conjunto es una estrategia de seguimiento de tendencias muy simple y directa. En comparación con los indicadores comunes como las medias móviles, se puede juzgar el cambio de tendencia más rápidamente calculando la diferencia entre los costos a corto y largo plazo. Al mismo tiempo, la suavización también permite un mayor espacio para optimizar los parámetros, que se puede equilibrar entre la sensibilidad y la tasa de error ajustando los parámetros de suavización.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dead0001ing1
//@version=5
strategy("Trend-Following Indicator", overlay=true)
// 設置參數
shortTerm = input(5, "Short Term")
longTerm = input(20, "Long Term")
smooth = input(5, "Smoothing")
threshold = input(0, "Threshold")
// 計算短期成本
shortH = ta.highest(high, shortTerm)
shortL = ta.lowest(low, shortTerm)
shortCost = (shortH + shortL) / 2
// 計算長期成本
longCost = ta.sma(close, longTerm)
// 計算均差
deviation = shortCost - longCost
// 平滑均差
smoothedDeviation = ta.sma(deviation, smooth)
// 判斷順勢
isTrendingUp = smoothedDeviation > threshold
isTrendingDown = smoothedDeviation < -threshold
// 顯示順勢信號
plotshape(isTrendingUp, title="Trending Up", location=location.belowbar, color=color.green, style=shape.labelup, text="Up", size=size.small)
plotshape(isTrendingDown, title="Trending Down", location=location.abovebar, color=color.red, style=shape.labeldown, text="Down", size=size.small)
// 定義進出場策略
if isTrendingUp
strategy.entry("Long", strategy.long)
strategy.close("Long", when=isTrendingDown)
if isTrendingDown
strategy.entry("Short", strategy.short)
strategy.close("Short", when=isTrendingUp)