Stop loss dinâmico e estratégia ascendente


Data de criação: 2023-11-21 15:22:44 última modificação: 2023-11-21 15:22:44
cópia: 0 Cliques: 643
1
focar em
1617
Seguidores

Stop loss dinâmico e estratégia ascendente

Visão geral

A estratégia de seguimento de stop loss dinâmico através da calculação da média real de ações ATR como referência, em combinação com a configuração do usuário ATR coeficiente dinâmico para definir a linha de stop loss e linha de seguimento, para atingir o objetivo de stop loss. Quando o preço da ação quebrar a linha de seguimento, a utilização de uma estratégia de seguimento de tendência tradicional para criar uma posição multi-termo; quando o preço da ação cair a linha de stop loss, a utilização de uma estratégia de reversão para criar uma posição em aberto, a utilização de negociação bidirecional para obter lucro.

Princípio da estratégia

A estratégia utiliza o indicador ATR para calcular a média real de variação do preço das ações, combinando o coeficiente ATR com a entrada do usuário como base para a compra e venda de stops. Concretamente, a estratégia primeiro calcula o valor ATR dos últimos 120 dias da ação, e depois multiplica o coeficiente ATR de venda e venda definido pelo usuário para obter o preço de referência de parada e venda, ou seja, a linha de parada; multiplica o coeficiente ATR de compra e compra para obter o preço de referência de compra, ou seja, a linha de retorno.

A estratégia traça simultaneamente uma linha de stop loss e uma linha de retorno, cuja posição varia de acordo com a flutuação do preço das ações, com uma função de rastreamento dinâmico. O indicador ATR pode refletir melhor a média real da flutuação das ações.

Análise de vantagens

  • Utilizando o indicador ATR para calcular a amplitude de flutuação do preço das ações, o stop loss segue a linha de referência de posição razoável;
  • A linha de parada e a linha de acompanhamento são dinâmicas de mudança, com uma certa capacidade de acompanhamento de tendências;
  • A partir de agora, o que você pode fazer é negociar com a maioria das pessoas, mas não com a maioria das pessoas.
  • Aplica-se a ações de alta volatilidade, controlando o risco através do indicador ATR.

Análise de Riscos

  • O indicador ATR é insuficiente para responder a eventos de emergência e não permite evitar completamente o risco;
  • A análise de compra-venda ou venda-paralisação baseia-se apenas na ruptura da linha ATR, com certa cegueira e possibilidade de transações excessivas;
  • A racionalidade do coeficiente ATR inserido pelo usuário afeta diretamente a eficácia da estratégia, e a configuração inadequada pode causar prejuízos;
  • Quando a volatilidade das ações diminui, o rastreamento de perdas é frequente e as taxas de transação excessivas aumentam.

Direção de otimização

  • A análise de preços e de preços, em combinação com outros indicadores, evita o rastreamento cego.
  • Estabelecer a proporção e as regras para a criação de posições e controlar os riscos;
  • Adicionar filtros de volume ou de volatilidade para evitar o excesso de negociação;
  • Ajuste dinâmico dos parâmetros ATR para otimizar o efeito de stop loss tracking.

Resumir

Esta estratégia é, em geral, uma estratégia típica de stop loss e seguimento de perdas, a ideia central é baseada no indicador ATR para definir a linha de stop loss e linha de seguimento de tendências. A vantagem da estratégia é que pode ser negociado em ambos os sentidos, a posição é flexível; o uso do indicador ATR para controlar o risco, é adequado para ações de alta volatilidade. Mas, como as regras de compra e venda são mais simples, existe um certo risco de seguimento cego.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © phobo3s

//@version=4
strategy("ATR Stop Buy Strategy",shorttitle="ATR-ST",initial_capital=1000, overlay = true, default_qty_type = strategy.percent_of_equity, pyramiding = 5, default_qty_value = 20, commission_type = strategy.commission.cash_per_order, commission_value = 1, calc_on_every_tick = true)

daysBack = input(defval=120, title="Days Back", type=input.integer)
sellCoeff = input(defval=1.5, title="Selling Coefficent For ATR", type=input.float, minval= 0.01, step=0.1)
buyCoeff = input(defval=1.2, title = "Buying Coefficent For ATR", type=input.float, minval= 0.01, step=0.1)

fromDate = timenow - (daysBack*24*60*60*1000)
toDate = timenow 

ATR = atr(14)
stopLossPoint = ATR * sellCoeff
buyPoint = ATR * buyCoeff

StoplossLine =  close[1] - stopLossPoint[1]
BuyLine = close[1] + buyPoint[1]

if (high > BuyLine and time >= fromDate and time <= toDate )
    strategy.entry("GG", strategy.long, comment="Gir")
if (low < StoplossLine and strategy.position_avg_price < close and time >= fromDate and time <= toDate )
    strategy.entry("GG", strategy.short, comment="Çık")

//longFlags = close < StoplossLine
//shortFlags = close > BuyLine
//plotshape(shortFlags, style=shape.triangledown, location=location.abovebar, color=color.red)
//plotshape(longFlags, style=shape.triangleup, location=location.belowbar, color=color.blue)
plot(StoplossLine)
plot(BuyLine)