동적 트레일링 스톱로스 전략 기반


생성 날짜: 2024-02-27 15:02:34 마지막으로 수정됨: 2024-02-27 15:02:34
복사: 0 클릭수: 619
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

동적 트레일링 스톱로스 전략 기반

개요

이 전략은 비트 엠스트라 플랫폼의 트래킹 스톱 기능을 활용하여 스톱 가격을 동적으로 조정하여 더 정확하고 유연한 스톱을 구현하기 위해 고안되었습니다. 이 전략은 진입과 출전을 위해 사용되지 않으며, 다른 시장 조건에서 합리적인 스톱 범위를 제공합니다.

전략 원칙

이 전략은 주로 3개의 지표를 사용한다: 최고 가격, 최저 가격, 그리고 종결 가격. 전략은 먼저 긴 포지션과 짧은 포지션의 손실 범위를 정의한다. 즉, 다중 헤드 추적 손실 거리longoffset그리고 공허 추적 중지 거리shortoffset│ 중장거래는 228.5점으로, 단장거래는 243.5점으로 │

다음 전략은 다음과 같은 논리적인 조정을 사용하여 스톱 손실 가격을 추적합니다.trailstop:

  • 가장 최근의 K 선의 최저 가격은 이전 K 선의 추적 중지 가격보다 낮고, 상위 K 선의 최저 가격은 상위 두 K 선의 추적 중지 가격보다 높다면, 현재 K 선의 추적 중지 가격 = 종점 가격 + 공백 추적 중지 거리
  • 가장 최근의 K 선의 최고 가격은 이전 K 선의 추적 중지 가격보다 높으며, 상위 K 선의 최고 가격은 상위 두 K 선의 추적 중지 가격보다 낮습니다.
  • 가장 최근의 K 선의 최고 가격은 이전 K 선의 추적 스톱 가격보다 높습니다. 현재 K 선의 추적 스톱 가격 = 최대 값 (최고의 K 선의 추적 스톱 가격, 가장 최근의 K 선의 최고 가격 - 장거리 추적 스톱 거리)
  • 가장 최근의 K 선의 최저 가격은 이전 K 선의 추적 스톱 가격보다 낮습니다. 현재 K 선의 추적 스톱 가격 = 최소 값 (최고의 K 선의 추적 스톱 가격, 가장 최근의 K 선의 최저 가격 + 단점 추적 스톱 거리)
  • 아니면 현재 K 선의 추적 스톱 로스 = 클로즈 가격

이것은 시장에서 최고 가격과 최저 가격의 변화에 따라 실시간으로 조정할 수 있고, 동적인 스톱로스를 구현할 수 있다.

우위 분석

이 전략의 가장 큰 장점은 진정한 동적이고 유연한 추적 스톱로스를 구현한다는 것입니다. 고정된 스톱 가격에 비해, 동적인 추적은 시장의 변동에 따라 스톱로스의 범위를 조정할 수 있으며, 스톱 거리 너무 큰 것은 불필요한 손실을 초래하지 않으며, 스톱 거리 너무 작은 것은 가격의 일반적인 변동에 의해 타격을 입지 않습니다.

또 다른 장점으로는, 스톱 로드 거리를 사용자 정의하고 최적화할 수 있다는 것입니다. 사용자는 다양한 품종의 특성과 거래 스타일에 따라 자신의 스톱 로드 범위를 선택할 수 있습니다. 이것은 전략이 더 광범위한 시나리오에 적용될 수 있도록 합니다.

마지막으로, 이 전략의 단축 논리는 간단하고 명확하며 이해하기 쉽고, 또한 재개발 및 다른 전략에 통합하기 쉽다는 것이 이 전략의 장점 중 하나입니다.

위험 분석

이 전략의 주요 위험은 다음과 같습니다.

  1. 다이내믹 스톱은 정상적인 상황에서의 손실을 줄일 수 있으며, 큰 갑작스러운 사건이나 극단적인 상황으로 인한 손실을 방어 할 수 없습니다. 이것은 다이내믹 스톱 자체의 한계입니다.

  2. 추적 스톱 거리 설정이 너무 커지면 손실이 확대될 수 있다. 거리 설정이 너무 작으면 조기 스톱이 발생할 수 있다. 거리 설정은 품종 특성에 따라 신중한 테스트와 최적화를 필요로 한다.

  3. 포지션 개시 후 몇 개의 K 라인에서는, 추적된 스톱 메커니즘으로 인해 스톱 거리가 너무 커질 수 있으며, 이 기간 동안에는 약간의 추가 위험이 있습니다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 다양한 품종의 매개 변수 최적화: 다양한 품종의 변동 정도, 일일 변동 범위 등의 지표에 따라 합리적인 다중 머리 및 빈 머리 추적 중지 거리를 선택하십시오. 이것은 가장 중요한 최적화 방향입니다.

  2. 포지션 개시 후 몇 개의 K 라인에서의 추가 위험을 줄이십시오: 포지션 개시 후 몇 개의 K 라인에서의 추적 중지 거리의 조정 폭을 제한할 수 있습니다. 너무 큰 중지 거리를 피하십시오.

  3. 거래량 지표와 결합: 예를 들어 거래량이 증가하는 단계에서 중지 손실을 줄이고, 중매의 중지 손실을 피하십시오.

  4. 다른 입출장 전략과 결합: 이 전략의 주요 역할은 중지 손실을 추적하는 것이며, 입출장 규칙과 함께 사용할 수 있는 다른 전략에 통합될 수 있다.

요약하다

이 전략은 상장 최고 가격과 최저 가격 변화에 따라 동적으로 추적하는 중지 기능을 구현한다. 이것은 정상적인 상황에서 불필요한 손실을 효과적으로 줄일 수 있으며, 고정된 중지 거리가 너무 크고 너무 작은 문제를 더 잘 해결한다. 중요한 최적화 방향은 상장 개시 후 여러 가지 품종의 적절한 파라미터를 테스트하고 몇 개의 K 라인의 위험을 제어하는 것이다. 이 전략의 중지 논리는 간단하고 이해하기 쉽고 2차 개발이 가능하며, 다른 전략에 통합되거나 손실 차단 도구로 단독으로 사용될 수 있다.

전략 소스 코드
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//By River
strategy("BitMex Trailing Stop Strategy", overlay=true)
longoffset = input(defval=228.5, title="Long Trailing Stop Size", type=float, minval=0.5, maxval=1000, step=0.5)
shortoffset = input(defval=243.5, title="Short Trailing Stop Size ", type=float, minval=0.5, maxval=1000, step=0.5)

hiprice = request.security(syminfo.tickerid, "1", high)
loprice = request.security(syminfo.tickerid, "1", low)
price = request.security(syminfo.tickerid, "1", close)

trailstop = price
trailstop := (loprice <= trailstop[1] and loprice[1] >= trailstop[2]) ? price + shortoffset : ((hiprice >= trailstop[1] and hiprice[1] <= trailstop[2]) ? price - longoffset : (hiprice > trailstop[1] ? max(hiprice - longoffset, trailstop[1]) : (loprice < trailstop[1] ? min(loprice + shortoffset, trailstop[1]) : price)))

trailcol = trailstop > price ? red : green
plot(trailstop, color=trailcol)

longCondition =  trailcol == green
alertcondition(longCondition, "Long Stop alert", "BUY")
if (longCondition)
    strategy.entry("Long", strategy.long)
shortCondition = trailcol == red
alertcondition(shortCondition, "Short alert", "SELL")
if (shortCondition)
    strategy.entry("Short", strategy.short)