Der Preisoszillator mit abhängigem Preis

Schriftsteller:ChaoZhang, Datum: 2023-11-24 11:22:30
Tags:

Strategieübersicht

Die Strategie trägt den Namen Detrended Price Oscillator Quantitative Trading Strategy. Sie erzeugt Handelssignale auf der Grundlage des Detrended Price Oscillator-Indikators, der eine typische technische Indikatorstrategie ist.

Strategie Logik

Der Kern dieser Strategie ist der Detrended Price Oscillator (DPO) Indikator. DPO ist dem gleitenden Durchschnitt ähnlich, der längerfristige Preistrends herausfiltern kann, um zyklische Schwankungen ausgeprägter zu machen. Insbesondere vergleicht DPO Preise mit ihrem N-Tage-einfachen gleitenden Durchschnitt. Wenn der Preis über dem gleitenden Durchschnitt liegt, ist DPO positiv; wenn der Preis unter dem gleitenden Durchschnitt liegt, ist DPO negativ. Dies führt zu einem Oszillator, der um die 0-Achse schwankt. Wir können den Positiv/Negativwert von DPO verwenden, um den Preisanstieg/Fall im Verhältnis zum Trend zu beurteilen.

Diese Strategie setzt den Parameter N auf 14 und konstruiert einen 14-tägigen DPO-Indikator. Wenn DPO positiv ist, wird ein langes Signal ausgegeben. Wenn DPO negativ ist, wird ein kurzes Signal ausgegeben.

Vorteile

  • Der Datenschutzbeauftragte ist im Wesentlichen ein Filterindikator, der mittelfristige Preiszyklen effektiv identifizieren kann, was sehr hilfreich ist, um relativ verborgene Handelsmöglichkeiten zu erkennen.
  • Die DPO ist einfach zu konstruieren und leicht verständlich.
  • Im Vergleich zum Preis selbst ist das Datenschutzbeauftragte-Indikatormuster standardisierter und leichter zu beurteilen, was es für die Formulierung von Regeln geeignet macht.

Risiken

  • Wie bei den meisten technischen Indikatorstrategien neigt die DPO-Strategie dazu, häufig unnötige Handelssignale zu generieren, was zu unnötigen Verschiebungen und Transaktionskosten führen kann.
  • Der Datenschutzbeauftragte ist sehr empfindlich auf den Parameter N. Verschiedene Parameterwahlen können zu einer sehr unterschiedlichen Strategieneffizienz führen. Um den optimalen Parameter zu finden, sind umfangreiche Tests erforderlich.
  • In Trendmärkten kann die Haltedauer von DPO-Strategien zu lang sein, um den Verlust rechtzeitig zu stoppen, was ein gewisses Risiko für Blutverlust darstellt.

Um die Risiken zu mindern, kann die Optimierung in den folgenden Aspekten berücksichtigt werden:

  1. Hinzufügen von Stop-Loss-Mechanismen zur Kontrolle von Einzelverlusten.

  2. Der Wert des Parameters N wird angepasst, um den optimalen Parameter zu finden.

  3. Verwenden Sie Trendindikatoren, um nicht gegen signifikante Trends zu handeln.

Schlussfolgerung

Diese Strategie erzeugt Handelssignale basierend auf dem Detrended Price Oscillator-Indikator. Durch den Vergleich mit gleitenden Durchschnitten filtert dieser Indikator langfristige Preistrends aus, um die zyklischen Eigenschaften der Preise deutlicher zu machen. Dies hilft, einige verborgene Handelsmöglichkeiten zu entdecken. Gleichzeitig sieht er sich auch Problemen wie Parameterempfindlichkeit, Filterung usw. gegenüber.


/*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")

Mehr