Strategie zur Umwandlung des Oszillatorindex

Schriftsteller:ChaoZhang, Datum: 2023-12-22 14:21:28
Tags:

img

Übersicht

Die Oszillator-Index-Transformation-Strategie nutzt die Crossovers zwischen dem Bressert-Oszillator-Index 3-10 und seinem 16-tägigen einfachen gleitenden Durchschnitt, um Handelssignale zu generieren.

Strategie Logik

Die Strategie basiert auf dem Bresserts 3-10 Oszillatorindex, der die Differenz zwischen 3-tägigen und 10-tägigen exponentiellen gleitenden Durchschnitten darstellt.

Die Strategie berechnet zunächst die 3-Tage-EMA, die 10-Tage-EMA und ihre Differenz als Oszillatorindex. Anschließend berechnet sie den 16-Tage-simple gleitenden Durchschnitt des Oszillatorindex als Signallinie.

Analyse der Vorteile

  1. Benutzt den klassischen Bressert-Oszillatorindex, der sehr effektiv ist.
  2. Formen klarer Handelssignale mit schnellen und langsamen Linienkreuzungen
  3. Ermöglicht die Anpassung von Umschlaggeschäften an verschiedene Marktregime
  4. Kann sowohl für den Intraday- als auch für den Overnight-Handel verwendet werden

Risikoanalyse

  1. Bressert-Oszillator ist mit Gewinn-Verlust-Schwankungen instabil
  2. Schnelle und langsame Linienkreuzungen können falsche Signale erzeugen
  3. Umkehrgeschäfte sind mit höheren Risiken verbunden und sollten mit Vorsicht angewendet werden
  4. Erfordert Stop Loss für Intraday- und Positionsdimensionierung für Übernachtgeschäfte

Optimierungsrichtlinien

  1. Optimierung der Parameter durch Anpassung der gleitenden Durchschnittsperioden
  2. Hinzufügen von Filtern mit anderen Indikatoren oder Preisaktionen
  3. Hinzufügen einer Stop-Loss-Strategie zur Begrenzung der Größe eines einzelnen Verlustes
  4. Optimierung des Kapitalmanagements zur Verringerung der Gesamteffekte der Auslastung

Schlussfolgerung

Die Oscillator Index Transformation Strategie ist eine kurzfristige Handelsstrategie, die Signale aus 3-10 Oszillatoren und Signallinie-Crossovers erzeugt. Sie ist einfach und praktisch für den Intraday- und den Overnight-Einsatz, hat aber inhärente PnL-Schwankungen und falsche Signalrisiken. Zusätzliche Filter, Stop-Loss und Positionsgrößen sind erforderlich, um die Strategie zu verfeinern. Mit der richtigen Optimierung kann sie ein konsistentes Alpha erreichen.


/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/03/2017
// TradeStation does not allow the user to make a Multi Data Chart with 
// a Tick Bar Chart and any other type a chart. This indicator allows the 
// user to plot a daily 3-10 Oscillator on a Tick Bar Chart or any intraday interval.
// Walter Bressert's 3-10 Oscillator is a detrending oscillator derived 
// from subtracting a 10 day moving average from a 3 day moving average. 
// The second plot is an 16 day simple moving average of the 3-10 Oscillator. 
// The 16 period moving average is the slow line and the 3/10 oscillator is 
// the fast line.
// For more information on the 3-10 Oscillator see Walter Bressert's book 
// "The Power of Oscillator/Cycle Combinations" 
//
// 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="D_Three Ten Osc", shorttitle="D_Three Ten Osc")
Length1 = input(3, minval=1)
Length2 = input(10, minval=1)
Length3 = input(16, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=green, linestyle=line)
xPrice =  request.security(syminfo.tickerid,"D", hl2)
xfastMA = ema(xPrice, Length1)
xslowMA = ema(xPrice, Length2)
xMACD = xfastMA - xslowMA
xSignal = sma(xMACD, Length3)
pos = iff(xSignal > xMACD, -1,
	     iff(xSignal < xMACD, 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(request.security(syminfo.tickerid, "D", xMACD), color=blue, title="D_Three Ten Osc")
plot(request.security(syminfo.tickerid, "D", xSignal), color=red, title="D_Three Ave")

Mehr