가속기 오시레이터 기반의 트렌드 역전 전략

저자:차오장, 날짜: 2023-12-13 15:38:12
태그:

img

전반적인 설명

이 전략은 트렌드 반전 지점을 식별하고 거래 기회를 포착하기 위해 빌 윌리엄스가 개발한 가속기 오시레이터 (AC) 지표에 기반합니다. 이 지표는 멋진 오시레이터 (AO) 와 5 기간 간단한 이동 평균 사이의 차이를 나타냅니다. AO의 변화율을 반영합니다. AO가 이동 평균 이상으로 넘으면 상승 동력을 가속화하고 긴 포지션을 설정하는 신호입니다. 반대로 AO가 이동 평균 이하로 넘으면 하락 동력을 가속화하고 짧은 포지션을 설정하는 신호입니다.

전략 논리

이 전략은 가속기 오시레이터 (AC) 를 얻기 위해 AO와 5주기 이동 평균의 차이를 계산합니다. AC가 양수일 때 AO의 상승의 가속도를 나타내고, 상승 동력을 강화하는 것을 나타냅니다. AC가 음수일 때 AO의 하락의 가속도를 나타내고, 하락 동력을 강화하는 것을 나타냅니다.

이 전략은 AC의 긍정적/부적 가치에 기초하여 긴/단지 포지션을 결정합니다. AC가 0을 넘으면 상승 동력이 가속화되고, 따라서 긴 포지션을 설정한다고 간주됩니다. AC가 0을 넘으면 하락 동력이 가속화되고, 따라서 짧은 포지션을 설정한다고 간주됩니다.

특히 전략은 멋진 오시레이터 (AO) 의 빠른 라인과 느린 라인을 계산합니다.

AO 패스트 라인 = SMA ((HL2, LengthFast)
AO 느린 라인 = SMA ((HL2, LengthSlow)

다음 AO를 계산합니다.

AO = AO 빠른 라인 AO 느린 라인

다음으로 AO의 5주기 이동평균을 계산합니다.

AO 이동 평균 = SMA (AO, LengthFast)

마지막으로 가속기 오시레이터를 얻습니다.

AC = AO AO 이동 평균

AC가 0을 넘으면 긴 포지션을 설정하고 AC가 0을 넘으면 짧은 포지션을 설정합니다

장점

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 가속기 오시레이터 지표를 사용하면 단순한 이동 평균과 같은 다른 지표보다 트렌드 반전을 더 빨리 발견 할 수 있습니다.

  2. AO와 그 이동평균 사이의 교차를 거래 신호로 사용하면 시장 소음을 효과적으로 필터링하고 트렌드 반전을 식별할 수 있습니다.

  3. 전략 논리는 간단하고 이해하기 쉽고 수정하기 쉽고 전략 개발의 기본 틀로 적합합니다.

  4. AO 빠른 라인과 느린 라인의 기간은 성능 최적화를 위해 사용자 정의 할 수 있습니다.

위험성

이 전략은 또한 다음과 같은 위험을 가지고 있습니다.

  1. AC 지표는 잘못된 신호를 생성하는 경향이 있으며, 이로 인해 과잉 거래와 비용과 위험이 증가합니다.

  2. 손해를 막는 메커니즘이 없어 손실이 커질 수 있습니다.

  3. 백테스트 결과에는 과도한 적합성 위험이 있을 수 있습니다. 실제 거래 효과는 의문입니다.

  4. 전체적인 시장 조건을 무시하면 거래 실패로 이어질 수 있습니다.

개선

이 전략은 다음과 같은 측면에서 개선될 수 있습니다.

  1. MACD, KDJ와 같은 다른 지표를 추가하여 신호를 필터링하고 잘못된 브레이크를 피합니다.

  2. 단일 거래 손실을 제어하기 위해 이동 스톱 손실 메커니즘을 추가합니다.

  3. 최적의 매개 변수 조합을 찾기 위해 매개 변수 최적화 기능을 평가합니다.

  4. 다른 제품과 시간 프레임에 대해 다른 매개 변수를 사용하여 전략을 더 견고하게하십시오.

  5. 더 긴 시간 프레임에서 전체 시장 트렌드의 분석을 포함합니다.

요약

이 간단한 트렌드 역전 거래 전략은 거래 신호를 결정하기 위해 액셀러레이터 오시레이터 (Accelerator Oscillator) 를 기반으로 AO와 이동 평균의 차이를 계산하여 설계되었습니다. 잘못된 신호를 생성하는 경향이 있지만 전략 개발의 기본 틀로 사용될 수 있습니다. 필터링 및 최적화를위한 다른 요소를 통합함으로써 전략 성능이 효과적으로 향상 될 수 있으며 추가 연구가 가치가 있습니다.


/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 01/06/2017
// The Accelerator Oscillator has been developed by Bill Williams 
// as the development of the Awesome Oscillator. It represents the 
// difference between the Awesome Oscillator and the 5-period moving 
// average, and as such it shows the speed of change of the Awesome 
// Oscillator, which can be useful to find trend reversals before the 
// Awesome Oscillator does.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading
////////////////////////////////////////////////////////////
strategy("Accelerator Oscillator (AC) Backtest")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes =  xSMA1_SMA2 - xSMA_hl2
cClr = nRes > nRes[1] ? blue : red
pos = iff(nRes > 0, 1,
       iff(nRes < 0, -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, style=histogram, linewidth=1, color=cClr)

더 많은