Esta estratégia é uma estratégia de negociação de longo prazo que define stop loss dinâmico baseado na média móvel simples (SMA) e na faixa média verdadeira (ATR).
Entre longo quando o preço de fechamento cruza acima do SMA 200 mais ATR 14, feche a posição quando o preço de fechamento cruza abaixo do SMA 200 menos ATR 14. A estratégia usa o SMA 200 para determinar a direção da tendência principal e define a linha de stop loss dinamicamente com o ATR 14, realizando uma stop loss dinâmica.
Esta estratégia combina as vantagens de ambos os indicadores SMA e ATR. O SMA 200 filtra o ruído do mercado e bloqueia na direção da tendência primária. O ATR 14 define a linha de stop loss com base na volatilidade das últimas duas semanas, realizando a função de stop loss de trailing dinâmico. Isso alcança lucratividade sustentada dentro da tendência, ao mesmo tempo em que também controla as reduções efetivamente. As vantagens gerais são:
Acompanhar as tendências e controlar os riscos leva a uma maior relação lucro/perda.
O stop loss dinâmico com ATR reduz o impacto de choques esporádicos do mercado.
Parâmetros simples, apenas dois parâmetros equilibram riscos e retornos, evitando excesso de adaptação.
Alguns riscos desta estratégia devem ser tratados:
Risco de inversão de tendência: a própria estratégia não pode identificar a inversão de tendência, o que pode levar a perdas enormes se aparecer uma inversão súbita da tendência.
Risco de atraso da SMA A SMA tem algum efeito de atraso que não pode refletir a mudança de tendência instantaneamente.
Risco de parâmetros ATR: configuração inadequada dos parâmetros ATR pode influenciar o desempenho da estratégia.
Soluções:
Esta estratégia pode ser melhorada a partir dos seguintes aspectos:
Teste diferentes combinações de parâmetros SMA e ATR para encontrar o ideal.
Adicionar mais indicadores técnicos para avaliar a reversão, por exemplo, MACD.
Otimizar o mecanismo de stop loss com stop loss de trail, stop loss em movimento, etc.
Combine fatores fundamentais para evitar comprar ações com fatores fundamentais fracos.
Esta estratégia integra métodos de rastreamento de tendências e gestão de risco dinâmico para otimizar o stop loss e tirar lucro durante longos períodos de detenção. Possui alta relação lucro/perda, drawdowns controláveis e perfil de risco/retorno equilibrado. Mas também tem alguns riscos de inversão de tendência e dificuldade na otimização de parâmetros.
/*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")