
Die Strategie identifiziert potenzielle Handelschancen durch Analyse von Marktvolatilität, Trendstärke und kritischen Preisniveaus. Die Strategie verwendet präzise Einstiegsbedingungen und Risikomanagementmethoden, um eine solide Handelsperformance zu erzielen. Im Mittelpunkt der Strategie steht die Erhöhung der Zuverlässigkeit von Handelssignalen durch die Kreuzprüfung mehrerer technischer Kennzahlen.
Die Strategie verwendet drei Hauptkomponenten von technischen Indikatoren: Brin-Bänder zur Messung von Marktvolatilität und Überkauf-Überverkauf; Gleichgewichtsdiagramme zur Beurteilung der Trendrichtung und -stärke; Widerstandswerte für die Unterstützung zur Identifizierung von kritischen Preisniveaus. Die Kombination aus mehreren Indikatoren bietet eine umfassendere Sicht auf den Markt.
Die Generierung von Handelssignalen basiert auf folgenden Bedingungen: Wenn der Preis die Bollinger-Band-Strecke überschreitet, wird ein Mehrsignal ausgelöst, wenn der Preis die Bollinger-Band-Strecke überschreitet, wird ein Mehrsignal ausgelöst. Wenn der Preis die Bollinger-Band-Strecke überschreitet, wird ein Nullsignal ausgelöst, wenn der Preis die Bollinger-Band-Strecke überschreitet, wird ein Nullsignal ausgelöst. Die Strategie enthält auch eine prozentuale Stop-Loss-Einstellung, um das Risiko zu kontrollieren.
Es handelt sich um eine quantitative Handelsstrategie, die mehrere technische Indikatoren verwendet, um Handelschancen durch Trendbrechungen und mehrere Signalbestätigungen zu erfassen. Die Vorteile der Strategie liegen in der hohen Signalzuverlässigkeit und der perfekten Risikomanagement, jedoch muss man auf Falschbrüche und Parameteroptimierung achten. Durch kontinuierliche Optimierung und Risikomanagement wird die Strategie in allen Arten von Marktumgebungen stabil bleiben.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("BB Ichimoku S/R Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input parameters
bb_length = input.int(20, "Bollinger Bands Length")
bb_mult = input.float(2.0, "Bollinger Bands Multiplier")
ichimoku_tenkan = input.int(9, "Ichimoku Tenkan-sen")
ichimoku_kijun = input.int(26, "Ichimoku Kijun-sen")
ichimoku_senkou = input.int(52, "Ichimoku Senkou Span B")
sr_lookback = input.int(14, "S/R Lookback Period")
profit_target = input.float(1.5, "Profit Target (%)", minval=0.1, step=0.1)
stop_loss = input.float(1.0, "Stop Loss (%)", minval=0.1, step=0.1)
// Bollinger Bands
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_mult)
// Ichimoku Cloud
tenkan = ta.ema(hl2, ichimoku_tenkan)
kijun = ta.ema(hl2, ichimoku_kijun)
spanA = (tenkan + kijun) / 2
spanB = ta.ema(hl2, ichimoku_senkou)
// Support and Resistance
highest_high = ta.highest(high, sr_lookback)
lowest_low = ta.lowest(low, sr_lookback)
// Entry conditions
long_condition = close > bb_upper and close > spanA and close > spanB and close > highest_high[1]
short_condition = close < bb_lower and close < spanA and close < spanB and close < lowest_low[1]
// Execute trades
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
// Set profit target and stop loss
strategy.exit("TP/SL", "Long", profit=strategy.position_avg_price * (1 + profit_target / 100), loss=strategy.position_avg_price * (1 - stop_loss / 100))
strategy.exit("TP/SL", "Short", profit=strategy.position_avg_price * (1 - profit_target / 100), loss=strategy.position_avg_price * (1 + stop_loss / 100))
// Plot indicators
plot(bb_middle, color=color.blue, title="BB Middle")
plot(bb_upper, color=color.red, title="BB Upper")
plot(bb_lower, color=color.red, title="BB Lower")
plot(tenkan, color=color.orange, title="Tenkan-sen")
plot(kijun, color=color.purple, title="Kijun-sen")
spanA_plot = plot(spanA, color=color.green, title="Senkou Span A")
spanB_plot = plot(spanB, color=color.red, title="Senkou Span B")
plot(highest_high, color=color.green, title="Resistance")
plot(lowest_low, color=color.red, title="Support")
// Fill Ichimoku Cloud
fill(spanA_plot, spanB_plot, color=spanA > spanB ? color.rgb(76, 175, 80, 90) : color.rgb(255, 82, 82, 90))