Diese Strategie wird als “Detrended Price Oscillator Quantitative Trading Strategy” bezeichnet. Die Strategie ist eine typische Technische Indikator-Strategie, die durch die Konstruktion von Preis-Detrend-Oszillator-Indikatoren und die Ausgabe von Handelssignalen auf dieser Basis erfolgt.
Der DPO-Indikator ähnelt einem Moving Average und kann Trends in den länger andauernden Preisen ausfiltern, wodurch die periodischen Schwankungen in den Preisen deutlicher werden. Insbesondere ist der DPO-Indikator ein Vergleich zwischen den Preisen und ihren N-Tage-Simplen Moving Averages. Wenn der Preis über dem Moving Average liegt, ist der DPO positiv; wenn der Preis unter dem Moving Average liegt, ist der DPO negativ. So erhalten wir einen Indikator, der um die 0-Achse herum schwankt.
Die Strategie setzt den Parameter N auf 14, um eine 14-Tage-DPO-Anzeige zu erstellen. Wenn die DPO-Anzeige positiv ist, wird ein Mehrsignal ausgegeben; wenn die DPO-Anzeige negativ ist, wird ein Leersignal ausgegeben.
Um das Risiko zu verringern, können Optimierungen in folgenden Bereichen in Betracht gezogen werden:
Die Strategie basiert auf dem Preis-Trend-Oscillator-Indikator. Dieser Indikator wird mit einem Moving Average verglichen, um die langfristigen Trends in den Preisen zu entfernen und die Preiskreislaufart deutlich zu machen. Dies hilft, einige nicht leicht wahrnehmbare Handelsmöglichkeiten zu entdecken. Es gibt auch Probleme mit der Parameterwahl, Verluststopfung und Filterung.
/*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")