Strategie für die Verknüpfung von Mehrfach-EMA-Märkten

Schriftsteller:ChaoZhang, Datum: 21.09.2023
Tags:

Übersicht

Diese Strategie kombiniert 8-Tage-, 13-Tage-, 21-Tage- und 55-Tage-EMAs und erzeugt bei einem Crossover zwischen ihnen lange und kurze Signale, um mittelfristige Trends zu erfassen.

Strategie Logik

  1. Berechnen Sie 8-Tage-, 13-Tage-, 21-Tage- und 55-Tage-EMA.

  2. Wenn die 8-Tage-, 13-Tage- und 21-Tage-EMAs alle über die 55-Tage-EMA hinauslaufen, wird das Long-Signal ausgelöst.

  3. Wenn die 8-Tage-, 13-Tage- und 21-Tage-EMAs alle unter die 55-Tage-EMA fallen, wird ein Kurzsignal ausgelöst.

  4. Auf dem goldenen Kreuz lang, auf dem Todeskreuz kurz.

  5. Nahe Position beim Rückwärts-Kreuzung.

Analyse der Vorteile

  1. Mehrfache EMA-Kombination, die bei falschen Ausbrüchen wirksam ist.

  2. 55-Tage-EMA als Anker vermeidet, gefangen zu werden.

  3. Der Backtest zeigt in den letzten 10 Jahren eine stetige Jahresrendite.

  4. Visuelle Crossover, einfach zu bedienen, Anfängerfreundlich.

Risikoanalyse

  1. Feste Parameter können nicht für alle Produkte und Märkte geeignet sein, eine unabhängige Optimierung ist erforderlich.

  2. Unwirksam auf verschiedenen Märkten, mit dem Risiko von Ausfällen und häufigen Stopps.

  3. Keine Stop-Loss, die den Verlust eines einzelnen Handels begrenzen kann.

  4. Die Handelsfrequenz kann zu hoch oder zu niedrig sein, Parameteranpassungen sind erforderlich.

  5. 10-Jahres-Stichprobe begrenzt, größere Daten benötigen, um die Robustheit zu überprüfen.

Optimierungsrichtlinien

  1. Test EMA-Periodenkombinationen, um die beste Übereinstimmung zu finden.

  2. Fügen Sie den Lautstärkungsfilter hinzu, um falsche Ausbrüche zu vermeiden.

  3. Einführung eines festen oder beweglichen Stop-Loss.

  4. Optimierung der Positionsgröße, um das Risiko pro Handel zu senken.

  5. Handeln Sie mit Long- und Shortseiten.

  6. Tests auf mehr Produkte und längere Zeitrahmen ausweiten.

Zusammenfassung

Diese Strategie identifiziert mittelfristige Trends mit EMA-Kreuzungen auf intuitive visuelle Weise. Die Stärken sind Sichtbarkeit und Einfachheit. Aber die Parameter müssen mehr optimiert werden und fehlt die Risikokontrolle. Mehr technische Indikatoren sollten eingeführt werden, um Signale zu filtern und Stops hinzuzufügen, um Verluste zu begrenzen. Es erfordert auch große Proben-Backtests über Produkte und Zeit zur Verfeinerung und Verifizierung, um zu einem robusten Trendfolgensystem zu werden.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 6h
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/
// © ColinMccann18
//@version=4

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// --------------------------------------------------------------RULES------------------------------------------------------------------------------
// - VISUALLY REPRESENTS THE CROSSING OF 8,13,21,55 EMA'S FROM KROWNS PROGRAM 
strategy(title="CM EMA Trend Cross STRAT", shorttitle="CM EMA Strat", overlay=true)

ema8  = ema(close,8)
ema13 = ema(close, 13)
ema21 = ema(close, 21)
ema55 = ema(close, 55)

//PLOT
plot(ema8,  title="EMA 1",linewidth=2, color=#00eeff)
plot(ema13, title="EMA 2",linewidth=2, color=#fff900)
plot(ema21, title="EMA 3",linewidth=2, color=#42ff0f)
plot(ema55, title="EMA 4",linewidth=2, color=#8b49ff)

//LOGIC---------------------------------------------------------------------------------------------------------------------------------
emacrossover = crossover(ema21, ema55) and ema8 and ema13 > ema55
emacrossunder = crossunder(ema21, ema55) and ema8 and ema13 < ema55

//Long----------------------------------------------------------------------------------------------------------------------------------
longCondition = emacrossover
closelongCondition = emacrossunder

strategy.entry("Long", strategy.long, qty=na, when=longCondition)
strategy.close("Close Long", when=closelongCondition)

//Short----------------------------------------------------------------------------------------------------------------------------------
shortCondition = emacrossunder
closeshortCondition = emacrossover

strategy.entry("Short", strategy.short,qty=na, when=shortCondition)
strategy.close("Close Short", when=closeshortCondition)



Mehr