Die Volatility Breakout Trading Strategie ist eine einzelne Kursbewegung basierte Strategie. Sie erzeugt Kauf- und Verkaufssignale durch Analyse von Preis- und Volumenänderungen. Diese Strategie kann auch mit Warnungen kombiniert werden, um Aufträge auf anderen Börsen oder Systemen auszulösen.
Diese Strategie analysiert die Schließ-, Öffnungs-, Hoch- und Tiefpreise von Kerzen, um Preistrends und -dynamik zu bestimmen.
Insbesondere prüft es, ob die Schlusskurs der letzten 3 Kerzen kontinuierlich höher oder niedriger sind als die Eröffnungskurs.
Wenn das aktuelle Kerzenvolumen den maximalen Wert in der letzten Periode übersteigt, deutet dies auf ein steigendes Handelsvolumen und starke Kräfte hin, die in den Markt eintreten.
Wenn der Preis auf drei aufeinander folgenden Kerzenbrüchen ausbricht und das Handelsvolumen wächst, wird die Strategie Kauf- oder Verkaufssignale erzeugen.
Dies ist eine einfache, aber wirksame Strategie, bei der Preisbewegung und Volumensignale genutzt werden.
Es gibt auch einige potenzielle Risiken:
Um diese Risiken zu mindern, kann man in Betracht ziehen, einen beweglichen Stop Loss hinzuzufügen, Parameterkombinationen zu optimieren oder mit anderen Indikatoren oder Strategien zu kombinieren.
Als grundlegende Strategie gibt es noch viel Optimierungsmöglichkeiten:
Dies ist eine sehr praktische Preis-Action-basierte Strategie. Sie hat die Vorzüge, intuitiv zu sein, leicht zu verstehen und zu niedrigen Kosten umzusetzen. Inzwischen hat sie auch eine gewisse Blindheit und benötigt weitere Optimierungen und Kombinationen für eine verbesserte Leistung. Insgesamt ist dies ein wertvolles Strategiekonzept, das eine eingehende Forschung und Anwendung verdient.
/*backtest start: 2022-12-04 00:00:00 end: 2023-03-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SPAS", overlay=true, pyramiding=5, calc_on_order_fills=true) int signal_hh = 0 int signal_ll = 0 if close[1] >= open[1] and close[2] >= open[2] and close[3] >= open[3] signal_hh := 1 if close[1] <= open[1] and close[2] <= open[2] and close[3] <= open[3] signal_ll := 1 plotchar(signal_hh, char='H', size=size.tiny, location=location.abovebar) plotchar(signal_ll, char='L', size=size.tiny, location=location.abovebar) int signal_vol = 0 float max_volume = 0.0 int vol_length = input(title="Volume length", type=input.integer, defval=3) for i = vol_length to 1 if volume[i] > max_volume max_volume := volume[i] if volume[0] > max_volume signal_vol := 1 plotchar(signal_vol, char='V', size=size.tiny, location=location.bottom) int signal_buy = 0 int signal_sell = 0 if signal_hh and signal_vol signal_buy := 1 label.new(bar_index, high, "B", color=color.green) strategy.entry("buy", strategy.long, 5)//, when=strategy.position_size <= 0) if signal_ll and signal_vol signal_sell := 1 label.new(bar_index, low, "S", color=color.red) strategy.entry("sell", strategy.short, 5)//, when=strategy.position_size > 0) //plotchar(signal_buy, char='B', color=color.green, size=size.tiny, location=location.abovebar) plotarrow(signal_buy, colorup=color.green, colordown=color.orange, transp=0, maxheight=20) //plotchar(signal_sell, char='S', color=color.red, size=size.tiny, location=location.abovebar) plotarrow(signal_sell * -1, colorup=color.green, colordown=color.orange, transp=0, maxheight=20)