
Dies ist eine quantitative Handelsstrategie, die ATR-Indikatoren und Schlusskurs verwendet, um Trendbrechen zu erfassen. Die Strategie beurteilt die Richtung des Trends durch die dynamische Berechnung von Auf- und Abwärts-Trendlinien und erzeugt ein Handelssignal, wenn der Schlusskurs die Trendlinie überschreitet. Die Strategie setzt gleichzeitig einen Stop-Loss und einen Zielpreis und kann aufgrund von Volatilität einen beweglichen Stop-Loss vornehmen.
Die Lösung:
Mehrzeit-Zyklen helfen dabei, Geräusche zu filtern und Trends stabiler zu erfassen. Die Bestätigung von Kennzahlen vor dem Breakout kann falsche Signale ausfiltern. Optimierte Positionsmanagement kann die Kapitalnutzungs-Effizienz verbessern. Optimierte Stop-Loss-Verhältnis-Parameter verbessern das Risiko-Risiko-Verhältnis der Strategie.
Die Strategie verwendet ATR als Maß für die Volatilität, um die Position der Trendlinie dynamisch anzupassen, um Trendbrechungen zu erfassen. Es wird ein vernünftiges Stop-Loss- und Gewinnziel gesetzt und mit mobilen Stop-Loss- und Gewinnsperren gesperrt. Die Parameter sind einstellbar und anpassungsfähig. Die Trendbrechungsstrategie ist jedoch auch anfällig für die Auswirkungen von Schaukeln und muss weiter optimiert und verbessert werden.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Claw-Pattern", overlay=true, calc_on_every_tick=true, default_qty_type= strategy.percent_of_equity,default_qty_value=10, currency="USD")
//Developer: Trading Strategy Guides
//Creator: Trading Strategy Guides
//Date: 3/18/2024
//Description: A trend trading system strategy
atr_period = input(title="ATR Period", defval=120, type=input.integer)
atr_mult = input(title="ATR Multiplier", defval=2, type=input.integer)
dir = input(title="Direction (Long=1, Short=-1, Both = 0)", defval=1, type=input.integer)
factor = input(title="Stop Level Deviation (% Chan.)", defval=0.75, type=input.float)
rr = input(title="Reward to Risk Multiplier", defval=2, type=input.integer)
trail_bar_start = input(title="Trail Stop Bar Start", defval=20, type=input.integer)
col_candles = input(title="Enable Colored Candles", defval=false, type=input.bool)
atr_signal = atr(atr_period)
lower_trend = low - atr_mult*atr_signal
upper_trend = high + atr_mult*atr_signal
upper_trend := upper_trend > upper_trend[1] and close < upper_trend[1] ? upper_trend[1] : upper_trend
lower_trend := lower_trend < lower_trend[1] and close > lower_trend[1] ? lower_trend[1] : lower_trend
upper_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? color.red : na
lower_color = barssince(cross(close, upper_trend[1])) > barssince(cross(close, lower_trend[1])) ? na : color.green
trend_line = lower_trend
plot(lower_trend, color=lower_color, title="Lower Trend Color")
plot(upper_trend, color=upper_color, title="Upper Trend Color")
is_buy = strategy.position_size == 0 and crossover(close, upper_trend[1]) and upper_color[1]==color.red and (dir == 1 or dir == 0)
is_sell = strategy.position_size == 0 and crossover(close, lower_trend[1]) and lower_color[1]==color.green and (dir == -1 or dir == 0)
if is_buy
strategy.entry("Enter Long", strategy.long)
else if is_sell
strategy.entry("Enter Short", strategy.short)