
Die Strategie ist ein Trend-Tracking-System, das auf dem MACD- und RSI-Kreuzsignal basiert und die Marktschwankungen in Verbindung mit den Brin-Bändern analysiert. Die Kernstrategie besteht darin, Trendwendepunkte durch die Kombination von MACD-Gold-Dead-Forsche und RSI-Überkauf-Überverkauf-Bereichen zu erfassen und die Brin-Bereiche zu nutzen, um die Preisschwankungen zu bestätigen und so ein robusteres Handelssignal zu liefern.
Die Strategie basiert auf drei Filtermechanismen für technische Kennzahlen:
Die Eintrittsbedingungen erfordern einen MACD-Fork und den RSI in den niedrigen Bereichen ((< 50), was darauf hindeutet, dass der Markt möglicherweise von einem Überverkauf beginnt. Die Ausgangskonditionen erfordern einen MACD-Dot-Fork und den RSI in hohem Maße ((> 50), was darauf hindeutet, dass die Aufwärtsbewegung nachlässt und möglicherweise eine Rückkehr eingeleitet wird.
Durch die Kombination von MACD, RSI und Brin-Band bildet die Strategie ein relativ vollständiges Trend-Tracking-Handelssystem. Die Strategie hat eine gute theoretische Grundlage und praktische Durchführbarkeit, aber es sind noch Verbesserungen in Bezug auf Parameteroptimierung und Risikokontrolle aufgrund spezifischer Markteigenschaften erforderlich. Durch die empfohlene Optimierungsrichtung ist die Strategie in der Lage, eine bessere Stabilität und Profitabilität zu erreichen.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("MACD, RSI, Bollinger Bands Strategy", overlay=true)
// Input parameters for MACD
fastLength = input.int(12, title="MACD Fast Length")
slowLength = input.int(26, title="MACD Slow Length")
signalLength = input.int(9, title="MACD Signal Length")
// Input parameters for RSI
rsiLength = input.int(14, title="RSI Length")
// Input parameters for Bollinger Bands
bbLength = input.int(20, title="Bollinger Band Length")
bbMult = input.float(2.0, title="Bollinger Band Multiplier")
// MACD calculation
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalLength)
macdCrossUp = ta.crossover(macdLine, signalLine)
macdCrossDown = ta.crossunder(macdLine, signalLine)
// RSI calculation
rsi = ta.rsi(close, rsiLength)
// Bollinger Bands calculation
bbBasis = ta.sma(close, bbLength)
bbUpper = bbBasis + bbMult * ta.stdev(close, bbLength)
bbLower = bbBasis - bbMult * ta.stdev(close, bbLength)
// Plot Bollinger Bands
plot(bbBasis, color=color.blue, title="Bollinger Band Basis")
plot(bbUpper, color=color.green, title="Upper Bollinger Band")
plot(bbLower, color=color.red, title="Lower Bollinger Band")
// Entry condition: MACD crosses signal line from below and RSI < 50
enterLong = macdCrossUp and rsi < 50
// Exit condition: MACD crosses signal line from above and close touches the Bollinger Band middle line
exitLong = macdCrossDown and rsi> 50
// Strategy logic
if (enterLong and strategy.position_size == 0)
strategy.entry("Buy", strategy.long)
if (exitLong and strategy.position_size > 0)
strategy.close("Buy")