동적 중지 손실 추적 전략

저자:차오장, 날짜: 2023-11-21 15:22:44
태그:

img

전반적인 설명

동적 스톱 로스 트레일 전략은 스톱 로스 트레일의 목적을 달성하기 위해 사용자에 의해 설정된 ATR 계수와 결합하여 스톱 로스 트레일의 평균 실제 범위를 기준으로 계산합니다. 주가가 트레일 라인을 넘어서면 전통적인 트렌드 추적 전략을 사용하여 긴 포지션을 설정합니다. 주가가 스톱 로스 라인을 넘어서면 양방향 거래로 수익을 창출하기 위해 반전 전략을 사용하여 짧은 포지션을 설정합니다.

전략 원칙

이 전략은 주로 ATR 기술 지표를 사용하여 주식 가격의 평균 실제 범위를 계산하고, 사용자가 주식 파기 구매 및 스톱 로스 판매를 위한 기준으로 입력한 ATR 계수를 결합합니다. 구체적으로, 전략은 먼저 지난 120 일 동안 주식의 ATR 값을 계산하고, 사용자에 의해 설정된 판매 ATR 계수에 곱하여 스톱 로스 판매 참조 가격을, 즉 스톱 로스 라인을 얻습니다. 구매 ATR 계수에 곱하여 구매 참조 가격을, 즉 트레일 라인을 얻습니다. 오늘날의 최고 가격이 트레일 라인을 넘을 때 트렌드 추적 전략을 사용하여 긴 포지션을 설정합니다. 오늘날의 최저 가격이 손실 라인 아래로 떨어지고 긴 포지션을 유지하면, 반전 전략을 사용하여 짧은 포지션을 설정합니다.

이 전략은 또한 스톱 로스 라인과 트레일 라인을 그린다. 이 두 라인의 위치는 주식 가격 변동에 따라 변화하며, 일부 동적 추적 기능을 갖는다. ATR 지표는 주식의 평균 진정한 변동 범위를 더 잘 반영할 수 있다. 스톱 로스 트레일 라인을 설정하기 위해 ATR 지표를 사용하는 것은 거대한 주식 변동으로 인한 손실을 어느 정도 피하는 데 도움이 될 수 있다.

이점 분석

  • ATR 지표를 사용하여 주식 가격 변동 범위를 계산합니다.
  • 스톱 로스 라인과 트레일 라인은 동적으로 변화하며, 트렌드 추적 기능이 있습니다.
  • 동시에 길고 짧게 거래하고, 양방향 거래, 더 많은 수익을 얻을 수 있습니다.
  • 매우 변동성 있는 주식에 적합하며, ATR 지표는 위험을 통제하는 데 도움이 됩니다.

위험 분석

  • ATR 지표는 비상 상황에 적절히 반응하지 않으며 위험을 완전히 피할 수 없습니다.
  • 트래킹 바이인 및 스톱 로스 판매는 ATR 라인을 깨는 것에 전적으로 기반합니다. 일부 맹목적인 순종이 있으며, 과도한 거래가 발생할 수 있습니다.
  • 사용자가 입력한 ATR 계수의 합리성은 전략의 효과에 직접 영향을 미치며, 잘못된 설정으로 손실이 발생할 수 있습니다.
  • 주식 변동이 줄어들면 빈번한 스톱 로스 트레일은 거래 비용을 증가시킬 수 있습니다.

최적화

  • 다른 지표를 결합하여 거래 시간을 결정하고 맹목적 추적을 피합니다.
  • 리스크를 통제하기 위한 포지션 사이즈링 규칙과 피라미드링 규칙을 설정합니다.
  • 과도한 거래를 피하기 위해 거래량 또는 변동성 필터를 추가합니다.
  • 동적으로 ATR 매개 변수를 조정하여 스톱 손실 트레일 효과를 최적화합니다.

요약

요약하자면, 이것은 전형적인 스톱 로스 트레일 전략이다. 핵심 아이디어는 트렌드 추적을 위해 ATR 지표를 기반으로 스톱 로스 라인과 트레일 라인을 설정하는 것입니다. 이 전략의 장점은 양방향 거래가 가능하고 포지션이 유연하다는 것입니다; ATR 지표는 위험을 제어하는 데 도움이되며 매우 변동성있는 주식에 적합합니다. 그러나 상당히 간단한 거래 규칙으로 인해 일부 블라인드 트래킹 위험이 있습니다; 부적절한 매개 변수 설정은 전략 효과에도 영향을 미칩니다. 미래의 최적화는 전략 성능을 더 견고하게 만들기 위해 거래 타이밍을 개선하고 포지션 크기를 제어하고 과도한 거래를 줄이는 등에 초점을 맞출 수 있습니다.


/*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)

더 많은