Els-Zyklus-Strategie basierend auf Signalglättung


Erstellungsdatum: 2024-02-19 10:42:34 zuletzt geändert: 2024-02-19 10:42:34
Kopie: 2 Klicks: 627
1
konzentrieren Sie sich auf
1617
Anhänger

Els-Zyklus-Strategie basierend auf Signalglättung

Überblick

Die Strategie entwirft eine Ehrers-Zyklus-Handelsstrategie, die die Handelssignale durch die Berechnung von glatter behandelten Preissignalen in Kombination mit der Theorie der Kreislaufindikatoren von Ehlers glatter macht. Diese Strategie filtert effektiv Marktlärm und erzeugt zuverlässigere Handelssignale.

Strategieprinzip

  1. Das ursprüngliche Preissignal src wird in der zweiten Stufe glattert, um das glatte Signal “smooth” zu erhalten.

  2. Der Kreislaufindex Cycle wird anhand der Gleitsignale berechnet. Die Berechnungsmethode lautet: cycle := (1 - .5 alpha) (1 - .5 alpha) (smooth - 2 smooth[1] + smooth[2]) + 2 (1 - alpha) cycle[1] - (1 - alpha) (1 - alpha) * cycle[2]

Dabei ist α das Glättungsparameter。

  1. Der Kreislaufindikator wird in einer Stufe indexgeschliffen, um ein endgültiges Handelssignal zu erhalten. Die Berechnungsmethode lautet: signal := alpha2 cycle + (1 - alpha2) nz(signal[1])

Dabei wird α2 als einstufiges Glättungsparameter angegeben.

  1. Wenn Signal auf Signal durchläuft[1] mehr tun; wenn Signal unter Signal durchläuft[1] in freier Zeit.

Strategische Stärkenanalyse

  1. Durch die zweite Stufe des Preissignals kann der Hochfrequenz-Rauschen effizient gefiltert und die Handelssignale zuverlässiger gemacht werden.

  2. Durch die Anwendung der Theorie der Els-Zyklus-Indikatoren können die Umkehrpunkte der Markttrends genauer ermittelt werden.

  3. Der First-Phaser-Index filtert die teilweise Geräusche in den Kreislaufindikatoren und erzeugt ein zuverlässigeres Handelssignal.

  4. Der gesamte Strategieprozess ist vernünftig, wissenschaftlich, die Optimierung der Parameter ist groß, die Festplatte funktioniert hervorragend.

Risikoanalyse

  1. Wie bei anderen Technik-Strategien ist die Strategie auch auf systemische Risiken des Marktes empfindlich. Bei einem großen Black Swan-Ereignis kann es zu erheblichen Verlusten kommen.

  2. Da die Berechnungsverfahren komplex sind, kann eine falsche Einstellung der Parameter zu einer Verzögerung der Berechnung führen, was die Festplattenwirkung beeinträchtigt. Es muss sorgfältig getestet werden, um sicherzustellen, dass die Einstellung der Parameter wissenschaftlich vertretbar ist.

  3. Die Ausgleichsbearbeitung führt auch zu Handelssignalverzögerungen und kann dazu führen, dass keine Marktwendepunkte rechtzeitig erfasst werden können, wodurch Chancen verpasst werden. Die Einstellung der Ausgleichsparameter muss ausgewogen werden.

Richtung der Strategieoptimierung

  1. Verschiedene Arten von Glättungs-Algorithmen, wie z. B. eine Stufenindexglättung, eine Durchschnittsglättung usw., können getestet werden, um die optimale Glättungslösung zu finden.

  2. Es kann ein Anpassungsparameter-Regulierungsmechanismus eingeführt werden, der die Parameter dynamisch an die Marktbedingungen anpasst, um die Robustheit der Strategie zu verbessern.

  3. Es ist möglich, Stop-Loss- und Stop-Stop-Strategien zu entwickeln, um das Risiko von Einzelschäden zu verringern und gleichzeitig Gewinne zu sichern.

  4. Es ist möglich, ein Machine Learning-Modell von autres zu kombinieren, um Modellkombinationen zu realisieren, die Handelssignale durch andere Modelle filtern.

Zusammenfassen

Diese Strategie entwirft eine Erics-Zyklus-Handelsstrategie, die die Handelssignale durch Preissignal-Gleichung und die Berechnung von Erics-Zyklus-Indikatoren glättet. Die Strategie filtert effektiv den Lärm und erzeugt zuverlässigere Handelssignale. Die Strategie hat gleichzeitig einen größeren Parameterraum und eine gute Festplattenwirkung.

Strategiequellcode
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
src = input(hl2, title = "Source") 
alpha = input(.07, title = "Alpha")
lag = input(9, title = "Lag")
smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6

cycle = na
if na(cycle[7])
    cycle := (src - 2 * src[1] + src[2]) / 4
else
    cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * (smooth - 2 * smooth[1] + smooth[2]) + 2 * (1 - alpha) * cycle[1] - (1 - alpha) * (1 - alpha) * cycle[2]

alpha2 = 1 / (lag + 1)
signal = na
signal := alpha2 * cycle + (1 - alpha2) * nz(signal[1])
oppositeTrade = input(true)
barsSinceEntry = 0
barsSinceEntry := nz(barsSinceEntry[1]) + 1
if strategy.position_size == 0
    barsSinceEntry := 0
if (crossover(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossunder(signal, signal[1]))
    strategy.entry("Long", strategy.long)
    barsSinceEntry := 0
if (crossunder(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossover(signal, signal[1]))
    strategy.entry("Short", strategy.short)
    barsSinceEntry := 0
if strategy.openprofit < 0 and barsSinceEntry > 8
    strategy.close_all()
    barsSinceEntry := 0
    
    
plot(0, title="ZeroLine", color=gray) 
plotSrc = signal
cyclePlot = plot(plotSrc, title = "CyberCycle", color = blue)
triggerPlot = plot(plotSrc[1], title = "Trigger", color = green)
fill(cyclePlot, triggerPlot, color = plotSrc < plotSrc[1] ? red : lime, transp = 50)