Эта стратегия использует отклонение между краткосрочной высокой низкой и краткосрочной и долгосрочной средней стоимостью для определения тенденции. Она направлена на повышение краткосрочной чувствительности и снижение стоимости консолидации путем увеличения предыдущих и последующих средних функций сглаживания, чтобы уменьшить небольшие потери во время консолидации при сохранении значительной прибыли при появлении тенденций.
Вычислить краткосрочную стоимость: Используйте функции ta.highest и ta.lowest для вычисления наивысшей и наименьшей цены недавних свечей ShortTerm и возьмите среднюю стоимость в краткосрочной перспективе
Расчет долгосрочной стоимости: Используйте функцию ta.sma для расчета простой скользящей средней цены закрытия недавних долгосрочных свечей как долгосрочной стоимости
Расчет отклонения: вычесть долгосрочные издержки из краткосрочных издержек
Гладкое отклонение: сгладить отклонение для уменьшения ошибочных оценок с использованием ta.sma для простой скользящей средней
Определить тенденцию: если сглаженное отклонение больше порогового значения, расценить его как тенденцию к росту. Если меньше отрицательного порогового значения, расценить его как тенденцию к снижению.
Вход и выход: идти длинный, когда отслеживается восходящий тренд, и идти короткий, когда отслеживается нисходящий тренд.
Решение рисков:
В целом, это очень простая и прямая стратегия, следующая за трендом. По сравнению с обычными показателями, такими как скользящие средние, путем расчета отклонения между краткосрочными и долгосрочными затратами, он может быстрее оценивать изменения тренда. Между тем, обработка сглаживания также обеспечивает большую гибкость в оптимизации параметров, позволяя сбалансировать чувствительность и погрешность оценки путем корректировки параметров сглаживания. Вкратце, эта стратегия обладает такими характеристиками, как гибкость, прямота и высокая настраиваемость. Это многообещающая стратегия, которую стоит углубить в изучение.
/*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)