
Bei der Strategie handelt es sich um ein trendfolgendes Handelssystem, das auf dem Indikator „Volatility Rate Stop“ (VStop) und dem „Exponential Moving Average“ (EMA) basiert. Die Strategie kombiniert die Handelsphilosophie von Stan Weinstein zur Optimierung des Geldmanagements durch dynamisch angepasste Stop-Loss-Niveaus mit der Nutzung von EMA zur Bestätigung der Trendrichtung. Diese Kombination bietet Anlegern und Swingtradern einen Handelsrahmen, der es ihnen ermöglicht, Trends zu erfassen und gleichzeitig Risiken effektiv zu verwalten.
Die Kernlogik der Strategie basiert auf zwei technischen Hauptindikatoren:
Volatilitäts-Stop (VStop): Ein dynamischer Stoppindikator basierend auf ATR (Average True Range), der die Stoppposition adaptiv entsprechend der Marktvolatilität anpasst. Befindet sich der Preis in einem Aufwärtstrend, verschiebt sich die Stop-Loss-Linie mit dem steigenden Preis nach oben; kehrt sich der Trend um, ändert die Stop-Loss-Linie die Richtung und wird neu berechnet.
Exponential Moving Average (EMA): fungiert als Trendbestätigungstool und hilft beim Herausfiltern falscher Signale. Der Preis muss über dem EMA liegen, bevor das Eröffnen einer Position in Betracht gezogen wird. Dadurch wird sichergestellt, dass die Handelsrichtung mit dem Haupttrend übereinstimmt.
Die Logik zur Generierung von Handelssignalen ist wie folgt:
Diese Strategie erstellt durch die Kombination von Volatilitäts-Stop-Loss und gleitendem Durchschnittssystem einen vollständigen Rahmen für den Trendfolgehandel. Die Hauptvorteile der Strategie liegen in ihrer Anpassungsfähigkeit und ihren Fähigkeiten zum Risikomanagement, allerdings muss auch auf die Auswirkungen des Marktumfelds auf die Leistung der Strategie geachtet werden. Durch kontinuierliche Optimierung und Verbesserung soll die Strategie eine stabile Leistung in unterschiedlichen Marktumgebungen aufrechterhalten. Es wird Händlern empfohlen, die Parametereinstellungen vollständig zu testen und Strategien basierend auf ihrer eigenen Risikotoleranz anzupassen, bevor sie sie im realen Handel einsetzen.
/*backtest
start: 2024-12-17 00:00:00
end: 2025-01-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/
//@version=5
strategy("VStop + EMA Strategy", overlay=true)
// VStop Parameters
length = input.int(20, "VStop Length", minval=2)
multiplier = input.float(2.0, "VStop Multiplier", minval=0.25, step=0.25)
// EMA Parameters
emaLength = input.int(30, "EMA Length", minval=1)
// VStop Calculation
volStop(src, atrlen, atrfactor) =>
if not na(src)
var max = src
var min = src
var uptrend = true
var float stop = na
atrM = nz(ta.atr(atrlen) * atrfactor, ta.tr)
max := math.max(max, src)
min := math.min(min, src)
stop := nz(uptrend ? math.max(stop, max - atrM) : math.min(stop, min + atrM), src)
uptrend := src - stop >= 0.0
if uptrend != uptrend[1] and not barstate.isfirst
max := src
min := src
stop := uptrend ? max - atrM : min + atrM
[stop, uptrend]
// Calculate VStop
[vStop, isUptrend] = volStop(close, length, multiplier)
// Plot VStop
plot(vStop, "Volatility Stop", style=plot.style_cross, color=isUptrend ? color.teal : color.red)
// Calculate 30 EMA
emaValue = ta.ema(close, emaLength)
plot(emaValue, "EMA", color=color.blue)
// Entry and Exit Conditions
longCondition = isUptrend and close > emaValue
exitCondition = close <= emaValue
// Strategy Execution
if longCondition and not strategy.opentrades
strategy.entry("Long", strategy.long)
if exitCondition and strategy.opentrades
strategy.close("Long")
// Display Strategy Info
bgcolor(isUptrend ? color.new(color.teal, 90) : color.new(color.red, 90), title="Trend Background")