
Die Strategie basiert auf dem Histogramm des MACD-Indikators, um Handelsentscheidungen zu treffen. Es nutzt die Aufwärts- und Abwärtsentwicklung des Histogramms, um Kauf- und Verkaufssignale zu erzeugen. Es erzeugt entsprechende Signale, wenn das Histogramm nach einer bestimmten Periode kontinuierlich steigt oder fällt.
Die Strategie verwendet die MACD-Indikatoren Fastline, Slowline und Histogram. Zuerst werden die Fastline-EMA und die Slowline-EMA berechnet.
Wenn die Histogramm-Kontinuität des Aufwärtstrends die festgelegte Periode erreicht, wird ein Kaufsignal erzeugt. Dies bedeutet, dass der MACD seine Signallinie aufwärts beschleunigt und prognostiziert, dass die Preise steigen können.
Das Histogramm erzeugt ein Verkaufssignal, wenn die kontinuierliche Abwärtsentwicklung die festgelegte Periode erreicht hat. Dies bedeutet, dass der MACD seine Signallinie nach unten beschleunigt und prognostiziert, dass der Preis fallen kann.
Diese Strategie hat folgende Vorteile:
Das MACD Histogramm nutzt Trends, um die Wendepunkte der Preisänderungen zu erfassen und die Gewinnwahrscheinlichkeit zu erhöhen.
In Kombination mit den zyklischen Bedingungen, bei denen das Histogramm kontinuierlich steigt oder fällt, kann ein Teil des Noise-Tradings gefiltert und unnötige Verluste verringert werden.
Ermöglicht die Anpassung von MACD-Parametern und Histogramm-Trendzyklen, die für verschiedene Sorten und Handelszeiten angepasst werden können.
Die Strategie-Logik ist einfach und klar, leicht zu verstehen und zu ändern und auch in Kombination mit anderen Indikatoren oder Strategien zu verwenden.
Die Strategie birgt auch einige Risiken:
Wenn die Preise in der Schwingungszone sind, kann es zu falschen Signalen kommen, die in Kombination mit Trendindikatoren und anderen Filtern verwendet werden müssen.
Wenn das Histogramm steigt oder fällt, kann es sein, dass die MACD-Leitung die Signalleitung nicht durchbrechen kann, um einen Gewinn zu erzielen, und ein Stop-Loss muss eingerichtet werden, um das Risiko zu kontrollieren.
Die Realzeit-Einnahmen können reduziert werden, ohne dass die tatsächlichen Transaktionskosten und der Schlupfpunkt berücksichtigt werden.
Fehlende Parameter-Einstellungen (z. B. MACD-Perioden, Histogramm-Trend-Perioden usw.) können zu schlechten Effekten führen, die für die Sorte und die Periode optimiert werden müssen.
Diese Risiken können kontrolliert und verringert werden, indem sie mit Trendindikatoren kombiniert, Stop-Loss-Mechanismen eingerichtet und Parameter optimiert werden.
Die Strategie kann in folgenden Richtungen optimiert werden:
In Kombination mit anderen Indikatoren, um die allgemeine Trendrichtung zu bestimmen und die Schwankungsbereiche zu vermeiden.
Erhöhung der Stop-Loss-Mechanismen.
Optimierung von MACD-Parametern für unterschiedliche Zyklusvarianten. Zum Beispiel können die Zyklusparameter für Hochfrequenzdaten verkürzt werden
Optimieren Sie die minimale Anzahl von Zyklen, in denen das Histogramm kontinuierlich steigt oder fällt, um die Signalfrequenz und die Zuverlässigkeit auszugleichen.
Strategische Logik des Versuchs, das Signal nach dem Scheitern des Breakouts zu verfolgen. Das heißt, das Rückwärtssignal nach der Histogramm-Umkehrung zu verfolgen.
In Kombination mit anderen Indikatoren, wie z. B. Quantität, Schwankungsrate und anderen Indikatoren, um die Markthitze zu beurteilen, filtern Sie die Signale.
Die MACD-Histogramm-Trend-Strategie ermöglicht die Beurteilung der Wendepunkte bei Preisänderungen durch die Erfassung von Histogramm-Trendveränderungen. In Kombination mit Parameteroptimierung und Kombinationsindikator-Beurteilung können Fehlsignale wirksam ausgeschaltet werden. Die MACD-Histogramm-Beurteilung ist ein sehr wichtiges Hilfsmittel beim Quantifizieren von Geschäften.
/*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)