디나폴리 디트렌디드 오실레이터 전략


생성 날짜: 2023-09-23 15:48:40 마지막으로 수정됨: 2023-09-23 15:48:40
복사: 2 클릭수: 725
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 디나폴리 (DiNapoli) 로의 트렌드 오스컬레이터를 기반으로 거래 신호를 판단한다. 이 지표는 가격과 이동 평균의 차이를 통해 가격의 과매매 과매매 지역을 반영하여 역전 기회를 식별한다. 전략은 특정 문턱을 돌파하는 것이 거래 신호이다.

전략 원칙

이 전략은 다음과 같은 요소들을 포함하고 있습니다.

  1. 이동 평균: 일정 주기 동안의 평균을 계산하여 가격 동향을 판단한다.

  2. 격차 지표: 가격에서 평균의 격차를 빼면, 흔들림 지표가 형성된다.

  3. 임계선: 격차값 지표가 임계값을 초과할 때 거래 신호를 생성한다.

  4. 더 많은 신호를 보내라: 경계를 넘으면 더 많이 보내라.

  5. 공백 신호: 미분값 아래의 문 제한선을 통과할 때 공백한다.

  6. 역전 옵션: 더/무료 신호를 역전으로 거래 신호로 사용할 수 있다.

이 전략은 가격과 트렌드 사이의 오차를 판단하여 단기 반전 기회를 잡기 위한 것이다.

우위 분석

다른 역전 전략에 비해 이 전략은 다음과 같은 장점이 있습니다.

  1. 원칙은 간단하고, 직관적이고, 이해하기 쉽고, 실행에 옮기는 데는 어려움이 없습니다.

  2. 소량 매개 변수, 재측정 최적화 편리함

  3. 각기 다른 주기에 적용할 수 있는 변수를 직접 조정할 수 있다.

  4. 다양한 시장에 대해 유연하게 사용할 수 있는 역전도 옵션을 제공합니다.

  5. 명확한 손해 방지 방법을 통해 위험을 통제할 수 있습니다.

  6. 후퇴는 상대적으로 작으며, 파라미터를 조정하여 곡선의 흔들림을 줄일 수 있다.

  7. 기계 학습을 도입하여 파라미터 최적화를 수행할 수 있다.

  8. 전체적으로 위험과 이익의 균형이 잘 되어 있어 단선거래에 적합하다.

위험 분석

그러나 이 전략에는 다음과 같은 주요한 위험도 있습니다.

  1. 너무 많은 변수 최적화에 의존하여 과다 적합성의 위험이 있습니다.

  2. 이동 평균과 지표는 모두 뒤떨어져 있습니다.

  3. 가격 이외의 보조 변수 검증의 부족.

  4. 시장 환경의 변화에 따라 선택의 효과는 약화될 수 있습니다.

  5. 알파를 장기간 유지하기 어렵고, 자주 조정해야 한다.

  6. 수익 회수율에 주의를 기울여 곡선이 너무 커지지 않도록 해야 합니다.

  7. 거래 빈도가 높아서 거래 비용에 영향을 미칩니다.

  8. 여러 시장에서 변수의 안정성을 검증해야 합니다.

최적화 방향

위와 같은 분석을 바탕으로, 이 전략의 최적화 방향은 다음과 같습니다.

  1. 다른 평균선 변수의 효과를 테스트한다.

  2. 거래량 지표에 가입하여 검증한다.

  3. 위험을 통제하기 위해 Stop Loss Stop 를 설정하십시오.

  4. 여러 품종의 다주기 강도를 평가한다.

  5. 롤러백을 통해 계속 재확인한다.

  6. 포지션 관리를 조정하고 거래 빈도를 낮추는 것.

  7. 기계학습을 도입하여 더 나은 변수를 생성한다.

  8. 전체적인 자금 관리 전략을 최적화하십시오.

  9. 시장의 변화에 적응하기 위해 지속적으로 반복되는 전략.

요약하다

이 전략은 전체적으로 더 간단한 역전 전략 사고방식이며, 변수 조정으로 좋은 효과를 얻을 수 있다. 그러나 모든 전략은 과도한 적합성을 방지하고, 장기적으로 안정적인 수익을 달성할 필요가 있다. 이것은 지속적으로 재검토 및 최적화를 필요로 하며, 더 많은 차원에서 전략 개선을 한다.

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

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/12/2016
// DiNapoli Detrended Oscillator Strategy
// 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(title="DiNapoli Detrended Oscillator Strategy Backtest")
Length = input(14, minval=1)
Trigger = input(0)
reverse = input(true, title="Trade reverse")
hline(Trigger, color=gray, linestyle=line)
xSMA = sma(close, Length)
nRes = close - xSMA
pos = iff(nRes > Trigger, 1,
	   iff(nRes <= Trigger, -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)	   	    
plot(nRes, color=blue, title="DiNapoli")
barcolor(possig == -1 ? red: possig == 1 ? green : blue )