Langfristig angepasste CCI-Strategie zum Bottom-Catching von Rohstoffen


Erstellungsdatum: 2023-12-21 14:30:03 zuletzt geändert: 2023-12-21 14:30:03
Kopie: 0 Klicks: 428
1
konzentrieren Sie sich auf
1166
Anhänger

Langfristig angepasste CCI-Strategie zum Bottom-Catching von Rohstoffen

Überblick

Die Strategie basiert auf dem Commodity Channel Index (CCI) und nutzt die Dynamic Adaptive Entries-Kriterien, um die Zeit für eine Trendwende zu bestimmen, während die Verfolgung von Stop-Losses verwendet wird, um Gewinne zu sichern. Die Strategie-Name ist ausführlich angepasst, um die CCI-Unterseite zu erfassen. Die Commodity Trading-Strategie enthält die Kernpunkte der Strategie: die Verwendung des CCI-Indikators, um überverkaufte Gebiete zu bestimmen, um eine Umkehrmöglichkeit zu erfassen, und die Verwendung von Dynamic Adaptive Entries, um die Zeit der Eintragungen horizontal zu optimieren.

Strategieprinzip

Der Kernindikator ist der CCI-Indikator, der verwendet wird, um überverkaufte Gebiete zu bestimmen, um die Chancen auf eine Trendumkehr zu bestimmen. Darüber hinaus variiert die Größe der CCI-Überverkaufszone je nach Maßstab und Marktumfeld. Daher wird in dieser Strategie eine vorausschauende Methode verwendet, um die Position des CCI-Tiefstpunktes in der Vergangenheit zu bestimmen und die CCI-Kaufniveau dynamisch einzustellen.

Die CCI-Ebene des Standard-Kaufsignals ist -145. Dann wird die Position des niedrigsten CCI-Punktes in den letzten 40 Tagen, 50 Tagen usw. beurteilt. Wenn der niedrigste Punkt höher als die nächste Ebene des Standard-Spiegels ist, z. B. -90, dann wird -90 als neue Eintragsebenen verwendet.

Die Strategie nutzt außerdem einen Stop-Loss-Tracking, um Gewinne zu sichern, wobei die Stop-Loss-Levels mit der Preisentwicklung steigen.

Analyse der Stärken

  • Die Verwendung von CCI-Indikatoren zur Bestimmung von Überverkaufszonen ist klar und zuverlässig
  • Entries Horizontale, dynamische Anpassungsfähigkeit, die Strategien automatisch an verschiedene Arten von Marktumgebungen anpasst
  • Das Tracking-Stop-Design ermöglicht eine gute Strategie, um Gewinne zu sichern.

Eine dynamische Entwurf ermöglicht die Optimierung der Zeit der Einträge im Vergleich zu festen Eintragungen. In abwärtsgefahrenen Märkten kann das Risiko verringert werden, wenn ein höherer Eintragungskriterium verfolgt wird.

Der CCI selbst ist ein klarer und zuverlässiger Indikator für Überkauf und Überverkauf, und die CCI-basierte Trendwende ist effektiv. Die Gesamtvorteile dieser Strategie sind in Kombination mit der Entwicklung von dynamischen Einträgen deutlich.

Risikoanalyse

  • Der CCI-Indikator ist nicht perfekt, und es gibt eine gewisse Verzögerung. Die Beurteilung kann fehlen, wenn der Preis die CCI-Lesungen schnell durchbricht.
  • Entries Die dynamische, horizontale Anpassung kann sich nicht perfekt an die Veränderungen des Marktumfelds anpassen, und wenn die Anpassung langsamer ist, wird die optimale Zeit verpasst
  • Große Schwankungen in den Warenmärkten, unzureichende Stop-Loss-Sätze können zu großen Verlusten führen

Auf der Grundlage der CCI-basierten Denkweise für Trendwendepunkte gibt es eine gewisse Verzögerung, wenn die Preise schnell steigen oder fallen, kann der Zeitpunkt der Einträge ungenau sein. Darüber hinaus kann der dynamische Anpassungsmechanismus der Ebene der Einträge nicht perfekt an die aktuelle Marktumgebung angepasst werden, was dazu führt, dass die Einträge nicht unbedingt die optimale Zeit sind.

Optimierungsrichtung

  • Optimierung der CCI-Parameter und der Gleitzeit, um die CCI-Effekte für unterschiedliche Zeitspannen zu testen
  • Versuchen Sie, mehr Entries zu testen, um bessere Standardwerte oder anpassungsfähige Designs zu finden
  • Verschiedene Stop-Loss-Parameter getestet und die Stop-Loss-Grenze entsprechend erhöht, um sich an die hohen Volatilitätsmerkmale des Warenmarktes anzupassen

Die Optimierung kann vor allem aus den CCI-Parametern selbst, der Einstellung der Ebenen der Eingänge und den Stop-Loss-Parametern erfolgen. Die Optimierung von besseren Parametern für die Bestimmung des Standards kann die Wirksamkeit der Strategie verbessern.

Zusammenfassen

