Die Strategie kombiniert die Moving Average Convergence Spread Indicator (MACD) und den Transit-Weighted Moving Average (VWMA) zur Erfassung von Marktbewegungen. Sie verwendet MACD-Strahl und kurzfristige VWMA-Kreuzungen, um Eintrittssignale zu ermitteln, während der Ausstieg vollständig von MACD-Kreuzungen abhängt. Die Strategie ist hauptsächlich für die Leverage-Derivaten-Märkte konzipiert und passt sich an verschiedene Handelsumgebungen an, indem sie die Leverage und die Präzision flexibel anpasst.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselkomponenten:
Die Strategie verbessert die Eintrittsgenauigkeit durch die Kombination von Trend-Tracking (VWMA) und Momentum-Indikator (MACD) und nutzt die MACD-Kreuzung als ein schnelles Ausstiegssignal zur Risikokontrolle.
Um diese Risiken zu verringern, wird empfohlen: 1) eine umfassende Optimierung und Rückmessung der Parameter; 2) die Festlegung von angemessenen Stop-Loss- und Profit-Zielen; 3) die regelmäßige Bewertung und Anpassung des Leverage-Levels; 4) die Einführung zusätzlicher Filterbedingungen zur Verringerung von Falschsignalen.
Diese Optimierungsrichtungen zielen darauf ab, die Anpassungsfähigkeit und Stabilität der Strategie zu verbessern und gleichzeitig das Risiko von Falschsignalen und Kontrollen zu reduzieren. Durch ständige Iteration und Verbesserung hat die Strategie das Potenzial, in verschiedenen Marktumgebungen gut zu funktionieren.
Die “Multi-Indicator Dynamic Adaptive Dynamic Trading Strategy” zeigt das Potenzial für mehrere Indikatoren in Synergie und dynamische Anpassung im quantitativen Handel. Durch die geschickte Kombination von MACD und VWMA ist die Strategie in der Lage, relativ zuverlässige Ein- und Ausstiegssignale zu liefern, während sie die Marktdynamik erfasst.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-09-24 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
leverage = input.int(1, title='Leverage', minval=1, maxval=100, step=1)
commission_value_input = input.int(3, title='Commission Value %', minval=1, maxval=100, step=1)
precision = input.int(2,title='Precision')
strategy("MACD & VWMA Equal Basis", overlay=true)
commission_value = (commission_value_input / 100) / leverage
leveragedContracts = math.max(math.round(strategy.equity * leverage / close, precision), 0)
// MACD settings
[macdLine, signalLine, histogram] = ta.macd(close, 12, 26, 9)
// VWMA settings
vwma20 = ta.vwma(close, 20)
vwma50 = ta.vwma(close, 50)
// Plot VWMA on chart
plot(vwma20, color=color.green, title="VWMA 20")
plot(vwma50, color=color.orange, title="VWMA 50")
// MACD buy/sell signals
macdLongEntrySignal = histogram > 0
macdLongExitSignal = histogram < 0
macdShortEntrySignal = histogram < 0
macdShortExitSignal = histogram > 0
// VWMA conditions for long and short positions
vwmaLongEntrySignal = vwma20 > vwma50
vwmaShortEntrySignal = vwma20 < vwma50
// Combined long entry signal: MACD buy signal with VWMA conditions
longEntry = macdLongEntrySignal and vwmaLongEntrySignal
longExit = ta.crossunder(macdLine, signalLine)
// Combined short entry signal: MACD sell signal with VWMA conditions
shortEntry = macdShortEntrySignal and vwmaShortEntrySignal
shortExit = ta.crossover(macdLine, signalLine)
// Execute long and short orders based on the conditions
if (longEntry)
strategy.entry("Long", strategy.long, qty = leveragedContracts)
if (longExit)
strategy.close("Long")
if (shortEntry)
strategy.entry("Short", strategy.short, qty = leveragedContracts)
if (shortExit)
strategy.close("Short")