
Die Strategie ist ein Hybrid-Trading-System, das auf mehreren technischen Indikatoren basiert und die Markttrends durch die Kombination von EMAs, relativ starken RSI und Supertrends erfasst. Die Strategie verwendet eine feste Parameter-Einstellung, die speziell für 2-Stunden-Zeiträume optimiert ist, um Trends durch die 21/55/200-Zyklus-Einheitslinie zu identifizieren, während das Risiko in Kombination mit dem RSI (14) Dynamikfilter und dem SuperTrend (3,14) verwaltet wird. Die Strategie verlangt auch einen Durchbruch von 1,5-fachem Volumen und bestätigt die Volatilität durch ATR, wodurch die Zuverlässigkeit des Handels erhöht wird.
Die Kernlogik der Strategie basiert auf einem mehrschichtigen Rahmen für technische Analysen:
Die Strategie baut durch die Kombination mehrerer technischer Indikatoren ein relativ vollständiges Handelssystem auf. Ihr Vorteil besteht darin, dass sie Markttrends effektiv erfassen und die Zuverlässigkeit des Handels durch mehrere Bedingungen verbessern kann. Obwohl einige inhärente Risiken bestehen, besteht durch Optimierung und Verbesserung Raum für eine Verbesserung der Gesamtperformance der Strategie.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Hybrid Trend Momentum Strategy by Biege ver. 1.0", overlay=true)
// ———— SUPERTREND FIX ————
supertrendWrapper(factor, atrPeriod) =>
[stLine, stDir] = ta.supertrend(factor, atrPeriod)
[stLine, stDir]
// ———— GLOBAL EMA CALCULATIONS ————
fastEMA = ta.ema(close, 21)
slowEMA = ta.ema(close, 55)
trendEMA = ta.ema(close, 200)
atrVal = ta.atr(14)
atrEMA = ta.ema(atrVal, 48)
rsiVal = ta.rsi(close, 14)
rsiEMA = ta.ema(rsiVal, 14)
volumeEMA = ta.ema(volume, 20)
[supertrendLine, supertrendDir] = supertrendWrapper(3, 14)
// ———— TRADE THROTTLING SYSTEM ————
var int lastTradeTime = na
tradeCooldown = input.int(360, "Cooldown (minutes)", minval=60, step=15) * 60 * 1000
// ———— ENHANCED ENTRY CONDITIONS ————
entryCondition =
ta.crossover(fastEMA, slowEMA) and
rsiVal > rsiEMA + 10 and
close > supertrendLine and
close > trendEMA and
volume > volumeEMA * 1.5 and
atrVal > atrEMA and
(na(lastTradeTime) or time - lastTradeTime >= tradeCooldown)
// ———— ULTRA-OPTIMIZED EXIT CONDITIONS ————
exitCondition =
ta.crossunder(fastEMA, slowEMA) or // Main EMA cross remains
ta.crossunder(rsiVal, rsiEMA - 15) or // Increased from -10 to -15 (harder trigger)
ta.crossunder(close, supertrendLine * 0.98) // Changed from 1.01 to 0.98 (2% buffer below)
// ———— TRADE EXECUTION ————
if entryCondition
strategy.entry("Buy", strategy.long)
lastTradeTime := time
if exitCondition
strategy.close("Buy")
// ———— VISUALS ————
plot(fastEMA, "Fast EMA", color.new(#2962FF, 0), 2)
plot(slowEMA, "Slow EMA", color.new(#FF6D00, 0), 2)
plot(trendEMA, "Trend EMA", color.new(#AA00FF, 0), 2)
plot(supertrendLine, "SuperTrend", color.new(#00C853, 0), 2)
plotshape(entryCondition, "Buy", shape.triangleup,
location.belowbar, color.new(#00E676, 0), size=size.small)
plotshape(exitCondition, "Sell", shape.triangledown,
location.abovebar, color.new(#FF1744, 0), size=size.small)