- Quadrat
- VWAP und RSI Dynamic Bollinger Bands nehmen Gewinn und stoppen Verlust Strategie
VWAP und RSI Dynamic Bollinger Bands nehmen Gewinn und stoppen Verlust Strategie
Schriftsteller:
ChaoZhang, Datum: 2024-06-14 15:18:39
Tags:
VWAPRSIBBATR
Übersicht
Diese Strategie kombiniert drei technische Indikatoren: VWAP (Volume Weighted Average Price), RSI (Relative Strength Index) und Bollinger Bands, um eine einfache und einfach zu bedienende quantitative Handelsstrategie mit dynamischem Take Profit und Stop Loss zu implementieren.
Strategieprinzip
- Berechnen Sie die Werte der technischen Indikatoren VWAP, RSI und Bollinger Bands.
- Bestimmen Sie, ob der Kurstrend nach oben, nach unten oder seitlich ist, indem Sie die Beziehung zwischen dem Schlusskurs und dem VWAP über die letzten 15 Kerzen beurteilen.
- Wenn der Preis unterhalb des unteren Bollinger Bands liegt, ist der RSI kleiner als 45 und das VWAP-Signal zeigt einen Abwärtstrend, wird ein Long-Signal generiert; wenn der Preis über dem oberen Bollinger Band liegt, ist der RSI größer als 55 und das VWAP-Signal zeigt einen Aufwärtstrend, wird ein Short-Signal generiert.
- Nach Ermittlung eines Handelssignals berechnet die Strategie auf der Grundlage des ATR-Indikators die Gewinn- und Stop-Loss-Level mit einem Gewinn-Stop-Loss-Verhältnis von 1,5:1.
- Wenn eine Long-Position gehalten wird, wenn der RSI größer oder gleich 90 ist, schließt die Strategie die Long-Position; wenn eine Short-Position gehalten wird, wenn der RSI kleiner oder gleich 10 ist, schließt die Strategie die Short-Position.
Strategische Vorteile
- Durch die Kombination mehrerer technischer Indikatoren wird die Zuverlässigkeit der Handelssignale verbessert.
- Der Einsatz von dynamischen Take Profit und Stop Loss kann das Risiko effektiv kontrollieren und die Gewinne sichern.
- Die Codestruktur ist klar und leicht zu verstehen und zu optimieren.
- Anwendbar auf verschiedene Marktumgebungen, einschließlich Trend- und Seitenmärkte.
Strategische Risiken
- In Zeiten hoher Marktvolatilität kann häufiger Handel zu hohen Transaktionskosten führen.
- Wenn auf dem Markt unerwartete Ereignisse oder irrationales Verhalten auftreten, kann die Strategie falsche Handelssignale erzeugen.
- Die Einstellungen der Parameter der Strategie müssen möglicherweise an unterschiedliche Marktumgebungen angepasst werden, um die Wirksamkeit der Strategie zu gewährleisten.
Strategieoptimierungsrichtlinien
- Versuchen Sie, die Parameter-Einstellungen von VWAP, RSI und Bollinger Bands an unterschiedliche Marktumgebungen und Handelsinstrumente anzupassen.
- Einführung anderer technischer Indikatoren wie MACD, KDJ usw., um die Zuverlässigkeit der Handelssignale weiter zu verbessern.
- Optimieren Sie die Berechnungsmethode von Take Profit und Stop Loss, z. B. die Verwendung von Trailing Stop Loss oder Profit Protection Stop Loss, um das Risiko besser zu kontrollieren und die Gewinne zu sichern.
- Kombination von Fundamentalanalysen wie Wirtschaftsdaten und politischen Veränderungen zur Verbesserung der Gesamtleistung der Strategie.
Zusammenfassung
Diese Strategie kombiniert drei technische Indikatoren: VWAP, RSI und Bollinger Bands, um eine einfache und einfach zu bedienende quantitative Handelsstrategie umzusetzen.
/*backtest
start: 2024-06-06 00:00:00
end: 2024-06-13 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("VWAP and RSI Strategy", overlay=true)
// VWAP calculation
vwap = ta.vwap(close)
// RSI calculation
rsi_length = 16
rsi = ta.rsi(close, rsi_length)
// Bollinger Bands calculation
bb_length = 14
bb_std = 2.0
[bb_middle, bb_upper, bb_lower] = ta.bb(close, bb_length, bb_std)
// Variables for VWAP signal calculation
backcandles = 15
float vwapsignal = na
// Function to check if last 15 candles are above or below VWAP
calc_vwapsignal(backcandles) =>
upt = true
dnt = true
for i = 0 to backcandles - 1
if close[i] < vwap[i]
upt := false
if close[i] > vwap[i]
dnt := false
if upt and dnt
3
else if upt
2
else if dnt
1
else
0
// Calculate VWAP signal for each bar
vwapsignal := calc_vwapsignal(backcandles)
// Calculate total signal
totalsignal = 0
if vwapsignal == 2 and close <= bb_lower and rsi < 45
totalsignal := 2
else if vwapsignal == 1 and close >= bb_upper and rsi > 55
totalsignal := 1
// Define strategy entry and exit conditions
slatr = 1.2 * ta.atr(7)
TPSLRatio = 1.5
if (totalsignal == 2 and strategy.opentrades == 0)
strategy.entry("Long", strategy.long, stop=close - slatr, limit=close + slatr * TPSLRatio)
if (totalsignal == 1 and strategy.opentrades == 0)
strategy.entry("Short", strategy.short, stop=close + slatr, limit=close - slatr * TPSLRatio)
// Additional exit conditions based on RSI
if (strategy.opentrades > 0)
if (strategy.position_size > 0 and rsi >= 90)
strategy.close("Long")
if (strategy.position_size < 0 and rsi <= 10)
strategy.close("Short")
Verwandt
Mehr