Diese Strategie identifiziert kurzfristige Tiefpunkte, indem sie bei einem Abwärtstrend ein ausstehendes Volumen erkennt und bei Überverkaufspositionen Longpositionen einnimmt.
Wenn das Volumen 2 Standardabweichungen über dem SMA-basierten Durchschnittsvolumen übersteigt, gilt es als ausstehendes Volumen. Währenddessen zeigt ein RSI unter 30 einen Überverkaufstatus an. Wenn beide Bedingungen erfüllt sind, wird es als kurzfristiger Boden beurteilt und eine Long-Position wird sofort aufgenommen. Die Position wird nach einer bestimmten Zeit (z. B. 10 Bars) geschlossen.
Die Logik dieser Strategie ist also einfach:
Zu den Vorteilen dieser Strategie gehören:
Zusammenfassend lässt sich sagen, dass diese Strategie die Vorteile von Volumen-Breakouts nutzt, um Trendumkehrungen zu erfassen und gleichzeitig Risiken streng zu kontrollieren.
Zu den wichtigsten Risiken dieser Strategie gehören:
Um diesen Risiken entgegenzuwirken, kann die Optimierung in folgenden Aspekten erfolgen:
Diese Strategie kann in folgenden Bereichen weiter optimiert werden:
Durch die Einführung fortgeschrittener Techniken können die Stabilität, das Alpha- und das Sharpe-Verhältnis erheblich verbessert werden.
Zusammenfassend ist dies eine sehr einfache, unkomplizierte und logische kurzfristige Breakout-Strategie. Durch die korrekte Nutzung von Volumen zur Erkennung von Trendumkehrungen und die strikte Kontrolle von Risiken kann eine solide Performance erzielt werden. Es gibt jedoch Risiken für falsche Signale und Parameterrobustheit. Diese können schrittweise durch die Einführung fortschrittlicher Techniken zur weiteren Verbesserung der Strategie behoben werden.
/*backtest start: 2024-01-10 00:00:00 end: 2024-01-17 00:00:00 period: 1m basePeriod: 1m 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/ // © footlz //@version=4 strategy("Bottom catch strategy", overlay=true) v_len = input(20, title="Volume SMA Length") mult = input(2) rsi_len = input(20, title="RSI Length") oversold = input(30, title="Oversold") close_time = input(10, title="Close After") v = volume basis = sma(v, v_len) dev = mult * stdev(v, v_len) upper_volume = basis + dev rsi = rsi(close, rsi_len) long = v > upper_volume and rsi < oversold strategy.entry("Long", true, when=long) passed_time = 0.0 if strategy.position_size != 0 passed_time := 1 else passed_time := 0 if strategy.position_size != 0 and strategy.position_size[1] != 0 passed_time := passed_time[1] + 1 if passed_time >= close_time strategy.close_all() // If want to enable plot, change overlay=false. v_color = close >= close[1] ? color.new(#3eb370, 0) : color.new(#e9546b, 0) // plot(v, title="volume", color=v_color, style=plot.style_columns) // plot(upper_volume, title="Threshold", color=color.aqua)