O recurso está a ser carregado... Carregamento...

Estratégia de Stop Loss & Take Profit com filtro de tendência e saída de exceção

Autora:ChaoZhang, Data: 2024-06-03 16:54:04
Tags:SMARSITRMATPSL

img

Resumo

Esta estratégia utiliza indicadores como a média móvel suave (SMA), o índice de força relativa (RSI), a verdadeira faixa (TR) e a média móvel de volume (MA de volume) em combinação com filtros de tendência, volume e condições de volatilidade para executar negócios quando critérios específicos são atendidos. A ideia principal por trás desta estratégia é entrar em uma posição longa quando o preço está abaixo do SMA200, a tendência é descendente e o volume e a volatilidade são baixos. Os níveis de stop loss e take profit são definidos na entrada. Além disso, a estratégia incorpora um mecanismo de saída excepcional, fechando a posição quando o RSI excede 70 ou quando os níveis de stop loss ou take profit pré-definidos são atingidos.

Princípios de estratégia

  1. Calcular indicadores como SMA, RSI, Volume MA e TR MA
  2. Determinar se a tendência atual é ascendente ou descendente
  3. Verificar se o volume e a volatilidade atuais são baixos
  4. Introduzir uma posição longa quando o preço estiver abaixo do SMA200 e estiverem preenchidas as condições de baixo volume e volatilidade
  5. Estabelecer o stop loss em 95% e o take profit em 150% do preço de entrada
  6. O valor da posição em risco deve ser calculado em função do valor da posição em risco.
  7. Forçar a fechar a posição quando a tendência mudar e o preço atravessar a SMA

Análise das vantagens

  1. Esta estratégia combina múltiplos indicadores técnicos para uma análise mais abrangente das condições de mercado
  2. O filtro de tendência e as condições de volume/volatilidade ajudam a evitar a negociação em ambientes desfavoráveis de mercado
  3. Estabelecer níveis claros de stop loss e take profit gerencia efetivamente o risco
  4. O mecanismo de saída excepcional permite o fechamento oportuno de posições em situações específicas, evitando perdas adicionais

Análise de riscos

  1. O desempenho da estratégia pode ser afectado pela escolha das definições dos parâmetros
  2. Em alguns casos, o preço pode reverter rapidamente após a ação da condição de entrada, levando a perdas
  3. A estratégia não considera factores fundamentais e pode ser influenciada por acontecimentos significativos

Orientações de otimização

  1. Considerar a incorporação de indicadores técnicos adicionais, tais como MACD, Bandas de Bollinger, etc., para melhorar a precisão de entrada e saída
  2. Otimizar as configurações do nível de stop loss e take profit, como usar trailing stops ou take profit dinâmico
  3. Ajustar dinamicamente os parâmetros da estratégia com base nas diferentes condições de mercado
  4. Introduzir um módulo de gestão de riscos, incluindo o dimensionamento das posições e a gestão de fundos

Resumo

Esta estratégia combina múltiplos indicadores técnicos com filtros de tendência, volume e condições de volatilidade para executar negócios em situações específicas. Ao definir níveis claros de stop loss e take profit e implementar um mecanismo de saída de exceção, a estratégia gerencia efetivamente o risco. No entanto, a estratégia tem certas limitações, pois fatores como seleção de parâmetros e anomalias de mercado podem afetar seu desempenho. Melhorias futuras podem ser feitas incorporando mais indicadores, otimizando configurações de parâmetros e adicionando componentes de gerenciamento de risco.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Strategia Stop Loss & Take Profit z Filtrem Trendu i Wyjątkiem", shorttitle="Smooth MA SL & TP with Exception", overlay=true)

// Parametry
tp_multiplier = input.float(1.5, title="Mnożnik Take Profit")
sl_percent = input.float(5, title="Procent Stop Loss")
wait_bars = input.int(3, title="Liczba Oczekiwanych Świec")
sma_period = input.int(200, title="Okres SMA")
rsi_period = input.int(14, title="Okres RSI")
vol_ma_period = input.int(20, title="Okres Średniej Wolumenu")
tr_ma_period = input.int(20, title="Okres Średniej Rzeczywistego Zakresu")

// Obliczenie Gładkiej Średniej Kroczącej
sma = ta.sma(close, sma_period)

// Obliczenie RSI
rsi = ta.rsi(close, rsi_period)

// Filtr Trendu
uptrend = close > sma
downtrend = close < sma

// Warunek konsolidacji: Niski wolumen i niska zmienność
niski_wolumen = volume < ta.sma(volume, vol_ma_period)
niska_zmienosc = ta.tr(true) < ta.sma(ta.tr(true), tr_ma_period)

// Warunek Wejścia (Long): Cena poniżej SMA 200 i filtr trendu w strefie czerwonej
warunek_wejscia = close < sma and niski_wolumen and niska_zmienosc and not uptrend

// Warunek Wyjścia ze strategii
warunek_wyjscia = downtrend and close > sma and ta.crossover(close, sma)

// Ustalanie Stop Loss i Take Profit
var float stop_loss = na
var float take_profit = na

var int indeks_wejscia = na

if (warunek_wejscia)
    stop_loss := close * (1 - sl_percent / 100)
    take_profit := close * (1 + tp_multiplier)
    indeks_wejscia := bar_index

// Handel
if (warunek_wejscia)
    strategy.entry("Long", strategy.long)

// Warunek Wyjścia: RSI w strefie wykupienia lub Stop Loss/Take Profit
if (strategy.opentrades != 0)
    if (rsi > 70)
        strategy.exit("Take Profit/Stop Loss", "Long", limit=take_profit)
    else if (bar_index - indeks_wejscia == wait_bars)
        strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss, limit=take_profit)

// Wyjątek: Warunek Wyjścia z Longów na podstawie zmiany trendu
if (warunek_wyjscia)
    strategy.close("Long")

// Rysowanie RSI
rsi_plot = plot(rsi, title="RSI", color=color.blue)

// Rysowanie Gładkiej Średniej Kroczącej
sma_plot = plot(sma, color=color.gray, title="Smooth MA", linewidth=2)

// Rysowanie Filtru Trendu
fill(sma_plot, rsi_plot, color=downtrend ? color.new(color.red, 90) : na)


Relacionados

Mais.