Dreifache EMA-Trendfolgestrategie


Erstellungsdatum: 2023-12-20 15:00:44 zuletzt geändert: 2023-12-20 15:00:44
Kopie: 0 Klicks: 800
1
konzentrieren Sie sich auf
1621
Anhänger

Dreifache EMA-Trendfolgestrategie

Überblick

Die Triple EMA Trend-Tracking Strategie ist eine Strategie, die sehr gut geeignet ist, um Markttrends zu verfolgen. Sie verwendet drei verschiedene EMA-Perioden als Positionssignale, um Über- oder Leerpositionen zu erstellen, wenn eine ausreichende Trendbestätigung vorliegt.

Der Vorteil dieser Strategie besteht darin, dass sie die Falschsignale reduziert und sicherstellt, dass der Trend stark genug ist, um dann wieder einzutreten. Gleichzeitig verfügt sie über ein adaptives Stop-Loss-System, das dem Stop-Loss entsprechend der Marktvolatilität folgen kann, um eine bessere Risikomanagementwirkung zu erzielen.

Strategieprinzip

Logik der Lagerhaltung

Die Strategie nutzt die drei EMAs der Zeiten 7, 14 und 21 als Positionssignale. Die spezifische Logik ist, wenn der Preis die drei EMAs gleichzeitig hochläuft, zu machen; wenn der Preis die drei EMAs gleichzeitig unterläuft, zu machen.

Diese Konstruktion reduziert Falschsignale und stellt sicher, dass Trends klar genug sind, um dann wieder eingegeben zu werden. Gleichzeitig können die drei EMA-Zyklen, die richtig eingestellt sind, das Auftreten von Markttrends rechtzeitig erfassen.

Verlustbewältigung

Die Strategie verwendet ein anpassungsfähiges Stop-Loss-System basierend auf ATR und maximaler Rücknahme. Es berechnet die Preisschwankungen in Echtzeit und setzt eine Stop-Line entsprechend. Konkret wird ein bestimmtes Multiplikator des ATR als Stop-Buffer berechnet.

Während des Anstiegs kann die Stop-Line mit neuen Höhen aufwärts bewegt werden, um eine bessere Nachhaltigkeit zu erzielen. Wenn der Preis zurück zum Tiefpunkt der Pufferzone fällt, wird die Stop-Line aktiviert, um die Stop-Position zu platzieren. Dies kann das Stop-Loss-Risiko je nach der jeweiligen Marktlage steuern.

Wie man profitiert

Die Strategie verwendet eine Stop-Line mit einem festen Prozentsatz. Nach dem Aufnehmen der Position wird eine Stop-Line eingerichtet, die einen bestimmten Prozentsatz höher als der Einstiegspreis ist. Wenn der Preis an der Stop-Line liegt, wird der Profit aus der Position aktiviert.

Der Vorteil dieser festen Stop-Rate ist, dass man die Zielgewinnspanne festlegen kann, und wenn man sie erreicht hat, kann man aussteigen. Gleichzeitig wird das Risiko vermieden, dass der Preis wieder zurückfällt. Die Stop-Rate kann je nach Bedarf angepasst werden.

Analyse der Stärken

  • Die Angabe, dass die Angabe von Falschmeldungen verringert werden kann, stellt sicher, dass nach der Lagerung eine starke Preisentwicklung vorliegt.
  • Mit EMA-Zyklusüberlagerungen können Sie schnell Markttrends erfassen
  • Adaptive Stop-Loss-Systeme, die Risiken auf Basis von Schwankungen steuern
  • Fixed Stop-Loss Ratio, Ausstieg nach Erreichen der Gewinnziele
  • Die Stop-Loss-Methode basiert auf der ATR- und Maximal-Rücknahme-Berechnung und kann entsprechend der Marktlage optimiert werden
  • Einfache Anpassung des Strategie-Stils durch Änderung der Parameter

Risikoanalyse

  • In schwankenden Situationen kann die EMA häufig kreuzen und leicht eingeschaltet werden.
  • Die feststehende Stopps können nicht an die Marktlage angepasst werden und können mehr Gewinn oder mehr Verluste verpassen.
  • Nach dem Stoppen des Verlustverfolgens ist es unmöglich, einen höheren Punkt erneut zu verfolgen, und ein erneuter Preisverlust kann den Verlust erhöhen
  • Bei einseitigen Durchbrüchen kann die Fixed Stop Rate zu konservativ sein und nicht ausreichend Gewinne erzielen

Es ist möglich, eine blinde Haltung in einem bewegten Umfeld zu vermeiden, indem Trends mit Indikatoren kombiniert werden. Es ist auch möglich, die Stop-Off-Methode mit mobilen Stop-Off-Methoden oder Verlust-Verlust-Verhältnissen flexibler zu gestalten. Im Allgemeinen ist die Anwendung der Strategie durch künstliche Beurteilung erforderlich.

Optimierungsrichtung

Die Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Es gibt mehr Indikatoren, die den Einstieg bestimmen, wie MACD, KD usw., um zu vermeiden, dass Sie in einem Erschütterungssituation erwischt werden.

  2. Versuchen Sie, den Stopper zu bewegen oder den Stopper zu verringern, um den Stopper flexibler zu machen.

  3. Die Aufnahme eines Abwärtsverfolgungsmechanismus in die Stop-Loss-Methode ermöglicht es, die niedrigsten Punkte erneut zu verfolgen, wenn der Preis erneut fällt, um das Risiko zu kontrollieren.

  4. Anpassung der EMA-Zyklusparameter an die Eigenschaften der verschiedenen Sorten, um Trends zu beurteilen.

  5. Ein zusätzliches Modul zur Positionsverwaltung ermöglicht die Anpassung der einzelnen Positionen an die Verwendungsquote.

Zusammenfassen

Die Triple EMA Trend-Tracking-Strategie ist eine sehr praktische Trend-Tracking-Strategie. Sie verfügt über eine starke Trend-Erkenntnis und verfügt über ein anpassungsfähiges Stop-Loss-System, mit dem die Bestellungen automatisch verwaltet werden können. Aus Sicht der Optimierung können die Stop-Loss-Systeme weiter verbessert werden, so dass sie sich an Echtzeit-Marktbedingungen anpassen können.

Strategiequellcode
/*backtest
start: 2023-01-01 00:00:00
end: 2023-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle='Three EMAs Trend-following Strategy',title='Three EMAs Trend-following Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)


//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

ema_1 = ema(close, input(7))
ema_2 = ema(close, input(12))
ema_3 = ema(close, input(21))

Take_profit= ((input (4))/100)

longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(3.0, "Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)

go_long = crossover(close, ema_1) and crossover(close, ema_2) and crossover(close, ema_3)



closeLong = close > longTakeProfit or crossunder(close, vStop)



//Entry 
strategy.entry(id="long", long = true, when = go_long and window())



//Exit
strategy.close("long", when = closeLong and window())

plot(vStop,"Vstop", color.black, linewidth=2)
plot(ema_1,"EMA Short", color.green, linewidth=1)
plot(ema_2,"EMA Mid", color.purple, linewidth=1)
plot(ema_3,"EMA Long", color.red, linewidth=1)