Ehlers führende Handelsstrategie für Indikatoren

Schriftsteller:ChaoZhang, Datum: 31.10.2023
Tags:

img

Übersicht

Diese Strategie basiert auf den Ideen des Meisters der technischen Analyse, John Ehlers, der den Ehlers Leading Indicator verwendet, um den historischen Preiszyklus zu beurteilen und Kauf- und Verkaufssignale zu generieren.

Strategieprinzip

Die Strategie berechnet zunächst den Detrended Synthetic Price (DSP), der dadurch ermittelt wird, dass der Wert eines Butterworth-Filters der 3. Ordnung von einem Butterworth-Filter der 2. Ordnung abgezogen wird, um eine Funktion zu erhalten, die mit dem vorherrschenden Zyklus der realen Preisdaten in Phase ist.

Anschließend berechnet er den Ehlers Leading Indicator (ELI), der durch Subtrahieren des einfachen gleitenden Durchschnitts des synthetischen Preispreises aus dem synthetischen Preis selbst ermittelt wird, und kann einen vorläufigen Hinweis auf einen zyklischen Wendepunkt geben.

Schließlich werden, wenn die ELI-Linie über den DSP kreuzt, Kauf- und Verkaufssignale erzeugt. Wenn ELI über DSP kreuzt, wird ein Kaufsignal erzeugt. Wenn ELI unter DSP kreuzt, wird ein Verkaufssignal erzeugt.

Analyse der Vorteile

Der größte Vorteil dieser Strategie besteht darin, den Ehlers Leading Indicator zu verwenden, um Wendepunkte in den Preistrends im Voraus zu beurteilen.

Darüber hinaus wird durch die Kombination des abgeleiteten Preises für die Erzeugung von Handelssignalen unerhebliche niedrigfrequente Preisinformationen ausfiltert, so dass die Strategie sich stärker auf zyklische Preismuster konzentriert, ohne von kurzfristigen Marktlärm gestört zu werden.

Risiken und Optimierung

Das Hauptrisiko dieser Strategie ist die Möglichkeit, dass ELI Signale falsch identifiziert, was zu einem vorzeitigen Einstieg und Verlusten führt.

Der Handel sollte auch darauf achten, dass diese Strategie nur für Produkte mit offensichtlichen zyklischen Mustern gilt. Sie wäre für Produkte mit chaotischen Preisbewegungen weniger wirksam.

Risiken können durch die Bestätigung von Signalen mit anderen Indikatoren oder die Anpassung der Positionsgröße und Stop-Loss-Strategien verwaltet werden.

Zusammenfassung

Diese Strategie identifiziert Zyklischkeit in den Preisen mithilfe des Ehlers Leading Indicators und tritt früh vor Beginn neuer Zyklen in Positionen ein, was sie zu einer typischen Trendstrategie macht.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/03/2017
// This Indicator plots a single
// Daily DSP (Detrended Synthetic Price) and a Daily ELI (Ehlers Leading
// Indicator) using intraday data.
// Detrended Synthetic Price is a function that is in phase with the dominant
// cycle of real price data. This one is computed by subtracting a 3 pole Butterworth
// filter from a 2 Pole Butterworth filter. Ehlers Leading Indicator gives an advanced
// indication of a cyclic turning point. It is computed by subtracting the simple
// moving average of the detrended synthetic price from the detrended synthetic price.
// Buy and Sell signals arise when the ELI indicator crosses over or under the detrended
// synthetic price.
// See "MESA and Trading Market Cycles" by John Ehlers pages 64 - 70. 
//
// 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_ELI (Ehlers Leading Indicator)", shorttitle="D_ELI (Ehlers Leading Indicator)")
Length = input(7, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=red, linestyle=line)
xHL2 = request.security(syminfo.tickerid, 'D', hl2)
xEMA1 = ema(xHL2, Length)
xEMA2 = ema(xHL2, 2 * Length)
xEMA1_EMA2 = xEMA1 - xEMA2
xResultEMA = ema(xEMA1_EMA2, Length)
nRes = xEMA1_EMA2 - xResultEMA
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(request.security(syminfo.tickerid, "D", xEMA1_EMA2), color=blue, title="D_DSP")
plot(request.security(syminfo.tickerid, "D", nRes), color=green, title="D_ELI")

Mehr