Эта стратегия представляет собой долгосрочную торговую стратегию, которая устанавливает динамические стоп-лосс на основе простой скользящей средней (SMA) и среднего истинного диапазона (ATR).
Стратегия использует SMA 200 для определения направления основного тренда и устанавливает линию стоп-лосса динамически с ATR 14, реализуя динамическую последующую стоп-лосс. В частности, сигнал покупки запускается, когда цена закрытия прорывается через SMA 200 плюс ATR 14. Этот прорыв означает, что текущий рынок остается в восходящей тенденции. Сигнал стоп-лосса запускается, когда цена закрытия прорывается через SMA 200 минус ATR 14. Этот прорыв означает, что восходящая тенденция нарушена.
Эта стратегия сочетает в себе преимущества как индикаторов SMA, так и ATR. SMA 200 фильтрует рыночный шум и блокирует в первичном направлении тренда. ATR 14 устанавливает линию остановки потери на основе волатильности последних двух недель, реализуя динамическую функцию остановки потери. Это достигает устойчивой прибыльности в рамках тренда, а также эффективно контролирует снижения.
Высокое соотношение прибыли/убытка.
Динамическая стоп-лосс с ATR уменьшает влияние спорадических шоков на рынке.
Простые параметры. Только два параметра балансируют риски и доходы, избегая перенапряжения.
Некоторые риски этой стратегии должны быть рассмотрены:
Риск изменения тренда. Сама стратегия не может определить изменение тренда, что может привести к огромным потерям, если внезапно произойдет изменение тренда.
Риск отставания SMA. SMA имеет определенный эффект отставания, который не может мгновенно отражать изменение тренда.
Неправильное установление параметров ATR может повлиять на эффективность стратегии.
Решения:
Эта стратегия может быть дополнительно оптимизирована из следующих аспектов:
Испытать различные комбинации параметров SMA и ATR, чтобы найти оптимальный.
Добавьте дополнительные технические показатели для оценки обратного движения, например, MACD.
Оптимизировать механизм стоп-лосса с отслеживанием стоп-лосса, движением стоп-лосса и т.д.
Объедините фундаментальные факторы, чтобы избежать покупки акций с слабыми фундаментальными показателями.
Эта стратегия объединяет методы отслеживания тренда и динамического управления рисками для оптимизации стоп-лосса и получения прибыли в течение длительных периодов хранения. Она имеет высокое соотношение прибыли / убытка, контролируемые снижения и сбалансированный профиль риска / дохода.
/*backtest start: 2023-01-30 00:00:00 end: 2024-02-05 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA+ATR Strategie", overlay=true) // Benutzer-Inputs für SMA, ATR und die Anzeigeoption smaLength = input(200, title="SMA Länge") atrLength = input(14, title="ATR Länge") showSMAandATR = input(true, title="Zeige SMA und ATR-Bänder") // Berechnung von SMA und ATR sma = ta.sma(close, smaLength) atr = ta.atr(atrLength) // Kauf- und Verkaufslogik basierend auf SMA und ATR buyCondition = close > sma + atr sellCondition = close < sma - atr // Variable zum Speichern des Eintrittspreises var float entryPrice = na // Kauf- und Verkaufssignale if (buyCondition) strategy.entry("Buy", strategy.long) entryPrice := close // Speichere den Eintrittspreis if (sellCondition) // Nur wenn ein Kauf stattgefunden hat if not na(entryPrice) // Berechne die Performance seit dem Kaufsignal performanceSinceBuy = ((close - entryPrice) / entryPrice) * 100 // Anzeigen der Performance // Wähle die Box-Farbe basierend auf dem Vorzeichen der Performance plColor = performanceSinceBuy >= 0 ? color.green : color.red // Anzeigen der Performance in der entsprechenden Farbe plBox = "P/L: " + str.tostring(performanceSinceBuy, "#.##") + "%" label.new(bar_index, high, text=plBox, color=plColor, textcolor=color.white, style=label.style_label_center, yloc=yloc.price) // Schließe den Trade und setze den Eintrittspreis zurück strategy.close("Buy") entryPrice := na // Optionale Anzeige von SMA und ATR-Band plot(showSMAandATR ? sma : na, color=color.blue, title="SMA 200") plot(showSMAandATR ? sma + atr : na, color=color.green, title="SMA 200 + ATR") plot(showSMAandATR ? sma - atr : na, color=color.red, title="SMA 200 - ATR")