가격 변동성을 기반으로 한 트레일링 스톱로스 전략


생성 날짜: 2023-09-20 11:31:12 마지막으로 수정됨: 2023-09-20 11:31:12
복사: 0 클릭수: 655
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 실제 변동 범위의 이동 평균을 계산하여 시장의 변동률을 반영하고, 변동률과 이동 평균의 관계에 따라 트렌드 방향을 판단한다. 이동 평균을 통과할 때 위를 보고, 아래를 통과할 때 더 많이 보고, 추적 손실을 설정한다.

전략 원칙

ATR 함수를 사용하여 지정된 주기 내의 실제 변동 범위를 계산하십시오. 그리고 ATR의 간단한 이동 평균을 계산하여 변동률의 이동 평균으로 계산하십시오. ATR 상에서 이동 평균을 통과하면 시장 변동률이 증가한다고 생각하여 상향 전략을 취하십시오.

포지션을 보유할 때, 고정 비율의 추적 스톱 로드 포지션을 설정하여 가격 변화에 따라 스톱 로드를 동적으로 조정하여 스톱 로드가 막히지 않도록 하는 동시에 수익을 보호한다.

우위 분석

이 전략은 변동률 지표를 통해 시장의 움직임을 판단하고, 잡음으로 오도되는 것을 피한다. 변동률이 상승할 때 과시하고, 하락할 때 과시하며, 헤버지 조작을 실현한다. 트래킹 스톱로스는 실시간 가격 변화에 따라 스톱로스 위치를 조정할 수 있으며, 이익을 보호하면서 불필요한 스톱로스를 줄일 수 있다.

위험 분석

이 전략은 단지 변동률 지표에 기반하고, 약간의 지연이 있다. 그리고, 스톱로스는 가격의 불리한 방향으로의 변화만을 고려하고, 이윤 회전을 방어할 수 없다. 가격의 급격한 변동이 있을 때, 스톱로스 라인이 뚫려 큰 손실을 초래할 수 있다.

ATR와 평균선의 주기적 변수를 적절히 최적화할 수 있고, 다른 지표와 함께 종합적인 판단을 할 수도 있다. 스톱로드는 동적 스톱으로도 변경할 수 있으며, 시장의 변동 정도에 따라 스톱의 폭을 조정할 수 있다.

최적화 방향

  1. 다양한 ATR 및 평균주기 파라미터 조합을 테스트하여 최적의 파라미터를 찾습니다.

  2. 다른 지표 판단을 추가하고, 전략 포트폴리오를 형성하고, 전략의 정확성을 향상시킵니다.

  3. 동적 중지 전략을 설정하고 시장의 변동에 따라 중지 범위를 조정하십시오.

  4. 자금 관리 전략을 최적화하기 위해, 다른 품종은 다른 포지션 크기를 설정할 수 있습니다.

  5. 기계 학습 기술을 적용하여 시장 변동률의 전환점을 판단하는 데 도움을 줍니다.

  6. 높은 수준의 평균선 지표와 결합하여 더 큰 수준의 트렌드 방향을 식별합니다.

요약하다

이 전략은 변동률 지표를 사용하여 시장의 움직임을 판단하는 것이 간단하지만 단일 지표만으로 제한되기 쉽다. 여러 지표 판단과 최적화 파라미터를 적절하게 도입하면 전략의 안정성을 높일 수 있습니다. 전체적으로 이 전략은 시장 변동률을 기반으로 거래하는 방법을 제공합니다.

전략 소스 코드
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/08/2018
// The Volatility function measures the market volatility by plotting a 
// smoothed average of the True Range. It returns an average of the TrueRange 
// over a specific number of bars, giving higher weight to the TrueRange of 
// the most recent bar.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Volatility Backtest", shorttitle="Volatility")
Length = input(10, minval=1)
LengthMA = input(26, minval=1)
reverse = input(false, title="Trade reverse")
xATR = atr(Length)
nRes = ((Length - 1) * nz(nRes[1], 0) + xATR) / Length
xMARes = sma(nRes, LengthMA)
pos = iff(nRes < xMARes, 1,
       iff(nRes > xMARes, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="Volatility")
plot(xMARes, color=red, title="MA")