
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.
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.
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.
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.
/*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)