
Diese Strategie ist ein quantitatives Handelssystem, das auf linearen Signalen und Z-Score-Normalisierung basiert. Es erstellt standardisierte Handelssignale, indem es exogene Variablen wie RSI mit Preisdaten kombiniert, und verwendet Schwellenwerte, um Transaktionen auszulösen. Diese Strategie eignet sich für Intraday- und Hochfrequenzhandelsszenarien und verfügt über eine hohe Anpassungs- und Konfigurierbarkeit.
Zu den Kernprinzipien der Strategie gehören die folgenden wichtigen Schritte:
Dies ist eine quantitative Handelsstrategie mit klarer Struktur und strenger Logik. Durch lineare Kombination und Normalisierungsverarbeitung wird ein robustes Handelssignalsystem aufgebaut. Die Strategie ist in hohem Maße konfigurierbar und verfügt über ein perfektes Risikomanagement, allerdings muss auf Probleme bei der Parameteroptimierung und Marktanpassung geachtet werden. Die Stabilität und Profitabilität der Strategie kann durch die empfohlenen Optimierungsrichtungen weiter verbessert werden.
/*backtest
start: 2024-12-29 00:00:00
end: 2025-01-05 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Linear Signal-Based Strategy", shorttitle = "LSB_V1", overlay=true)
// Inputs
lookback_period = input.int(14, title="Lookback Period for Moving Averages")
signal_alpha = input.float(0.5, title="Signal Weight Alpha (Exogenous Variable)")
take_profit_percent = input.float(0.02, title="Take Profit (%)")
stop_loss_percent = input.float(0.01, title="Stop Loss (%)")
risk_adjustment_factor = input.float(1.5, title="Risk Adjustment Factor")
// Fetch Exogenous Variable (Example: RSI as a Proxy)
rsi_value = ta.rsi(close, lookback_period)
// Linear Signal Calculation
linear_signal = signal_alpha * rsi_value + (1 - signal_alpha) * close
// Z-Score Normalization for Signal
mean_signal = ta.sma(linear_signal, lookback_period)
stddev_signal = ta.stdev(linear_signal, lookback_period)
z_score_signal = (linear_signal - mean_signal) / stddev_signal
// Entry Conditions
long_condition = z_score_signal < -risk_adjustment_factor
short_condition = z_score_signal > risk_adjustment_factor
// Risk Management
long_take_profit = close * (1 + take_profit_percent)
long_stop_loss = close * (1 - stop_loss_percent)
short_take_profit = close * (1 - take_profit_percent)
short_stop_loss = close * (1 + stop_loss_percent)
// Execute Trades
if (long_condition)
strategy.entry("Long", strategy.long, qty=1)
strategy.exit("Exit Long", "Long", stop=long_stop_loss, limit=long_take_profit)
if (short_condition)
strategy.entry("Short", strategy.short, qty=1)
strategy.exit("Exit Short", "Short", stop=short_stop_loss, limit=short_take_profit)