이 전략은 "Detrended Price Oscillator Quantitative Trading Strategy"라고 불립니다. 이는 전형적인 기술 지표 전략인 "Detrended Price Oscillator" 지표에 기반한 거래 신호를 생성합니다.
이 전략의 핵심은 디트렌드 프라이스 오시레이터 (DPO) 지표이다. DPO는 이동 평균과 유사하며, 주기적인 변동을 더 두드러지게 만들기 위해 가격의 장기 트렌드를 필터링할 수 있다. 구체적으로, DPO는 가격을 N 일간 단순한 이동 평균과 비교한다. 가격이 이동 평균보다 높을 때 DPO는 긍정적이며, 가격이 이동 평균보다 낮을 때 DPO는 부정적이다. 이것은 0 축을 중심으로 변동하는 오시레이터를 초래한다. 우리는 DPO의 긍정/부작용을 사용하여 트렌드에 대한 가격 상승/하락을 판단할 수 있다.
이 전략은 매개 변수 N를 14로 설정하고 14일 DPO 지표를 구성합니다. DPO가 긍정적 인 경우 긴 신호가 발산됩니다. DPO가 부정적인 경우 짧은 신호가 발산됩니다.
위험을 줄이기 위해 최적화는 다음 측면으로 고려될 수 있습니다.
단일 손실을 제어하기 위해 스톱 손실 메커니즘을 추가합니다.
최적의 매개 변수를 찾기 위해 매개 변수 N의 값을 조정합니다.
트렌드 인디케이터를 포함하여 중요한 트렌드에 대한 거래를 피합니다.
이 전략은 디트렌드 가격 오시레이터 지표에 기반하여 거래 신호를 생성합니다. 이동 평균과 비교하여 이 지표는 가격의 장기 트렌드를 필터하여 가격 순환적 특성을 더 두드러지게합니다. 이것은 숨겨진 거래 기회를 발견하는 데 도움이됩니다. 동시에 매개 변수 민감성, 필터링 등과 같은 문제에 직면합니다. 지속적인 최적화를 통해 효율성 향상을 위해 여전히 많은 공간이 있습니다.
/*backtest start: 2023-11-16 00:00:00 end: 2023-11-20 08:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 31/03/2017 // The Detrend Price Osc indicator is similar to a moving average, // in that it filters out trends in prices to more easily identify // cycles. The indicator is an attempt to define cycles in a trend // by drawing a moving average as a horizontal straight line and // placing prices along the line according to their relation to a // moving average. It provides a means of identifying underlying // cycles not apparent when the moving average is viewed within a // price chart. Cycles of a longer duration than the Length (number // of bars used to calculate the Detrend Price Osc) are effectively // filtered or removed by the oscillator. // // 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="Detrended Price Oscillator", shorttitle="DPO") Length = input(14, minval=1) Series = input(title="Price", defval="close") reverse = input(false, title="Trade reverse") hline(0, color=green, linestyle=line) xPrice = close xsma = sma(xPrice, Length) nRes = xPrice - xsma 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, color=red, title="Detrended Price Oscillator")