
Cette stratégie est une stratégie d’indicateur de tendance qui utilise les hauts et les bas à court terme et le décalage entre les coûts moyens à court et à long terme. La stratégie vise à augmenter la sensibilité de la courbe courte, en augmentant la fonction d’aplatissement de la valeur moyenne avant et après pour réduire les pertes d’équilibrage afin de réduire les petites pertes dans l’équilibrage, tout en conservant les gains importants lorsque les bandes apparaissent.
Calculer le coût à court terme: calculer le prix le plus élevé et le prix le plus bas de la racine courte de K en utilisant les fonctions ta.highest et ta.lowest, puis calculer la moyenne comme coût à court terme
Calculer le coût à long terme: utiliser la fonction ta.sma pour calculer la moyenne mobile simple du prix de clôture du dernier longTerm root K comme coût à long terme
Calcul de l’écart moyen: coûts à court terme moins coûts à long terme
Une moyenne mobile simple est utilisée ici avec ta.sma pour lisser la moyenne afin de réduire les erreurs de jugement
Déterminer la tendance: définir un seuil de seuil, juger la tendance à la hausse lorsque le seuil est supérieur à la moyenne de l’équilibre, juger la tendance à la baisse lorsque le seuil est inférieur à négatif
Entrée et sortie: suivi de la hausse à la hausse, suivi de la baisse à la baisse
Comment gérer les risques:
L’ensemble de la stratégie est une stratégie de suivi de tendance très simple et directe. Comparée aux moyennes mobiles et autres indicateurs courants, elle permet de juger plus rapidement le renversement de tendance en calculant la moyenne des coûts à court et à long terme.
/*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)