Diese Strategie trifft Handelsentscheidungen basierend auf dem Trend des MACD Histogramms. Sie nutzt die Auf- und Abwärtstrends des Histogramms, um Kauf- und Verkaufssignale zu generieren. Wenn das Histogramm für einen bestimmten Zeitraum weiter steigt oder fällt, werden entsprechende Signale generiert.
Die Strategie verwendet die schnelle Linie, die langsame Linie und das Histogramm des MACD-Indikators. Erst berechnen Sie die schnelle EMA und die langsame EMA. Dann subtrahieren Sie die langsame EMA von der schnellen EMA, um den MACD zu erhalten, und subtrahieren Sie das Signal, das der gleitende Durchschnitt des MACD ist, um das Histogramm zu erhalten.
Wenn das Histogramm für den festgelegten Zeitraum weiter steigt, wird ein Kaufsignal generiert. Dies zeigt an, dass der MACD beschleunigt, um seine Signallinie nach oben zu durchbrechen, was voraussagt, dass die Preise steigen können.
Wenn das Histogramm für den festgelegten Zeitraum weiter sinkt, wird ein Verkaufssignal generiert. Dies zeigt an, dass der MACD beschleunigt, um seine Signallinie nach unten zu durchbrechen, was voraussagt, dass die Preise fallen können.
Die Strategie weist folgende Vorteile auf:
Durch die Nutzung des Trendmerkmals des MACD-Histogramms kann es die Wendepunkte der Preisänderungen erfassen und die Rentabilität steigern.
In Kombination mit der Bedingung des aufeinanderfolgenden Anstiegs oder Falls des Histogramms können einige laute Trades herausgefiltert werden, um unnötige Verluste zu reduzieren.
Durch die Anpassung der MACD-Parameter und des Histogramm-Trendzeitraums kann es an verschiedene Produkte und Handelssitzungen angepasst werden.
Die Strategie-Logik ist einfach und klar, leicht zu verstehen und zu ändern und auch bequem mit anderen Indikatoren oder Strategien zu kombinieren.
Die Strategie birgt auch einige Risiken:
Bei einem Schwankungsbereich der Preise können falsche Signale auftreten.
Nach einem Anstieg oder Abstieg des Histogramms kann es vorkommen, dass die MACD-Linie nicht durch die Signallinie durchbricht und nicht profitabel aussteigen kann.
Die Handelskosten und -schwankungen werden nicht berücksichtigt, wobei der tatsächliche Gewinn beim Live-Handel abnehmen kann.
Bei falschen Parameter-Einstellungen (z. B. MACD-Periode, Histogramm-Trend-Periode) kann die Strategieleistung verschlechtert werden.
Diese Risiken können durch Methoden wie Kombination mit Trendindikatoren, Einstellung eines Stop-Loss-Mechanismus, Optimierung von Parametern usw. kontrolliert und reduziert werden.
Die Strategie kann in folgenden Aspekten optimiert werden:
Kombinieren Sie andere Indikatoren, um die allgemeine Trendrichtung zu bestimmen, und vermeiden Sie den Handel in schwankenden Bandbreiten.
Hinzufügen eines Stop-Loss-Mechanismus, z.B. Stop-Loss, wenn der MACD die Signallinie nach unten durchbricht.
Optimierung der MACD-Parameter für Produkte mit unterschiedlichen Frequenzen, z. B. Verkürzung der Periodenparameter für Hochfrequenzdaten.
Optimieren Sie die Mindestperiode des aufeinander folgenden Histogrammanstiegs oder -abstiegs, um die Signalfrequenz und -zuverlässigkeit auszugleichen.
Versuchen Sie Logik von Signalverfolgung nach Ausbruchsversagen, also Rückkehrsignal nach Histogrammumkehrung.
Kombination anderer Indikatoren wie Volumen- oder Volatilitätsindikatoren zur Messung von Markthitze und Filtersignalen.
Zusammenfassend lässt sich sagen, dass die MACD Histogramm Trend-Strategie die Beurteilung von Preisänderungs-Wendepunkten durch Erfassen von Histogramm-Trendveränderungen realisiert. Die Kombination von Parameteroptimierung und Combo-Indikatoren kann fehlerhafte Signale effektiv herausfiltern. Als wichtiges Hilfswerkzeug für das quantitative Trading bietet diese Strategie eine einfache und praktische Handelsidee mit dem MACD Histogramm.
/*backtest start: 2023-01-18 00:00:00 end: 2024-01-24 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //study(title="Histogram Strategy by Sedkur", shorttitle="Histogram Strategy by Sedkur") strategy (title="Histogram Trends Strategy by Sedkur", shorttitle="Histogram Trends Strategy by Sedkur") /// Getting inputs dyear = input(title="Year", type=input.integer, defval=2017, minval=1950, maxval=2500) fast_length = input(title="Fast Length", type=input.integer, defval=12) slow_length = input(title="Slow Length", type=input.integer, defval=26) hist_length = input(title="Trend of Histogram Number", type=input.integer, defval=1, minval=1, maxval=100) //buyh = input(title="Buy histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1) //sellh = input(title="Sell histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1) src = input(title="Source", type=input.source, defval=close) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false) sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false) // Plot colors col_grow_above = #26A69A col_grow_below = #FFCDD2 col_fall_above = #B2DFDB col_fall_below = #EF5350 col_macd = #0094ff col_signal = #ff6a00 /// Calculating fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal plot(hist, title="Histogram", style=plot.style_columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 ) //plot(macd, title="MACD", color=col_macd, transp=0) //plot(signal, title="Signal", color=col_signal, transp=0) //bullish = hist[1] <= hist and buyh<=hist?true:false //bearish = hist[1] >= hist and sellh>=hist?true:false bull=0 bear=0 for i=0 to hist_length if (hist[i+1] <= hist[i]) bull:=bull+1 bullish = bull==hist_length+1?true:false for j=0 to hist_length if (hist[j+1] >= hist[j]) bear:=bear+1 bearish = bear==hist_length+1?true:false //bullish = hist[1] <= hist and hist[2] <= hist and hist[3] <= hist and hist[4] <= hist and hist[5] <= hist?true:false //bearish = hist[1] >= hist and hist[2] >= hist and hist[3] >= hist and hist[4] >= hist and hist[5] >= hist?true:false strategy.entry("buy", strategy.long, comment="buy", when = bullish and year>=dyear) strategy.entry("sell", strategy.short, comment="sell", when = bearish and year>=dyear)