Schildkrötenhandelsstrategie auf der Grundlage eines einfachen gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 29.12.2023 16:45:51
Tags:

img

Übersicht

Diese Strategie generiert Gewinn, indem zwei Gruppen einfacher gleitender Durchschnitte mit verschiedenen Parametern berechnet und sie als Signale für die Eröffnung und Schließung von Positionen verwendet werden.

Grundsätze

Die Strategie berechnet gleichzeitig zwei Gruppen von schnellen und langsamen Linien. Die Parameter der schnellen Linie sind auf 20 Tage für Eröffnungspositionen und 10 Tage für Schließpositionen festgelegt. Die Parameter der langsamen Linie sind 55 Tage und 20 Tage. Wenn der Preis über den höchsten Wert der Eröffnungsphase der schnellen Linie überschreitet, löst er ein Long Signal aus. Wenn der Preis unter den niedrigsten Wert der Eröffnungsphase der schnellen Linie fällt, löst er ein Short Signal aus. Ähnlich schließt er lange Positionen, wenn der Preis unter den niedrigsten Wert der Schließphase der schnellen Linie fällt. Wenn der Preis den höchsten Wert der Schließphase der schnellen Linie durchbricht, schließt er Short Positionen. Die langsame Linie hat die gleiche Logik für die Eröffnung und Schließung von Positionen wie die schnelle Linie.

Die Strategie stützt sich auf die gleitende Durchschnittstheorie, um Gewinne zu erzielen. Das heißt, wenn der kurzfristige gleitende Durchschnitt über den langfristigen überschreitet, wird er als bullisches Signal angesehen. Wenn er darunter geht, signalisiert er einen Abwärtstrend. Die schnellen und langsamen Linien in dieser Strategie spielen ähnliche Rollen.

Vorteile

  1. Einfache und klare Regeln, leicht verständlich und umsetzbar, für Anfänger geeignet;
  2. klare Kriterien für die Eröffnung und Schließung von Positionen, wobei häufiger Handel vermieden wird;
  3. Durch die Kombination schnellerer und langsamer Doppel gleitender Durchschnitte werden Kursschwankungen ausgeglichen und deutlichere Handelssignale generiert.
  4. Die Verwendung mehrerer Parameter-Sätze hilft, Risiken zu kontrollieren und fehlerhafte Transaktionen zu verhindern.
  5. Langfristig stabile Gewinne, bestätigt im Live-Handel.

Risiken und Minderungsmaßnahmen

  1. Die Strategie selbst ist mechanisch und kann keine Beurteilungen über besondere Marktbedingungen fällen und hat somit Gewinnbeschränkungen.
    • Versuche, mehr Indikatoren oder Modelle für maschinelles Lernen zur Unterstützung der Entscheidungsfindung zu integrieren
  2. Gleitende Durchschnitte als Nachlässigkeitsindikatoren haben eine gewisse Latenz;
    • Die Öffnungs- und Schließzeiten entsprechend verkürzen
  3. Es ist nicht möglich, den maximalen Abzug zu begrenzen.
    • Festlegen von Stop-Loss-Punkten

Optimierungsrichtlinien

  1. Hinzufügen eines Stop-Loss-Moduls zur Steuerung des maximalen Drawdowns
  2. Einbeziehung anderer Indikatoren zum Filtern von Signalen
  3. Dynamische Anpassung der gleitenden Durchschnittsparameter
  4. Hinzufügen eines Datenverarbeitungsmoduls zur Beseitigung der Auswirkungen von abnormalen Daten
  5. Einbeziehung von Modellen des maschinellen Lernens zur Ermittlung von Trends

Zusammenfassung

Dies ist eine typische Trendfolgestrategie. Durch die Festlegung von Handelsregeln auf der Grundlage einfacher doppelter gleitender Durchschnitte und der Verfolgung von Markttrends erzielt sie stetige Gewinne. Die Strategie ist leicht zu verstehen und umzusetzen mit klaren Eröffnungssignalen und langfristigen verifizierten Gewinnen aus Live-Handel, so dass sie für Anfänger sehr geeignet ist, um zu lernen und zu recherchieren. Sie legt auch den Grundstein für komplexeren quantitativen Handel. Weitere Optimierungen können zu noch besseren Leistungen führen.


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

//@version=2
//coded by tmr0
//original idea from «Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary Traders» (2007) CURTIS FAITH
strategy("20 years old Turtles strategy by tmr0", shorttitle = "Turtles", overlay=true)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
enter_slow = input(55, minval=1)
exit_slow = input(20, minval=1)

fastL = highest(enter_fast)
fastLC = lowest(exit_fast)
fastS = lowest(enter_fast)
fastSC = highest(exit_fast)

slowL = highest(enter_slow)
slowLC = lowest(exit_slow)
slowS = lowest(enter_slow)
slowSC = highest(exit_slow)

enterL1 = high > fastL[1]
exitL1 = low <= fastLC[1]
enterS1 = low < fastS[1]
exitS1 = high >= fastSC[1]

enterL2 = high > slowL[1]
exitL2 = low <= slowLC[1]
enterS2 = low < slowS[1]
exitS2 = high >= slowSC[1]


//bgcolor(exitL1 or exitL2? red: enterL1 or enterL2? navy:white)

strategy.entry("fast L", strategy.long, when = enterL1)
strategy.entry("fast S", strategy.short, when = enterS1)
strategy.close("fast L", when = exitL1)
strategy.close("fast S", when = exitS1)

strategy.entry("slow L", strategy.long, when = enterL2)
strategy.entry("slow S", strategy.short, when = enterS2)
strategy.close("slow L", when = exitL2)
strategy.close("slow S", when = exitS2)
//zl=0
//z=strategy.netprofit / 37 * koef  //ежемесячная прибыль
//z=strategy.grossprofit/strategy.grossloss
//z1=plot (z, style=line, linewidth=3, color = z>zl?green:red, transp = 30)
//hline(zl, title="Zero", linewidth=1, color=gray, linestyle=dashed)

Mehr