Turtle Breakout EMA Crossover-Strategie


Erstellungsdatum: 2023-11-07 15:40:08 zuletzt geändert: 2023-11-07 15:40:08
Kopie: 0 Klicks: 619
1
konzentrieren Sie sich auf
1617
Anhänger

Turtle Breakout EMA Crossover-Strategie

Überblick

Die Strategie nutzt zwei EMA-Gehälter mit unterschiedlichen Perioden, um eine Trendwende durch ihre Kreuzung zu bestimmen und als Einstiegs- und Ausstiegssignal zu dienen. Die Strategie ist einfach zu verstehen und zu bedienen.

Strategieprinzip

Die Strategie verwendet die ta.ema-Funktion, um zwei EMA-Mittellinien zu berechnen, eine mit einer Länge von 10 und eine mit einer Länge von 20 Zyklen, die kurzfristige und langfristige Trends darstellen. Der Code beurteilt die Kreuzung der beiden EMAs durch ta.crossover und ta.crossunder.

Die Strategie verwendet auch die Variable lastCrossTime, um die Zeit der letzten Kreuzung aufzuzeichnen, um zu verhindern, dass wiederholte Kreuzungen zu sinnlosen Transaktionen führen. Bei jeder erfolgreichen Kreuzung werden zuerst alle aktuellen Positionen ausgeglichen und dann in der Kreuzungsrichtung positioniert. Nach der Positionöffnung wird eine Stop-Loss-Position ausgeschaltet.

Strategische Vorteile

  1. Die Strategie ist einfach, klar und leicht zu verstehen und zu handhaben.

  2. Die Verwendung von EMA-Kreuzungen zur Bestimmung von Trendwendepunkten ist eine häufig verwendete und wirksame Technische Indikatorstrategie.

  3. Die Verwendung von unterschiedlichen periodischen EMAs erhöht die Empfindlichkeit für kurzfristige Veränderungen, während gleichzeitig die Sicherstellung der Erfassung von großen Trends gewährleistet wird.

  4. Ein Stop-Loss-System, das die Risiken und Gewinne eines einzelnen Handels kontrolliert.

  5. Verwenden Sie die LastCrossTime-Variablen, um das wiederholte Signal zu filtern und unnötige Transaktionen zu vermeiden.

Strategisches Risiko

  1. EMA-Kreuzungen sind anfällig für falsche Signale und bergen ein gewisses Risiko für Fehleinschätzungen.

  2. Festgelegte TPs und SLs sind nicht in der Lage, Veränderungen des Marktes zu bewältigen. Sie sollten dynamische Stop-Loss-Systeme einrichten.

  3. Ein System, das nur auf einer EMA-Kreuzung basiert, kann bei einem Sturz zu Verlusten führen.

  4. Die Auswirkungen der Transaktionskosten werden nicht berücksichtigt.

  5. Die Strategie ist für Trendbewegungen geeignet und kann bei Erschütterungen nicht wirken.

Dies kann durch die Optimierung von Stop-Loss, die Erhöhung der Filterbedingungen und die Kombination anderer Indikatoren verbessert werden. Die Risiken müssen streng kontrolliert werden, um zu große Einzelschäden zu vermeiden.

Richtung der Strategieoptimierung

  1. Die Parameter zur Optimierung der EMA können getestet werden, um eine geeignete Periodenkombination zu finden.

  2. Zusatzinstrumente wie KDJ, MACD und andere werden eingesetzt.

  3. Setzen Sie einen dynamischen Stop-Loss, z. B. einen Marginal-Stop, der mit dem Trend einhergeht.

  4. Es ist wichtig, dass die Anmeldung in den nächsten Monaten erfolgt, um die Anzahl der Geschäfte zu erhöhen.

  5. In Kombination mit anderen Graphikformationen beurteilen, wie z.B. Durchbruch wichtiger Widerstandsplätze.

  6. Berücksichtigen Sie die Kostenwirkung der Festplatte und legen Sie eine angemessene Stop-Loss-Marge fest.

Zusammenfassen

Die Strategie ist einfach zu bedienen, aber es gibt ein gewisses Risiko für Fehlentscheidungen bei EMA-Kreuzungen. Die Indikatorparameter müssen weiter optimiert und mit anderen technischen Indikatoren unterstützt werden, um Fehlentscheidungen zu reduzieren. In Trendbewegungen ist die Wirkung besser, aber in Schokken ist sie anfällig.

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

//@version=5
strategy('XXXquang', overlay=true)

// Sử dụng hàm input.int() và input.float() để tạo các trường nhập liệu với giới hạn giá trị
length1 = input.int(10, title="Length EMA Short", minval=1)
length2 = input.int(20, title="Length EMA Long", minval=1)
lotSize = input.int(1, title="Lot Size", minval=1)

takeProfitLevel = input.int(600, title="Take Profit Level", minval=1)
stopLossLevel = input.int(200, title="Stop Loss Level", minval=1)

ema1 = ta.ema(close, length1)
ema2 = ta.ema(close, length2)

var float lastCrossTime = na

if ta.crossover(ema1, ema2)
    if na(lastCrossTime)
        strategy.close_all()
    strategy.entry('Buy Order', strategy.long, qty=lotSize)
    strategy.exit('Exit Buy', 'Buy Order', profit=takeProfitLevel / syminfo.pointvalue, loss=stopLossLevel / syminfo.pointvalue)
    lastCrossTime := timenow

if ta.crossunder(ema1, ema2)
    if na(lastCrossTime)
        strategy.close_all()
    strategy.entry('Sell Order', strategy.short, qty=lotSize)
    strategy.exit('Exit Sell', 'Sell Order', profit=takeProfitLevel / syminfo.pointvalue, loss=stopLossLevel / syminfo.pointvalue)
    lastCrossTime := timenow

plot(ema1, title='EMA Short', color=color.new(color.blue, 0), linewidth=2)
plot(ema2, title='EMA Long', color=color.new(color.red, 0), linewidth=2)