트레이딩 동적 트렌드 추적 전략

저자:차오장, 날짜: 2024-02-22 17:54:26
태그:

img

전반적인 설명

이 전략은 1998년 9월 주식 및 재화의 기술 분석 잡지에 발표된 "트렌드 트레이딩" 기사에서 앤드류 에이브러햄이 제시한 아이디어에 기초한 개선된 디자인으로 동적으로 주식 가격 추세를 추적하고 그에 따라 거래 신호를 생성하는 데 사용됩니다.

전략 논리

이 전략은 먼저 지난 21일 동안의 평균 진 진 범위를 기준 한계로 계산하고, 이후 지난 21일 동안의 최고와 최저 가격을 계산하고, 이에 따라 채널의 상위와 하위 한도를 설정한다. 채널의 상위 한도는 21일 동안의 최고 가격 마이너스 3배 평균 진 범위를 설정하고, 하위 한도는 21일 동안의 최저 가격 더해 평균 진 범위를 3배로 설정한다. 종료 가격이 채널의 상위 한계보다 높을 때, 그것은 판매 압력 신호이다; 종료 가격이 채널의 하위 한계보다 낮을 때, 그것은 구매 신호이다. 잘못된 신호를 필터링하기 위해, 21기 지수 평균도 계산하고, 종료 가격이 원래의 이동 평균과 같은 방향으로 채널의 한계를 넘어가면만 실제 거래 신호가 생성된다. 또한, 전략은 또한 반전 입력을 제공하며, 이는 짧은 및 긴 매출을 반전시킬 수 있는 신호를 구현한다.

이점 분석

이 전략의 가장 큰 장점은 가격 트렌드를 동적으로 추적하고 그에 따라 거래 신호를 생성 할 수 있다는 것입니다. 고정 매개 변수를 가진 이동 평균 전략과 비교하여 가격 변화 추세를 더 잘 파악 할 수 있습니다. 또한 채널의 설정은 가장 높고 가장 낮은 가격에 따라 채널 제한을 설정하는 단점을 피하여 진정한 범위를 통합합니다. 채널의 상위 및 하위 한도의 변동 범위도 매우 합리적이며 어느 정도 거짓 브레이크를 피합니다. 역 매개 변수의 사용자 정의성 또한 전략의 유연성을 증가시킵니다.

위험 분석

이 전략에는 두 가지 주요 위험이 있습니다. 하나는 거래 신호 증가로 인한 과잉 거래 위험이며 두 번째는 잘못된 매개 변수 설정으로 인해 발생할 수 있는 위험입니다. 이 전략이 동적 매개 변수를 사용하기 때문에 거래 신호는 전통적인 이동 평균 전략보다 더 자주 발생하여 일정 수준의 과잉 거래 위험을 초래할 수 있습니다. 또한 매개 변수가 너무 짧게 설정되거나 채널 제한 값이 너무 작다면 잘못된 신호도 증가하여 위험이 증가합니다.

리스크를 제어하기 위해, 매개 변수는 더 긴 기간을 선택하고 채널 상부 및 하부 제한을 적당히 완화함으로써 적절하게 조정될 수 있다. 단회 손실을 제어하기 위한 스톱 로스 전략도 고려될 수 있다.

최적화 방향

이 전략을 최적화하는 데는 여전히 많은 공간이 있습니다. 예를 들어, 잘못된 브레이크오웃을 피하기 위해 RSI와 KD와 같은 다른 필터링 지표가 고려 될 수 있습니다. 기계 학습 방법 또한 매개 변수를 자동으로 최적화하기 위해 시도 할 수 있습니다. 또한 최적 매개 변수 값은 다른 주식과 시장 환경에 따라 다를 수 있습니다. 따라서 전략의 안정성을 향상시키기 위해 주식 및 시장 특성에 따라 최적 매개 변수를 동적으로 선택하기 위해 매개 변수 최적화 메커니즘의 세트를 작성하는 것도 고려 할 수 있습니다.

요약

전체적으로, 이것은 매우 실용적인 트렌드 추적 전략이다. 전통적인 이동 평균 전략과 비교하여, 그것은 더 유연하고 지능적이며, 가격 변화 추세를 동적으로 포착할 수 있다. 적절한 매개 변수 조정으로, 그것의 거래 신호의 품질은 상대적으로 높고 좋은 수익을 얻을 수 있다. 이 전략의 성능은 후속 최적화를 통해 더 향상될 수 있을 것으로 예상된다. 라이브 거래와 응용에서 검증 가치가 있다.


/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 10/10/2018
// This is plots the indicator developed by Andrew Abraham 
// in the Trading the Trend article of TASC September 1998  
// It was modified, result values wass averages.
////////////////////////////////////////////////////////////
strategy(title="Trend Trader AVR Backtest", overlay = true)
Length = input(21, minval=1),
LengthMA = input(21, minval=1),
Multiplier = input(3, minval=1)
reverse = input(false, title="Trade reverse")
avgTR      = wma(atr(1), Length)
highestC   = highest(Length)
lowestC    = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = 0.0
ret :=  iff(close > hiLimit and close > loLimit, hiLimit,
         iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
nResMA = ema(ret, LengthMA)        
pos = 0
pos := iff(close < nResMA, -1,
       iff(close > nResMA, 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(nResMA, color= blue , title="Trend Trader AVR")

더 많은