Diese Strategie ist eine quantitative Handelsstrategie, die auf Bollinger Bands und MACD-Indikatoren basiert.
Die Strategie verwendet hauptsächlich Bollinger-Bänder und MACD-Indikatoren zur Bestimmung von Handelssignalen.
Bollinger Bands bestehen aus einem mittleren Band, einem oberen Band und einem unteren Band. Ein Kaufsignal wird erzeugt, wenn der Preis durch das untere Band bricht. Ein Verkaufssignal wird erzeugt, wenn der Preis durch das obere Band bricht.
Der MACD-Indikator spiegelt die Beziehung zwischen kurzfristigen und langfristigen gleitenden Durchschnitten wider. Er verwendet Crossovers der Differenzlinie und Signallinie, um Ein- und Ausstiegspunkte zu bestimmen. Diese Strategie integriert die Verwendung von MACD-Indikatoren, um Bollinger Bands-Handelssignale zu filtern und wirksamere Kaufsignale zu generieren, wenn die Differenzlinie über die Signallinie kreuzt.
Insgesamt kombiniert die Strategie die Trendverfolgung der Bollinger-Bänder mit den Vorteilen des gleitenden Durchschnitts des MACD, um stärkere Marktschwankungen bei starken Trends zu erfassen.
Die Kombination von Bollinger Bands und MACD-Indikatoren macht Handelssignale zuverlässiger.
Bollinger-Bands-Trendverfolgung und MACD-Geschwindigkeitsquerschnitte können stärkere Eintrittssignale in Trendmärkte erzeugen.
Falsche Signale können durch ein doppeltes Indikator-Urteilsvermögen effektiv gefiltert werden, wodurch das Handelsrisiko verringert wird.
Es besteht ein großer Raum für die Optimierung der Parameter der Strategie, die je nach verschiedenen Produkten und Zyklen angepasst werden kann.
In den Märkten mit Range-Bindungen können Handelssignale, die durch Bollinger-Bänder und MACD erzeugt werden, häufig vorkommen und Risiken für einen Überhandel mit sich bringen.
Bei drei aufeinanderfolgenden MACD-Goldkreuzen auf niedrigen Niveaus besteht das Risiko einer Umkehrung.
Die Strategie verwendet mehrere Indikatoren, was die Optimierung von Parametern und die Strategieprüfung recht schwierig macht.
Um diesen Risiken entgegenzuwirken, können Methoden wie die Anpassung von Haltezeiten, das Setzen von Stop-Losses und die Optimierung von Parametern zur Kontrolle verwendet werden.
Testen Sie längerfristige Bollinger-Bänderparameter, um die Handelsfrequenz zu reduzieren.
Optimierung der MACD-Schnellen- und Langsamlinienparameter zur Verbesserung der Indikatorempfindlichkeit.
Hinzufügen anderer Indikatoren für die Filterung, wie KDJ, RSI usw., um die Signalqualität zu verbessern.
Einstellen dynamischer Stopps, um automatisch aus den Trades auszusteigen und Einzelhandelsrisiken zu kontrollieren.
In der Theorie kann diese Strategie durch die Integration von Bollinger Bands Breakout-Handel und MACD-Indikator-Filterung qualitativ hochwertige Handelssignale erzeugen. Durch Parameteroptimierung und Risikokontrollmaßnahmen können gute Backtest-Ergebnisse erzielt werden. Jedoch kann keine Strategie Verluste vollständig vermeiden. Die tatsächliche Handelsleistung erfordert eine umsichtige Bewertung.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Nabz-BBMACD-2022-V1.1", shorttitle="BBM-Nabz", overlay=true) // My 1st Pine Scrpt Indicator // Work on best on 1Hr Chart // Open for Help/Donations. var float lastentry=1 int result = 0 float x = 0 drawshape = false /////////////EMA shortest = ta.ema(close, 20) short = ta.ema(close, 50) longer = ta.ema(close, 100) longest = ta.ema(close, 200) plot(shortest, color = color.red) plot(short, color = color.orange) plot(longer, color = color.aqua) plot(longest, color = color.blue) ///////////// RSI RSIlength = input(6,title="RSI Period Length") RSIoverSold = 50 RSIoverBought = 50 price = close vrsi = ta.rsi(price, RSIlength) ///////////// Bollinger Bands BBlength = input.int(200, minval=1,title="Bollinger Period Length") BBmult = 2 // input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation") BBbasis = ta.sma(price, BBlength) BBdev = BBmult * ta.stdev(price, BBlength) BBupper = BBbasis + BBdev BBlower = BBbasis - BBdev source = close buyEntry = ta.crossover(source, BBlower) sellEntry = ta.crossunder(source, BBupper) ////////////// MACD fastLength = input(12) slowlength = input(26) MACDLength = input(9) MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength) aMACD = ta.ema(MACD, MACDLength) delta = MACD - aMACD ///////////// Colors switch1=input(true, title="Enable Bar Color?") switch2=input(true, title="Enable Background Color?") TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? color.red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? color.green : na ///////////Strategy bool tcu = not (ta.crossunder(price[0],shortest[0])) if (((price[1]<BBlower[1]) and (ta.crossover(price,BBlower)))) lastentry := low[1] strategy.entry("RSI_BB_L", strategy.long, comment="Buy 1st IF") if (((ta.crossover(delta, 0.0) and (ta.crossover(price,BBlower))))) lastentry := low[1] strategy.entry("RSI_BB_L", strategy.long, comment="Buy 2nd IF") if (((ta.crossover(delta, 0.0)) and (low[0]>shortest[0])) and (price[1]<low)) lastentry := low[1] strategy.entry("RSI_BB_L", strategy.long, comment="Buy 3rd IF") //else if (((ta.crossover(delta, 0.01)) and (high[1]<BBupper)) and (tcu)) lastentry := low[1] strategy.entry("RSI_BB_L", strategy.long, comment="Buy 4th IF") if ((ta.crossunder(low[0],shortest[0]) and close<shortest)) strategy.close(id="RSI_BB_L", comment="Close by 1st IF") if (price<lastentry) drawshape := true if (price<strategy.opentrades.entry_price(0)/1.01175734321249) strategy.close(id="RSI_BB_L", comment="Close by 2nd IF") plot(strategy.opentrades.entry_price(0), color=color.yellow)