Accelerator Oscillator를 기반으로 한 추세 반전 전략


생성 날짜: 2023-12-13 15:38:12 마지막으로 수정됨: 2023-12-13 15:38:12
복사: 0 클릭수: 747
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

Accelerator Oscillator를 기반으로 한 추세 반전 전략

개요

이 전략은 빌 윌리엄스 (Bill Williams) 가 개발한 액셀러레이터 오스실레이터 (Accelerator Oscillator, AC) 지표에 기반하여 트렌드의 전환점을 식별하여 거래 기회를 얻습니다. 이 지표는 이질적인 이동 평균 (Awesome Oscillator, AO) 과 5주기 간단한 이동 평균 사이의 차이를 나타냅니다. 이는 AO의 변화 속도를 나타냅니다.

전략 원칙

이 전략은 AO와 5주기 이동 평균 사이의 차이를 계산하여 가속 진동기 ((AC) 를 얻는다. 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. 대장 흐름과 배경 시장 정보를 고려하지 않고, AC 지표 신호를 맹목적으로 따르는 것은 거래 실패로 이어질 수 있다.

전략 최적화

이 전략은 다음과 같은 측면에서 최적화될 수 있습니다.

  1. MACD, KDJ 등과 같은 다른 지표 필터 신호와 결합하여 가짜 돌파를 방지한다.

  2. 모바일 HTM에 가입하여 단편적 손실을 통제하십시오.

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

  4. 다양한 품종과 시간 주기에 따라 다른 매개 변수를 설정하여 전략의 무작위성을 최적화하십시오.

  5. 대장 동향과 고위급 동향에 대한 판단 논리를 추가한다.

요약하다

이 전략은 가속 진동기 지표 설계의 간단한 트렌드 역전 거래 전략을 기반으로 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)