CCI+Doppelter gleitender Durchschnitt Crossover Retracement Kaufstrategie

CCI MA
Erstellungsdatum: 2024-05-24 17:45:49 zuletzt geändert: 2024-05-24 17:45:49
Kopie: 3 Klicks: 680
1
konzentrieren Sie sich auf
1617
Anhänger

CCI+Doppelter gleitender Durchschnitt Crossover Retracement Kaufstrategie

Überblick

Die CCI+ Binär-Cross-Even-Line-Rücktritt-Buy-Strategie ist eine quantitative Handelsstrategie, die die Kombination aus dem Trend-Indikator ((CCI) und dem Binär-Even-Line-Cross-Signal nutzt. Die Strategie kauft nach der Bildung der Binär-Even-Line-Fork und wartet darauf, dass der Preis in der Nähe der Schnelllinie zurücktritt, während der CCI-Indikator überkauft wird, und verkauft, wenn der Preis in der Nähe der Schnelllinie aufspringt und der CCI-Indikator überkauft wird. Durch die Kombination von CCI und Binär-Even-Line-Cross-Signal kann die Strategie tendenzielle Gelegenheiten besser erfassen und gleichzeitig durch die Wartezeit von Rücktritt-Buy- und Bounce-Out-Signalen bessere Ein- und Ausstiegsmöglichkeiten erhalten, wodurch die Risikogewinnung der Strategie erhöht wird.

Strategieprinzip

  1. Berechnen Sie den CCI-Indikator und berechnen Sie den aktuellen CCI-Wert anhand der CCI-Parameter, die der Benutzer eingestellt hat.
  2. Beurteilen Sie den CCI-Überkauf-Überverkauf, indem Sie den Hintergrundfarbe als rot einstellen, wenn der CCI größer als die Überkauf-Trenche ist, und den Hintergrundfarbe als grün einstellen, wenn der CCI kleiner als die Überverkauf-Trenche ist.
  3. Berechnen Sie die schnelle und langsame Durchschnittslinie. Berechnen Sie die aktuelle schnelle und langsame Durchschnittslinie entsprechend den vom Benutzer eingestellten Schnell- und Durchschnittsparametern (Quelldaten, Perioden, Moving-Average-Typen).
  4. Bei der Beurteilung von Gold- und Todesforken werden mehrköpfige Signale angezeigt, wenn eine langsame Linie auf der Schnellleine einen Gold- und Todesfork bildet, und leere Signale unter der Schnellleine, wenn eine langsame Linie einen Todesfork bildet.
  5. Das sind die wichtigsten Entscheidungen, die man treffen kann.
    • Mehrere Eintritt: Kaufen Sie mehrere Positionen, wenn die schnelle Linie über der langsamen Linie ist und der vorherige K-Linie-Klopppreis unter der schnellen Linie ist, die aktuelle K-Linie ist die Y-Linie, und der CCI ist kleiner als die Überverkaufstürme
    • Hoher Einstieg: Hoher Verkauf, wenn die Schnelllinie unter der Schnelllinie liegt und die vorherige K-Linie über der Schnelllinie schließt, die aktuelle K-Linie negativ ist und die CCI größer ist als die Überkauf-Trench

Strategische Vorteile

  1. Trend-Tracking: Die Richtung der Trends wird durch ein doppeltes, gleichförmiges und kreuzendes Signal ermittelt, um besser auf die Markttrends eingehen zu können.
  2. Eintritt nach dem Trend: Warten, bis der Preis sich zurückzieht, um zu kaufen oder zu verkaufen, um einen relativ günstigeren Eintrittspreis zu erzielen und das Risiko-Gewinn-Verhältnis zu erhöhen.
  3. Verringerung von Falschsignalen: Die Kombination von CCI-Indikatoren mit Mittellinien-Kreuzsignalen kann die Falschsignale, die von einem einzelnen Indikator erzeugt werden, wirksam reduzieren.
  4. Flexibilität der Parameter: Der Benutzer kann die CCI- und Durchschnittsparameter flexibel nach seinen Vorlieben einstellen, um die Strategie zu optimieren.

Strategisches Risiko

  1. Das Risiko von Shock-Markt: In einem Shock-Markt können häufige Gold- und Goldfork-Dead-Forks dazu führen, dass die Strategie mehr Verlustgeschäfte erzeugt.
  2. Parameterrisiken: Die falsche Einstellung von Parametern kann zu einer schlechten Strategieleistung führen, die unter verschiedenen Marktbedingungen mit einer ausreichenden Rückmeldung und Analyse der optimalen Kombination von Parametern versehen werden muss.
  3. Trendrisiko: Die Strategie kann das Auslaufen verzögern und ein höheres Rücknahmerisiko eingehen, wenn sich der Markt umkehrt.

Richtung der Strategieoptimierung

  1. Einführung von Positionsmanagement, bei dem die Positionen für jeden Handel dynamisch an die Stärke und Volatilität der aktuellen Markttrends angepasst werden, um das Risiko besser zu kontrollieren.
  2. Optimierung der Einstiegsbedingungen, z. B. durch Hinzufügen von Handelsvolumenindikatoren oder anderen Hilfsindikatoren, um die Zuverlässigkeit des Einstiegssignals zu erhöhen.
  3. Optimierung der Ausstiegsbedingungen, wie z. B. die Einrichtung von Moving Stop oder Time Stop, um den maximalen Verlust für einen einzelnen Handel zu reduzieren.
  4. Optimierung der Parameter für verschiedene Märkte und Sorten, um die Anpassungsfähigkeit und Stabilität der Strategien zu verbessern.

Zusammenfassen

Die CCI+-Doppel-Gleichgewichts-Kreuz-Rücktritts-Kaufstrategie ist eine quantitative Handelsstrategie, die die Vorteile von Trendverfolgung und Gegen-Eintritt kombiniert. Durch die Doppel-Gleichgewichts-Erfassung der Trendrichtung und die Verwendung von CCI-Indikatoren, um Überkauf-Überverkauf-Bereiche zu unterscheiden, und die Wartezeit für Preisrücktritte und Rebound, um einen besseren Einstiegspreis zu erhalten, kann das Gewinnpotenzial und die Risikogewinnquote der Strategie bis zu einem gewissen Grad verbessert werden. Die Strategie ist jedoch auch mit Risiken wie Parameteroptimierung, Marktschwankungen und Trendwechseln konfrontiert und muss durch weitere Optimierungen und Verbesserungen gestärkt werden.

Strategiequellcode
/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradedots

//@version=5
strategy("CCI + MA Crossover Pullback Buy Strategy [TradeDots]", overlay=true)


ma(source, length, type) =>
  type == "SMA" ? ta.sma(source[1], length) :
  type == "EMA" ? ta.ema(source[1], length) :
  type == "SMMA (RMA)" ? ta.rma(source[1], length) :
  type == "WMA" ? ta.wma(source[1], length) :
  type == "VWMA" ? ta.vwma(source[1], length) :
  na

//CCI settings
cci_coloring  = input.bool(true, "CCI Background Color", group = "Commodity channel index")
cci_length    = input.int(20,"CCI Length", group = "Commodity channel index")
cci_ma_type   = input.string("EMA","CCI MA Type", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group = "Commodity channel index")
cci_soruce    = input(hlc3, "CCI Source", group = "Commodity channel index")
cci_threshold = input.int(100, "CCI Threshold", group = "Commodity channel index")
cci_ma = ma(cci_soruce, cci_length, cci_ma_type)
cci = (cci_soruce - cci_ma) / (0.015 * ta.dev(cci_soruce, cci_length))

bgcolor(cci > cci_threshold and cci_coloring ? color.new(#f9396a, 80) : cci < -cci_threshold and cci_coloring? color.new(#9cff87, 80) : na, title = "CCI Overbought / Oversold")

//ma crossover settings
input_crossover_labels = input.bool(true, "Show Crossover Labels", group="Moving average")

fastma_type   = input.string("EMA","", inline="fastma", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Moving average")
fastma_source = input(close, "", inline="fastma", group="Moving average")
fastma_length = input.int(10, "", inline="fastma", minval=1,group="Moving average")
fastma_color  = input(#e2fdff, "", inline="fastma",group="Moving average")
fastma = ma(fastma_source, fastma_length, fastma_type)
fastmaPlot = plot(fastma, color = #b7e4c7, linewidth = 2, title = "Fast MA")

slowma_type   = input.string("EMA","", inline="slowma", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Moving average")
slowma_source = input(close, "", inline="slowma", group="Moving average")
slowma_length = input.int(30, "", inline="slowma", minval=1,group="Moving average")
slowma_color  = input(#e2fdff, "", inline="slowma",group="Moving average")
slowma = ma(slowma_source, slowma_length, slowma_type)
slowmaPlot = plot(slowma, color = #2d6a4f, linewidth = 2, title = "Slow MA")

bullish_crossover = ta.crossover(fastma, slowma)
bearish_crossover = ta.crossunder(fastma, slowma)

// // strategy
// if bullish_crossover and input_crossover_labels
//     line.new(bar_index, close, bar_index, close * 1.01, extend = extend.both, color = color.new(#9cff87, 30), style = line.style_dotted, width = 3)
//     label.new(bar_index,low, "Bullish Crossover", style = label.style_label_up, color = #9cff87)

// else if bearish_crossover and input_crossover_labels
//     line.new(bar_index, close, bar_index, close * 1.01, extend = extend.both, color = color.new(#f9396a, 30), style = line.style_dotted, width = 3)
//     label.new(bar_index, high, "Bearish Crossover", style = label.style_label_down, color = #f9396a, textcolor = color.white)

if fastma > slowma and close[1] < fastma and close > open and cci < -cci_threshold
    strategy.entry("Long", strategy.long)
    // if strategy.opentrades == 0 or strategy.opentrades.size(strategy.opentrades -1) < 0
    //     label.new(bar_index,low, "🟢 Long", style = label.style_label_up, color = #9cff87)

if fastma < slowma and close[1] > fastma and close < open and cci > cci_threshold
    strategy.entry("Short", strategy.short)
    // if strategy.opentrades == 0 or strategy.opentrades.size(strategy.opentrades -1) > 0
    //     label.new(bar_index, high, "🔴 Short", style = label.style_label_down, color = #f9396a, textcolor = color.white)