Richard Bookstaber Momentum Breakout Strategie


Erstellungsdatum: 2023-11-02 15:12:46 zuletzt geändert: 2023-11-02 15:12:46
Kopie: 1 Klicks: 695
1
konzentrieren Sie sich auf
1617
Anhänger

Richard Bookstaber Momentum Breakout Strategie

Überblick

Die Dynamik-Breakthrough-Strategie basiert auf dem Konzept, das Richard Buchstaber 1984 entwickelte, dass der Markt in der Regel in diese Richtung weitergeht, sobald große Schwankungen auftreten. Die Strategie verwendet daher die ATR, um die Volatilität zu messen, und sendet ein Handelssignal aus, wenn die Schlusskursänderungen mehr als das ATR-Mehrfache überschreiten.

Strategieprinzip

Die Strategie berechnet zuerst den ATR-Indikator, um die Marktvolatilität zu messen. Dann wird der absolute Wert der täglichen Schlusskursänderung berechnet. Es wird ein Handelssignal erzeugt, wenn der Schlusskurs mehrere Male über dem ATR-Indikator liegt.

Die Strategie nutzt die ATR-Indikatoren, um dynamisch Breakouts zu identifizieren. Wenn die Marktfluktuation zunimmt, steigt die Breakout, wodurch falsche Geschäfte vermieden werden können. Wenn die Marktfluktuation abnimmt, sinkt die Breakout, wodurch die Breakout-Gelegenheit rechtzeitig erfasst wird.

Analyse der Stärken

  • Dynamische ATR-Stopps ermöglichen eine effektive Risikokontrolle und lassen die Stopppunkte mit der Marktvolatilität variieren.
  • Der Markt kann sich durch einen Durchbruch von Handelssignalen verändern.
  • Die Parameter können für verschiedene Sorten und Zyklen optimiert werden.
  • Die Strategie ist einfach, klar und leicht zu verstehen und umzusetzen.

Risikoanalyse

  • ATR-Indikatoren reagieren langsam auf Überraschungen und könnten den ersten Durchbruch verpassen.
  • Das ist ein schlechter Ausgleich, wenn man nur mehr oder nur weniger macht, ist es deutlich besser als ein Zwei-Wege-Handel.
  • Die Strategieparameter sind leicht zu optimieren und können in der Praxis nicht wirken.
  • Die Transaktionen sind häufig und die Transaktionskosten können hoch sein.

Es kann in Kombination mit anderen Indikatoren in Betracht gezogen werden, um die Zeitspanne für den Handel zu filtern und die Effizienz zu verbessern. Es kann auch eine bessere Parameterwahl für die Merkmale der Sorte gewählt werden. Die Frequenz des Handels kann durch die Verwendung von Technologien wie Martingale-Algorithmen kontrolliert werden.

Optimierungsrichtung

  • Es kann in Kombination mit anderen Indikatoren überlegt werden, in welche Richtung sich der Trend bewegt, um falsche Trades zu vermeiden. Zum Beispiel RSI, MACD usw.
  • Positionsverwaltungsmodule können hinzugefügt werden, um die Positionen an die Marktlage anzupassen.
  • Die optimale Kombination von Parametern für verschiedene Sorten.
  • Automatische Optimierungsparameter können in Kombination mit maschinellen Lerntechnologien verwendet werden.

Zusammenfassen

Die Strategie ist einfach und unkompliziert. Durch den Einsatz von Durchbrüchen werden Handelssignale erzeugt. ATR-Stopp ermöglicht es, sich an die Volatilität des Marktes anzupassen. Die Strategie ist auf Parameteroptimierung angewiesen, um gute Ergebnisse zu erzielen. Es gibt jedoch einige Probleme, wie das Verpassen des ersten Durchbruchs, häufige Geschäfte usw.

Strategiequellcode
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © EduardoMattje

//@version=5
strategy("Volatility System", overlay=false, margin_long=0, margin_short=0, default_qty_type=strategy.percent_of_equity, 
 default_qty_value=100, process_orders_on_close=true, initial_capital=20000)

// Inputs

var averageLength = input.int(14, "Average length", 2)
var multiplier = input.float(2.0, "Multiplier", 0.0, step=0.1)

// Calculations

atr = ta.atr(averageLength) * multiplier
closingChange = ta.change(close, 1)

atrPenetration(int signal) =>
    res = closingChange * signal > atr[1]

longCondition = atrPenetration(1)
shortCondition = atrPenetration(-1)

// Order calls

if (longCondition)
    strategy.entry(strategy.direction.long, strategy.long)

if (shortCondition)
    strategy.entry(strategy.direction.short, strategy.short)

// Visuals

plot(atr, "ATR", color.white, 2)
plot(math.abs(closingChange), "Absolute close change", color.red)