Handelsstrategie mit mehreren exponentiellen gleitenden Durchschnitten


Erstellungsdatum: 2024-03-11 16:17:20 zuletzt geändert: 2024-03-11 16:17:20
Kopie: 0 Klicks: 523
1
konzentrieren Sie sich auf
1617
Anhänger

Handelsstrategie mit mehreren exponentiellen gleitenden Durchschnitten

Übersicht

Die Strategie nutzt die Kombination aus mehreren Indizes (Exponential Moving Average, EMA) zur Identifizierung potenzieller Ein- und Ausstiegspunkte für den Markthandel. Durch den Vergleich von EMAs in verschiedenen Perioden wird der aktuelle Markttrend beurteilt.

Strategieprinzip

Die Strategie verwendet vier EMAs in verschiedenen Zeitabschnitten als Kernindikatoren, nämlich die ultrakurze EMA (default 8, die kurze EMA (default 13), die mittlere EMA (default 21) und die langfristige EMA (default 55). Wenn die langfristige EMA unter den anderen drei EMAs liegt, wird der Übertrend eröffnet, wenn die Position wahrscheinlich in einem frühen Aufwärtstrend ist. Wenn die langfristige EMA über den anderen drei EMAs liegt, wird die Position wahrscheinlich in einem frühen Abwärtstrend sein, und alle Übertrendpositionen werden abgewickelt.

Die EMAs legen mehr Wert auf kurzfristige Preise als einfache gleitende Durchschnitte (SMAs) und sind daher empfindlicher und reagieren schneller auf Preisänderungen. Die Kreuzung von EMAs in verschiedenen Perioden spiegelt die Trendstärke und -schwäche in verschiedenen Zeitskalen wider. Die langfristigen EMAs sind die stabilsten und repräsentieren die größten Markttrends.

Vorteilsanalyse

  1. Breite Anwendung: Die Strategie basiert auf dem EMA-Indikator für die Preise selbst und ist für die meisten liquiditätsstarken und relativ reibungslosen Varianten wie z. B. Futures, Devisen und gängige digitale Währungen geeignet.

  2. Trendverfolgung: Trends werden durch den Vergleich der Positionsbeziehungen zwischen den EMAs verschiedener Perioden beurteilt, die zu einem gewissen Grad in den frühen Stadien der Trendentstehung erfasst werden können, und Trends werden verfolgt.

  3. Flexibilität der Parameter: Die EMA-Periodenparameter können flexibel an die Eigenschaften der Sorte und des Investment Horizons angepasst werden, was eine gewisse Anpassungsfähigkeit bedeutet.

  4. Logische Klarheit: Die Strategie erzeugt Handelssignale auf Basis einfacher EMA-Multiplex-Array-Kombinationen, deren Logik klar ist und leicht zu verstehen und umzusetzen ist.

Das ist eine sehr wichtige Aufgabe.

  1. EMA-Verzögerung: Die EMA ist im Wesentlichen ein Trendverfolgungsindikator, der eine gewisse Verzögerung aufweist, wobei in einem wackligen Markt möglicherweise mehr Falschsignale auftreten.

  2. Parameter-sensibel: Die Auswahl der EMA-Zyklus-Parameter hat einen großen Einfluss auf die Strategie-Performance, und nach der Optimierung der Parameter kann die Performance nicht unbedingt auf den außerhalb der Stichprobe vorhandenen Daten erhalten werden.

  3. Fehlende Filterung: Die Strategie fehlt eine weitere Filterung der Handelssignale, die nach der Generierung aller Signale getätigt werden, was zu einigen minderwertigen Transaktionen führen kann.

  4. Festplatzierungen: Die derzeitige Strategie ist, dass jede Position, die eröffnet wird, eine feste Einheit ist. Es fehlt eine risikobasierte, dynamische Positionskontrolle und das Risikomanagement ist nicht ausreichend.

Optimierungsrichtung

  1. Einführung von Trendfiltern: Auf Basis von EMA-Signalen werden Trendstärkenfilter wie ATR, ADX und andere hinzugefügt, um Signale für schwache Trends und Erschütterungen zu filtern.

  2. Einführung von Schwankungsrate-Filtern: Auf der Grundlage von Trendfiltern können Schwankungsrate-Filter, wie z. B. Brin-Bandbreite, weiter eingeführt werden, um niedrige Qualitätssignale zu filtern, die durch hohe Schwankungen verursacht werden können.

  3. Optimierte Stop-Loss: Die derzeitige Strategie fehlt eine eindeutige Stop-Loss-Logik, die nach der Einführung von Trends und Volatilitätsfilter, die auf der Grundlage von ATR oder Prozentsatz dynamische Stop-Loss erhöhen kann, um den Einzelschaden zu kontrollieren.

  4. Dynamische Positionen: Die Anzahl der positionierten Positionen kann dynamisch gesteuert werden, indem die Strategie auf Basis der Variantenfluktuation, des Verhältnisses zwischen dem Kontowert und anderen Faktoren erstellt wird, um ein höheres absolutes Ergebnis zu erzielen, während das Risiko verringert wird.

  5. Optimierungsparameter: Die optimalen Parameter für die EMA können unterschiedlich sein, je nach Sorte und Zyklus. Die Optimierungsparameter müssen je nach Sorte individuell ausgewählt werden, um die Anwendbarkeit der Strategie zu verbessern.

Zusammenfassung

Die Strategie identifiziert Trendwendepunkte durch den Vergleich von 4 verschiedenen EMAs aus einer mehrräumigen Array-Kombination. Die Idee ist einfach und klar. Die Vorteile liegen in der Breite der Anwendung, der Logik, der Parameterflexibilität und der besseren Trendverfolgung.

Strategiequellcode
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © n1ghthawk

//@version=5
strategy("donmo's 4ema", overlay=true, margin_long=100, margin_short=100)

float long = na
float short = na

lowestEMAPeriodInput = input.int(8, "Lowest EMA")
lowEMAPeriodInput = input.int(13, "Low EMA")
medEMAPeriodInput = input.int(21, "Med EMA")
highEMAPeriodInput = input.int(55, "High EMA")

lowestEMA = ta.ema(close, lowestEMAPeriodInput)
lowEMA = ta.ema(close, lowEMAPeriodInput)
medEMA = ta.ema(close, medEMAPeriodInput)
highEMA = ta.ema(close, highEMAPeriodInput)


emaLongCondition = highEMA<medEMA and highEMA<lowEMA and highEMA<lowestEMA
emaShortCondition = highEMA>medEMA and highEMA>lowEMA and highEMA>lowestEMA

longCondition = ta.change(emaLongCondition)
shortCondition = ta.change(emaShortCondition)

notInTrade = strategy.position_size <= 0
if longCondition and emaLongCondition and notInTrade
    long:=high
    strategy.entry("EL", strategy.long)

if shortCondition and emaShortCondition
    short:=low
    strategy.close("EL")


plot(long+3,title = 'long', color = color.green, linewidth = 4, style = plot.style_cross)
plot(short-3,title = 'short', color = color.red, linewidth = 4, style = plot.style_cross)

plot(lowestEMA, title = "lowestEMA", color=color.blue)
plot(lowEMA, title = "lowEMA", color=color.green)
plot(medEMA, title = "medEMA", color=color.orange)
plot(highEMA, title = "highEMA", color=color.red)