
Die Kernidee dieser Strategie ist die Verwendung von CCI-Indikatoren, um die Richtung der Markttrends zu bestimmen, sowie die Verwendung von EMA-Indikatoren, um die CCI zu bearbeiten, um den Trend zu folgen.
Der CCI-Indikator berechnet, ob der aktuelle Aktienpreis überkauft oder überverkauft ist. Der CCI-Indikator berechnet, ob der aktuelle Aktienpreis überkauft oder überverkauft ist, anhand der Abweichung des Schlusskurses des Tages von der Durchschnittslinie der letzten 20 Tage. Die Formel lautet: ((typical price - 20-Tage-SMA) / (0.015 * 20-Tage-Typical-Preis-Standarddifferenz) ).
Die EMA-Gleichbehandlung des CCI-Indikators ergibt eine CCI-EMA-Kurve, um die Erschütterung des CCI-Indikators zu verringern und das Signal klarer zu machen.
Setzen Sie die Kauf- und Verkaufspunkte der CCI. Wenn Sie die Kauf- und Verkaufspunkte der CCI-EMA überschreiten, machen Sie mehr; wenn Sie die Verkaufspunkte der CCI-EMA überschreiten, machen Sie nichts.
Halten Sie Positionen, bis die CCI-EMA wieder auf den Kauf- oder Verkaufspunkt trifft.
Der CCI wird verwendet, um die Richtung der Markttrends zu bestimmen, und kann in Kombination mit EMA-Filter-Falschsignale effektiv die Markttrends verfolgen.
Der CCI-Indikator ist außergewöhnlich preisempfindlich und kann schnell Trendwechsel erfassen. Der EMA-Indikator reduziert die Falschmeldungsrate.
Die Anwendung einer Trend-Following-Strategie kann die Anzahl der Transaktionen und die Kosten für Transaktionen sowie die Verluste an Ausrutschpunkten minimieren.
Die Strategie hat eine bessere Rückmeldung und ist in der Praxis durchaus anwendbar.
Der CCI ist überempfindlich gegenüber Kurven. Die EMA kann nicht alle Falschmeldungen vollständig ausschließen, so dass ein gewisses Risiko für Fehlmeldungen besteht.
Der reine Trend folgt der Strategie und ist anfällig für Verluste bei Trendschwankungen oder -umkehrungen. Die Verwendung von Trendmessungen sollte in geeigneter Weise kombiniert werden.
Eine rein mechanische Handelsstrategie, bei der die Parameter nicht flexibel an die Marktlage angepasst werden können, birgt das Risiko einer Überoptimierung.
Die Rücklaufdaten sind unzureichend und können die Leistung der Reale nicht vollständig widerspiegeln. Die Parameter sollten auf der Reale angepasst werden, um den Verlust streng zu kontrollieren.
Optimierung der CCI-Parameter, um die Effektivität von Parametern unterschiedlicher Länge zu testen.
Optimierung der EMA-Parameter, um die optimale EMA-Zykluslänge zu finden.
Verschiedene Kombinationen von Kauf- und Verkaufspunkten werden getestet, um die optimalen Parameter zu finden.
In Kombination mit anderen Indikatoren, um eine Trendwende zu beurteilen, setzen Sie einen Stop-Loss-Bereich, um zu vermeiden, dass sich die Verluste ausdehnen.
Hinzugefügt wurde eine automatische Optimierung der Parameter, um automatisch die optimale Parameterkombination für verschiedene Sorten zu finden.
Diese Strategie ist insgesamt eine relativ einfache Trend-Follow-Handelsstrategie. Sie nutzt die CCI, um die Trendrichtung zu beurteilen und auf Preisänderungen zu reagieren, und wirft in Verbindung mit der EMA ein Handelssignal aus. Die Strategie hat einige Vorteile, aber es gibt auch einige Risiken, auf die Sie achten müssen. Durch die Optimierung der Parameter und die Verwendung anderer Indikatoren können die Strategie-Stabilität und die Real-Time-Performance weiter verbessert werden.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("CCI with EMA Strategy", overlay=false, pyramiding=1, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.07)
length = input(20, minval=1)
src = input(close, title="Source")
cciSellPoint = input(0, title = 'CCI Sell Point', type = input.integer)
cciBuyPoint = input(0, title = 'CCI Buy Buy Point', type = input.integer)
lengthcci = input(12,"length cci ema", minval=1)
ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
cciema=ema(cci,lengthcci)
plot(cci, "CCI", color=#996A15)
plot(cciSellPoint, title = 'CCI Sell Point', color = color.red, linewidth = 1, style = plot.style_cross, transp = 35)
plot(cciBuyPoint, title = 'CCI Buy Point', color = color.green, linewidth = 1, style = plot.style_cross, transp = 35)
plot(cciema, title = 'CCI EMA', color = color.green, linewidth = 1, transp = 35)
band1 = hline(100, "Upper Band", color=#C0C0C0, linestyle=hline.style_dashed)
band0 = hline(-100, "Lower Band", color=#C0C0C0, linestyle=hline.style_dashed)
fill(band1, band0, color=#9C6E1B, title="Background")
startLongTrade= cciema >cciBuyPoint
startShortTrade= cciema <cciSellPoint
//exitLong = cciema <cciSellPoint
//exitShort = cciema >cciBuyPoint
strategy.entry("long",strategy.long, when = startLongTrade )
//strategy.close( "long", when=exitLong)
strategy.entry("short",strategy.short,when=startShortTrade )
//strategy.close("short", when=exitShort)