Die Strategie kombiniert die Anwendung von CCI-Indikatoren, um Überkauf-Überverkauf zu beurteilen, und die dynamische Adaptions-Entries-Level-Design zur Erfassung von Durchbruchstrends. Im Vergleich zu festen Parametern erhöht die dynamische Entries-Level die Adaptivität der Strategie deutlich.

Strategiequellcode
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Extended Adaptive CCI Entry Strategy for Commodities", shorttitle="Ext_Adaptive_CCI_Entry_Com", overlay=true)

// Inputs
cciLength = input(20, title="CCI Period")
defaultCCIEntryOversold = input(-145, title="Default CCI Entry Oversold Level")
adaptiveCCIEntryLevel90 = input(-90, title="Adaptive CCI Entry Level for 40 Days")
adaptiveCCIEntryLevel70_50Days = input(-70, title="Adaptive CCI Entry Level for 50 Days")
adaptiveCCIEntryLevel50 = input(-50, title="Adaptive CCI Entry Level for 60 Days")
adaptiveCCIEntryLevel4 = input(-4, title="Adaptive CCI Entry Level for 90 Days")
adaptiveCCIEntryLevel0 = input(0, title="Adaptive CCI Entry Level for 120 Days")
adaptiveCCIEntryLevel25 = input(25, title="Adaptive CCI Entry Level for 140 Days")
adaptiveCCIEntryLevel50_160Days = input(50, title="Adaptive CCI Entry Level for 160 Days")
adaptiveCCIEntryLevel70_180Days = input(70, title="Adaptive CCI Entry Level for 180 Days")
lookback40 = input(40, title="Lookback Period for -90 Level")
lookback50 = input(50, title="Lookback Period for -70 Level")
lookback60 = input(60, title="Lookback Period for -50 Level")
lookback90 = input(90, title="Lookback Period for -4 Level")
lookback120 = input(120, title="Lookback Period for 0 Level")
lookback140 = input(140, title="Lookback Period for +25 Level")
lookback160 = input(160, title="Lookback Period for +50 Level")
lookback180 = input(180, title="Lookback Period for +70 Level")

// Indicator Calculation
cci = ta.cci(close, cciLength)

// Determine adaptive entry level based on lookback periods
var float entryLevel = defaultCCIEntryOversold // Initialize with the default level
if ta.lowest(cci, lookback40) > adaptiveCCIEntryLevel90
    entryLevel := adaptiveCCIEntryLevel90
if ta.lowest(cci, lookback50) > adaptiveCCIEntryLevel70_50Days
    entryLevel := adaptiveCCIEntryLevel70_50Days
if ta.lowest(cci, lookback60) > adaptiveCCIEntryLevel50
    entryLevel := adaptiveCCIEntryLevel50
if ta.lowest(cci, lookback90) > adaptiveCCIEntryLevel4
    entryLevel := adaptiveCCIEntryLevel4
if ta.lowest(cci, lookback120) > adaptiveCCIEntryLevel0
    entryLevel := adaptiveCCIEntryLevel0
if ta.lowest(cci, lookback140) > adaptiveCCIEntryLevel25
    entryLevel := adaptiveCCIEntryLevel25
if ta.lowest(cci, lookback160) > adaptiveCCIEntryLevel50_160Days
    entryLevel := adaptiveCCIEntryLevel50_160Days
if ta.lowest(cci, lookback180) > adaptiveCCIEntryLevel70_180Days
    entryLevel := adaptiveCCIEntryLevel70_180Days

// Entry Condition
longCondition = cci < entryLevel

// Entry and Exit
if (longCondition)
    strategy.entry("Long", strategy.long, qty=1)
    alert("Long entry executed at " + str.tostring(close), alert.freq_once_per_bar)

trailOffset = input(10.0, title="Trailing Stop Offset in USD")
strategy.exit("Trailing Stop", "Long", trail_offset = trailOffset, trail_price = close)
if (close < entryLevel - trailOffset)
    alert("Long position closed at " + str.tostring(close), alert.freq_once_per_bar)

// Plotting
plot(series=cci, color=color.purple, title="CCI")
hline(price=defaultCCIEntryOversold, color=color.red, title="Default CCI Entry Oversold Level")
hline(price=adaptiveCCIEntryLevel90, color=color.orange, title="CCI -90 Level (40 Days)")
hline(price=adaptiveCCIEntryLevel70_50Days, color=color.yellow, title="CCI -70 Level (50 Days)")
hline(price=adaptiveCCIEntryLevel50, color=color.green, title="CCI -50 Level (60 Days)")
hline(price=adaptiveCCIEntryLevel4, color=color.blue, title="CCI -4 Level (90 Days)")
hline(price=adaptiveCCIEntryLevel0, color=color.purple, title="CCI 0 Level (120 Days)")
hline(price=adaptiveCCIEntryLevel25, color=color.aqua, title="CCI +25 Level (140 Days)")
hline(price=adaptiveCCIEntryLevel50_160Days, color=color.black, title="CCI +50 Level (160 Days)")
hline(price=adaptiveCCIEntryLevel70_180Days, color=color.gray, title="CCI +70 Level (180 Days)")