
Bei dieser Strategie handelt es sich um ein zusammengesetztes Handelssystem, das mehrere Indikatoren kombiniert und hauptsächlich auf der umfassenden Analyse des Exponential Moving Average (EMA), des Supertrends, der Bollinger Bands und des Relative Strength Index (RSI) basiert. Die Kernlogik der Strategie erstellt Handelssignale rund um EMA und Supertrend und kombiniert gleichzeitig Bollinger-Bänder und RSI, um eine zusätzliche Beurteilung der Marktvolatilität und -dynamik zu ermöglichen. Das Handelssystem verwendet eine RSI-Analyse mit mehreren Zeiträumen, einschließlich Tages-, Wochen- und Monatszeiträumen, um eine umfassendere Marktperspektive für Handelsentscheidungen zu bieten.
Die Strategie verwendet eine Kombination aus mehrschichtigen technischen Indikatoren, um Markttrends und Volatilitätschancen zu erfassen:
Bedingungen für die Auslösung eines Handelssignals:
Diese Strategie konstruiert durch die organische Kombination mehrerer technischer Indikatoren ein relativ vollständiges Handelssystem. Die Kombination aus EMA und Supertrend liefert die wichtigsten Handelssignale, die ADX-Überprüfung stellt sicher, dass die Transaktionen in einem Umfeld mit starken Trends stattfinden, und die Zusatzanalyse der Bollinger-Bänder und des RSI bietet zusätzliche Marktperspektiven. Die Hauptvorteile dieser Strategie sind Signalzuverlässigkeit und Systemintegrität, sie bringt jedoch auch Herausforderungen hinsichtlich Signalverzögerung und Parameteroptimierung mit sich. Durch die vorgeschlagenen Optimierungsrichtungen soll die Strategie die Rentabilität verbessern und gleichzeitig die Stabilität aufrechterhalten.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//made by Chinmay
//@version=6
strategy("CJ - Multi1", overlay=true)
// Input for RSI length
rsi_length = input.int(14, title="RSI Length")
// Calculate Daily RSI
daily_rsi = ta.rsi(close, rsi_length)
// Calculate Weekly RSI (using security function to get weekly data)
weekly_rsi = request.security(syminfo.tickerid, "W", ta.rsi(close, rsi_length))
// Calculate Monthly RSI (using security function to get weekly data)
monthly_rsi = request.security(syminfo.tickerid, "M", ta.rsi(close, rsi_length))
// Plot the RSIs
plot(daily_rsi, color=color.blue, title="Daily RSI", linewidth=2)
plot(weekly_rsi, color=color.red, title="Weekly RSI", linewidth=2)
plot(monthly_rsi, color=color.black, title="Monthly RSI", linewidth=2)
// Create horizontal lines at 30, 50, and 70 for RSI reference
hline(30, "Oversold", color=color.green)
hline(70, "Overbought", color=color.red)
hline(50, "Neutral", color=color.gray)
// Bollinger Bands Calculation
bb_length = 20
bb_mult = 2
bb_stddev = ta.stdev(close, bb_length)
bb_average = ta.sma(close, bb_length)
bb_upper = bb_average + bb_mult * bb_stddev
bb_lower = bb_average - bb_mult * bb_stddev
plot(bb_upper, color=color.new(#ffb13b, 0), linewidth=2)
plot(bb_average, color=color.new(#b43bff, 0), linewidth=2)
plot(bb_lower, color=color.new(#ffb13b, 0), linewidth=2)
// Inputs for EMA
ema_L1 = input.int(defval=13, title="EMA Length 1")
ema_L2 = input.int(defval=34, title="EMA Length 2")
ema_L3 = input.int(defval=100, title="EMA Length 3")
adx_level = input.int(defval=25, title="ADX Level")
// Inputs for Supertrend
atr_l = input.int(defval=10, title="ATR Length")
factor = input.float(defval=3.0, title="Supertrend Multiplier")
// Calculate EMA
ema1 = ta.ema(close, ema_L1)
ema2 = ta.ema(close, ema_L2)
ema3 = ta.ema(close, ema_L3)
// Calculate Supertrend
[supertrend, direction] = ta.supertrend(factor, atr_l)
// Calculate ADX and DI
[diplus, diminus, adx] = ta.dmi(14,14)
// Buy and Sell Conditions
buy = direction == -1 and ema1 > ema2 and close > ta.ema(close, 100) and adx > adx_level
short = direction == -1 and ema1 < ema2 and close < ta.ema(close, 100) and adx > adx_level
sell = ta.crossunder(close, supertrend)
cover = ta.crossover(close, supertrend)
// Strategy Logic
if buy
strategy.entry("Buy", strategy.long, comment="Long Entry")
if sell
strategy.close("Buy", comment="Sell Exit")
// Uncomment for Short Strategy
if short
strategy.entry("Short", strategy.short, comment="Short Entry")
if cover
strategy.close("Short", comment="Cover Exit")