Chande-Kroll Stop Loss Dynamic ATR Tendência Seguindo Estratégia

SMA ATR SPX
Data de criação: 2024-06-14 15:15:43 última modificação: 2024-06-14 15:15:43
cópia: 0 Cliques: 736
1
focar em
1617
Seguidores

Chande-Kroll Stop Loss Dynamic ATR Tendência Seguindo Estratégia

Visão geral

A estratégia de rastreamento de tendências do Chande-Kroll Stop Loss Dynamic ATR é uma estratégia de negociação quantitativa baseada no indicador de parada de Chande-Kroll e na média móvel simples (SMA). A estratégia visa capturar tendências ascendentes no mercado, enquanto usa paradas dinâmicas para gerenciar o risco. O indicador de parada de Chande-Kroll Dynamic ATR ajusta os níveis de parada de acordo com a média real da amplitude da onda (ATR) para se adaptar a diferentes situações de volatilidade do mercado.

Princípio da estratégia

O núcleo da estratégia é o indicador de stop loss Chande-Kroll, que usa o ATR para calcular os níveis de stop loss dinâmicos. O ATR mede a volatilidade do mercado e os níveis de stop loss são ajustados de acordo com o ATR e a dinâmica multiplicativa. Isso garante que as posições de stop loss sejam adequadas às condições atuais do mercado. Faça mais: comece a fazer mais quando o preço de fechamento quebrar a trajetória de baixa de Chande-Kroll e estiver acima do SMA de 21 ciclos. Condições de equilíbrio: equilíbrio quando o preço de fechamento cai abaixo da trajetória de Chande-Kroll.

Vantagens estratégicas

  1. Paradas dinâmicas: O indicador de paradas de Chande-Kroll é baseado no cálculo do nível de paradas dinâmicas do ATR, capaz de se adaptar a diferentes situações de volatilidade do mercado, aumentando a eficácia das paradas.
  2. Acompanhamento de tendências: o SMA de 21 ciclos funciona como um filtro de tendências, assegurando que as negociações seguem a direção das principais tendências e reduzindo o risco de negociações contractuais.
  3. Flexibilidade de parâmetros: os parâmetros da estratégia, como o ciclo ATR, o multiplicador ATR, o ciclo de parada e o ciclo SMA, podem ser ajustados de acordo com as preferências do usuário, aumentando a adaptabilidade da estratégia.
  4. Gerenciamento do tamanho da posição: o tamanho da posição é ajustado dinamicamente de acordo com o multiplicador de risco e a atual situação de volatilidade do mercado, permitindo a gestão dinâmica do risco.

Risco estratégico

  1. Risco de otimização de parâmetros: os parâmetros da estratégia precisam ser otimizados de acordo com diferentes condições de mercado e variedades de negociação, e a configuração inadequada de parâmetros pode levar a um mau desempenho da estratégia.
  2. Riscos de identificação de tendências: Na fase inicial de um mercado de turbulência ou de uma reversão de tendência, a estratégia pode produzir sinais errados, resultando em perdas.
  3. Pontos de deslizamento e custos de transação: em transações reais, pontos de deslizamento e custos de transação afetam o lucro líquido da estratégia. As medidas de gerenciamento de risco incluem: avaliação abrangente da estratégia e otimização de parâmetros; Seguir rigorosamente as regras da estratégia nas negociações reais, controlando o risco de cada transação; Avaliação periódica do desempenho da estratégia, ajustando-a se necessário.

Direção de otimização da estratégia

  1. Tráfico bidirecional multi-espaço: a estratégia atual é apenas fazer sinais múltiplos, que podem ser expandidos para o comércio bidirecional multi-espaço para capturar as oportunidades em diferentes cenários de mercado.
  2. Otimização de parâmetros dinâmicos: usa algoritmos de aprendizado de máquina ou otimização para ajustar os parâmetros da estratégia em tempo real de acordo com as condições do mercado, aumentando a adaptabilidade.
  3. Combinação de outros indicadores técnicos: introdução de outros indicadores de tendência ou de choque, construção de estratégias multifatoriais, aumento da confiabilidade do sinal.
  4. Adição de indicadores de sentimento de mercado: em combinação com indicadores de sentimento de mercado, como o VIX, para controlar a negociação em momentos de extrema emoção no mercado e melhorar a capacidade de gerenciamento de risco.

Resumir

A estratégia de seguimento de tendências ATR de stop loss dinâmico de Chande-Kroll é uma estratégia de negociação quantitativa baseada nos princípios de stop loss dinâmico e de seguimento de tendências. Através da combinação do indicador de stop loss de Chande-Kroll e do filtro de tendências SMA, a estratégia permite gerenciar o risco de forma eficaz, enquanto capta a tendência ascendente. A flexibilidade dos parâmetros da estratégia, juntamente com o ajuste dinâmico da escala de posições, aumenta ainda mais a adequação da estratégia.

Código-fonte da estratégia
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Chande Kroll Stop Strategy", overlay=true, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.01, slippage = 3)

// Chande Kroll Stop parameters
calcMode = input.string(title="Calculation Mode", defval="Exponential", options=["Linear", "Exponential"])
riskMultiplier = input(5, "Risk Multiplier")
atrPeriod = input(10, "ATR Period")
atrMultiplier = input(3, "ATR Multiplier")
stopLength = input(21, "Stop Length")
smaLength = input(21, "SMA Length")

// Calculate ATR
atr = ta.atr(atrPeriod)

// Calculate Chande Kroll Stop
highStop = ta.highest(high, stopLength) - atrMultiplier * atr
lowStop = ta.lowest(low, stopLength) + atrMultiplier * atr

sma21 = ta.sma(close, smaLength)

// Entry and Exit conditions
longCondition = ta.crossover(close, lowStop) and close > sma21
exitLongCondition = close < highStop

// Funktion zur Berechnung der Menge
calc_qty(mode, riskMultiplier) =>
    lowestClose = ta.lowest(close, 1560)
    if mode == "Exponential"
        qty = riskMultiplier / lowestClose * 1000 * strategy.equity / strategy.initial_capital
    else
        qty = riskMultiplier / lowestClose * 1000

// Berechnung der Menge basierend auf der Benutzerwahl
qty = calc_qty(calcMode, riskMultiplier)

// Execute strategy
if (longCondition)
    strategy.entry("Long", strategy.long, qty=qty)
    alert("Buy Signal", alert.freq_once_per_bar_close)

if (exitLongCondition)
    strategy.close("Long")
    alert("Sell Signal", alert.freq_once_per_bar_close)

// Plotting
plotshape(series=longCondition, location=location.belowbar, color=#0097a7, style=shape.triangleup, size=size.small, title="Buy Signal")
plotshape(series=ta.crossunder(close, highStop), location=location.abovebar, color=#ff195f, style=shape.triangledown, size=size.small, title="Sell Signal")
plot(sma21, color=color.gray)
plot(highStop, color=#0097a7)
plot(lowStop, color=#ff195f)