Trendfolgestrategie basierend auf dem EMA-Indikator


Erstellungsdatum: 2023-11-06 09:53:27 zuletzt geändert: 2023-11-06 09:53:27
Kopie: 0 Klicks: 691
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategie basierend auf dem EMA-Indikator

Überblick

Die Strategie nutzt EMA-Indikatoren, um Aktienpreistrends zu identifizieren, und kombiniert mit Standard-Differenz-Kauf-Sell-Signalen, um eine Handelsstrategie zu realisieren, die Trends verfolgt. Die Hauptidee ist, die Differenz zwischen dem aktuellen Preis und der EMA zu berechnen, um den Kauf zu setzen.

Strategieprinzip

Die Strategie berechnet zunächst die Differenz zwischen dem Close-Preis und dem EMA in der Länge der ema_length v. Dann berechnet sie die Standarddifferenz der ema_length-Zyklus von v. Dann wird der Kauf-Drehkoeffizient k bestimmt, wobei k 1 für einen Kauf-Bewertung bedeutet und k -1 für einen Kauf-Bewertung.

Die Strategie bietet zwei Modelle:

  1. Kaufen Sie nach unten, kaufen Sie die dev_limit, wenn v unter dem negativen Wert liegt, d.h. verfolgen Sie den Abwärtstrend.

  2. Kaufen Sie die Pivot, wenn die dev_limit auf v positioniert ist, um die Aufwärtstrend zu verfolgen.

Zusammenfassend lässt sich sagen, dass die Strategie den Trend durch dynamische Berechnung der Standarddifferenz zwischen dem Preis und der EMA-Differenz verfolgt.

Strategische Stärkenanalyse

Diese Strategie hat folgende Vorteile:

  1. Der EMA-Indikator erlaubt es, die Richtung des Preistrends zu erkennen. Der EMA-Indikator erlaubt es, den Preis zu glätten und die Trends zu erkennen.

  2. In Kombination mit der Berechnung der dynamischen Abweichung ist die dynamische Abweichung besser geeignet, sich an Marktveränderungen anzupassen als die feste Abweichung.

  3. Beide Kaufmodelle bieten die Möglichkeit, einen Aufwärtstrend oder einen Abwärtstrend zu verfolgen.

  4. Der factor-Parameter bietet die Möglichkeit, die Kaufempfindlichkeit anzupassen. Der ema_length-Parameter kann die EMA-Zyklusoptimierungsparameter anpassen.

  5. Die Strategie ist klar und einfach zu verstehen und zu ändern.

  6. Sie können ihre Positionen flexibel verwalten und sich auf eine positive Strategie für den Abwärtstrend einlassen.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Die EMA-Indikatoren sind nachlässig und haben möglicherweise einen Trendwendepunkt verpasst.

  2. Abhängig von Parameteroptimierungen, die möglicherweise zu empfindlich oder langsam sind, wenn die Parameter falsch eingestellt sind.

  3. Die Risiken, die sich aus der Verfolgung von Trends ergeben, können bei einer Umkehrung des Trends zu größeren Verlusten führen.

  4. Häufige Multi-Space-Umstellungen führen zu häufigen Transaktionen.

  5. In den meisten Fällen sind die Signale bei starken Erschütterungen häufig und die Kosten für die Transaktionsgebühren steigen.

Für diese Risiken kann man erwägen, Risikokontrollen mit Stop-Loss-Strategie, Optimierung der Kombinationstests für optimale Parameter, Filterbedingungen, um zu häufige Transaktionen zu vermeiden, usw. hinzuzufügen.

Optimierungsrichtung

Diese Strategie kann optimiert werden durch:

  1. Testen Sie die Parameterwirkung verschiedener EMA-Zyklen, um die optimale EMA-Zyklenlänge zu finden.

  2. Verschiedene Werte der Testfaktoren werden verwendet, um die optimale Sensitivität für die Schwellenwerte zu finden.

  3. Optimierung der Strategie zur Verwaltung der offenen Positionen, z. B. durch Trend-Aktivierung.

  4. Das Unternehmen hat sich dazu entschlossen, die Entwicklung des Handels zu erleichtern.

  5. Steigerung der Stop-Loss-Strategie und Kontrolle des Einzelschadens.

  6. Optimierung der Parameter für die beiden Kaufmodelle und Suche nach der optimalen Kombination der Parameter

  7. Beobachten Sie Trendwechselsignale und schalten Sie die Trendverfolgung aus.

Zusammenfassen

Die Strategie basiert auf der EMA-Erkennung der Trendrichtung und der dynamischen Berechnung von Thresholds, die ein Kauf- und Verkaufssignal erzeugen, um die Trends zu verfolgen. Die Strategie ist einfach und klar in der Logik und kann flexibel konfiguriert werden. Die Positionsverwaltung ist aktiv, um Trends zu verfolgen.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Azzrael

// Based on EMA and EMA Oscilator https://www.tradingview.com/script/qM9wm0PW-EMA-Oscilator-Azzrael/

// (EMA - close) + Std Dev + Factor = detecting oversell/overbuy
// Long only!
// Pyramiding - sometimes, depends on ...
// There 2 enter strategies in one script 
// 1 - Classic, buy on entering to OverSell zone (more profitable ~> 70%)
// 2 - Crazy, buy on entering to OverBuy zone (catching trend and pyramiding, more net profit)
// Exit - crossing zero of (EMA - close)

//@version=5
strategy("STR:EMA Oscilator [Azzrael]", overlay=false, 
 margin_long=100, 
 margin_short=100, 
 currency=currency.USD,
 default_qty_type=strategy.percent_of_equity,
 default_qty_value=30,
 pyramiding=3)

entry_name="Buy"

ema_length = input.int(200, "Period", minval=2, step=10)
limit = input.float(1.7, "Factor", minval=1, step=0.1, maxval=10)
dno = input.string(defval="Buy on enter to OverSell", title="Model", options=["Buy on enter to OverSell", "Buy on enter to OverBuy"]) == "Buy on enter to OverSell"

v = close - ta.ema(close, ema_length)
dev = ta.stdev(v, ema_length)
k = dno ? -1 : 1
dev_limit = k*dev*limit

cond_long = dno ? ta.crossunder(v, dev_limit) : ta.crossover(v, dev_limit)
cond_close = ta.cross(v, 0) 

// dev visualization
sig_col = (dno and v <= dev_limit) or (not dno and v >= dev_limit) ? color.green : color.new(color.blue, 80)
plot(dev_limit, color=color.green)
plot(k*dev, color=color.new(color.blue, 60))
plot(v, color=sig_col )
hline(0)

// Make love not war
strategy.entry(entry_name, strategy.long, when=cond_long)
strategy.close(entry_name, when=cond_close)