
Die Strategie ist eine Indikatorstrategie, die kurzfristige Höhen und Tiefen und die Differenz zwischen den kurzfristigen und langfristigen Durchschnittskosten nutzt, um Trends zu beurteilen. Die Strategie zielt darauf ab, die Kurzlinienempfindlichkeit zu erhöhen und die Verluste bei der Berechnung zu reduzieren, indem die vor- und nachgeschaltete Mittelwert-Gleichungsfunktion erhöht wird, um die kleinen Verluste bei der Berechnung zu verringern und gleichzeitig große Gewinne bei der Erscheinung von Bandbreiten zu halten.
Berechnen Sie die kurzfristigen Kosten: Berechnen Sie die höchsten und niedrigsten Preise der kürzlichsten ShortTerm Root K-Linie mit den Funktionen ta.highest und ta.lowest und nehmen Sie den Mittelwert als kurzfristige Kosten
Berechnen Sie die langfristigen Kosten: Berechnen Sie den einfachen Moving Average des Schlusskurses der jüngsten longTerm-Wurzel K-Linie mit der Funktion ta.sma als langfristige Kosten
Durchschnittliche Differenz: kurzfristige Kosten minus langfristige Kosten
Glatte Durchschnittsunterschiede: Die Durchschnittsunterschiede werden glatter behandelt, um Fehleinschätzungen zu verringern, wobei ta.sma als einfacher Moving Average verwendet wird
Beurteilung des Trends: Setzen Sie einen Schwellenwert, der als Aufwärtstrend beurteilt wird, wenn der Gleitmittelwert größer als der Schwellenwert ist, und als Abwärtstrend, wenn der Schwellenwert kleiner als negativ ist
Ein- und Ausstieg: Aufwärts- und Abwärtstrend bei Über- und Abwärtstrend
Die Risiken können auf folgende Weise gelöst werden:
Die Strategie insgesamt ist eine sehr einfache und direkte Trend-Tracking-Strategie. Im Vergleich zu gängigen Moving Averages und ähnlichen Indikatoren kann die Trendwende schneller beurteilt werden, indem die Mittelwerte für die kurz- und langfristigen Kosten berechnet werden. Gleichzeitig bietet die Glättung auch einen größeren Raum für die Optimierung der Parameter, die durch Anpassung der Glättungsparameter ausgeglichen werden können.
/*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)