
Die Strategie kombiniert technische Analyse-Tools wie beispielsweise Moving Averages (MA), Relative Strength Indices (RSI) und Average True Rate (ATR) und zielt darauf ab, Trendchancen in den Märkten zu erfassen. Die Strategie beurteilt die Trendrichtung durch eine doppelte Gleichgewichtskreuzung und filtert die Dynamik der Handelssignale mit dem RSI-Indikator, während die ATR als Stop-Loss Basis verwendet wird, um das Risiko zu kontrollieren.
Der Kern der Strategie ist die Verwendung von zwei verschiedenen Perioden der beweglichen Durchschnittswerte (schnelle und langsame Linie) Kreuzung zu beurteilen, die Markttrends. Wenn die schnelle Linie über die langsame Linie, zeigt einen Aufwärtstrend, die Strategie wird mehrere Signale erzeugen; im Gegensatz dazu, wenn die schnelle Linie unter der langsamen Linie, zeigt einen Abwärtstrend, die Strategie wird ein Abbruchsignal erzeugen.
Um die Zuverlässigkeit der Handelssignale zu verbessern, wurde der RSI-Indikator als Dynamikfilter eingeführt. Mehrpositionen sind nur erlaubt, wenn der RSI über einem bestimmten Threshold liegt (z. B. 50), und leere Positionen sind nur erlaubt, wenn der RSI unter diesem Threshold liegt. Dies verhindert den Handel in einem Quermarkt oder bei mangelnder Dynamik und verbessert die Signalqualität.
Darüber hinaus verwendet die Strategie den ATR als Stop-Basis, um die Stop-Loss-Position dynamisch an die Preisschwankungen in der jüngsten Zeit anzupassen, um sich an verschiedene Marktbedingungen anzupassen. Diese anpassungsfähige Stop-Loss-Methode kann schnell gestoppt werden, wenn der Trend unklar ist, um den Rückzug zu kontrollieren.
Die Strategie ist durch die organische Kombination von Trendfollowing und Dynamikfilterung besser in der Risikokontrolle, während die Markttrendchancen zu erfassen. Die Strategie Logik ist klar, einfach zu implementieren und zu optimieren. In der Praxis, aber in der Praxis, müssen immer noch auf die Schaukel-Markt-Risiko und Parameter-Risiko zu beachten, und nach Markteigenschaften und eigenen Bedürfnisse, flexible Anpassung und Optimierung der Strategie.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trend-Following Strategy with MACD and RSI Filter", overlay=true)
// Input variables
fastLength = input(12, title="Fast MA Length")
slowLength = input(26, title="Slow MA Length")
signalLength = input(9, title="Signal Line Length")
stopLossPct = input(1.0, title="Stop Loss %") / 100
rsiLength = input(14, title="RSI Length")
rsiThreshold = input(50, title="RSI Threshold")
// Moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)
// MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
// RSI
rsi = ta.rsi(close, rsiLength)
// Entry conditions with RSI filter
bullishSignal = ta.crossover(macdLine, signalLine) and rsi > rsiThreshold
bearishSignal = ta.crossunder(macdLine, signalLine) and rsi < rsiThreshold
// Calculate stop loss levels
longStopLoss = ta.highest(close, 10)[1] * (1 - stopLossPct)
shortStopLoss = ta.lowest(close, 10)[1] * (1 + stopLossPct)
// Execute trades
strategy.entry("Long", strategy.long, when=bullishSignal)
strategy.entry("Short", strategy.short, when=bearishSignal)
strategy.exit("Exit Long", "Long", stop=longStopLoss)
strategy.exit("Exit Short", "Short", stop=shortStopLoss)
// Plotting signals
plotshape(bullishSignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Bullish Signal")
plotshape(bearishSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Bearish Signal")
// Plot MACD
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.orange, title="Signal Line")
// Plot RSI
hline(rsiThreshold, "RSI Threshold", color=color.gray)
plot(rsi, color=color.purple, title="RSI")