Erweiterte anpassungsfähige Handelsstrategie der CCI für die Grundfischerei in Rohstoffen

Schriftsteller:ChaoZhang, Datum: 21.12.2023 Uhr 14:30 Uhr
Tags:

img

Übersicht

Diese Strategie basiert auf dem Commodity Channel Index (CCI) Indikator und verwendet dynamische adaptive Einstiegsniveaus, um den Zeitpunkt der Trendumkehr zu bestimmen, während ein Trailing Stop Loss verwendet wird, um Gewinne zu erzielen.

Strategie Logik

Der Kernindikator ist der CCI, der verwendet wird, um überverkaufte Zonen zu erkennen, was auf Trendumkehrungsmöglichkeiten hindeutet. Außerdem variiert das Ausmaß von CCI-Überverkaufszonen zwischen verschiedenen Instrumenten und Marktumgebungen. Daher verfolgt diese Strategie einen "fernblickenden" Ansatz, indem sie die niedrigsten CCI-Level über bestimmte Rückblicksperioden untersucht, um die CCI-Kaufintrittsstufe dynamisch festzulegen. Wenn der niedrigste CCI in den letzten 40 Tagen über -90 liegt, wird -90 die neue Überverkaufszone Schwelle und so weiter. Dieses anpassungsfähige Design ermöglicht es, die Einstiegsniveaus dynamisch an verschiedene Marktbedingungen anzupassen, wobei bei starken Abwärtstrends konservativere Eintritte verfolgt werden, während bei Bereichsmarkten aggressivere Eintritte durchgeführt werden.

Die Strategie überprüft dann die niedrigsten CCI-Werte in den letzten 40 Tagen, 50 Tagen usw. verschiedene Lookback-Tage. Wenn der niedrigste CCI über dem nächsten Niveau wie -90 liegt, dann wird -90 das neue Einstiegsniveau. Und so weiter, kann das Einstiegsniveau zwischen -145 / -90 / -70 / -50 / -4 / 0 / +25 / +50 / +70 dynamisch wechseln. Ein langes Einstiegssignal wird ausgelöst, wenn der CCI unter das entsprechende Niveau fällt.

Darüber hinaus wird ein Trailing Stop Loss verwendet, um Gewinne zu erzielen, wobei sich das Stop Level mit dem Preis nach oben bewegt.

Analyse der Vorteile

  • Die Kommission vertritt die Auffassung, dass die in den Erwägungsgründen 7 und 8 genannten Maßnahmen nicht als staatliche Beihilfen angesehen werden.
  • Das anpassungsfähige Design der Einstiegsebenen ermöglicht es der Strategie, sich automatisch an verschiedene Marktumgebungen anzupassen
  • Ein Trailing Stop Loss hilft, Gewinne effektiv zu erzielen

Im Vergleich zu festen Einstiegsniveaus ermöglicht ein solches dynamisches Design einen optimierten Einstiegszeitplan.

Der CCI selbst ist ein klarer und zuverlässiger Indikator für die Ermittlung von Überkauf-/Überverkaufswerten. Die Logik der Beurteilung von Trendumkehrungen auf der Grundlage des CCI ist nachgewiesen.

Risikoanalyse

  • Der CCI ist nicht perfekt und weist einige rückständige Eigenschaften auf.
  • Eine dynamische Anpassung der Eintrittsniveaus kann auch nicht perfekt mit den Veränderungen im Marktumfeld übereinstimmen.
  • Eine falsche Stop-Loss-Einstellung kann zu großen Verlusten führen.

Die Logik der Erkennung von Trendumkehrpunkten hat einige Verzögerungsmerkmale. Der Eintrittszeitplan kann bei plötzlichen Preisanstiegen oder Abstürzen möglicherweise nicht genau sein. Außerdem passt der anpassungsfähige Mechanismus möglicherweise nicht perfekt zum aktuellen Marktumfeld, was zu nicht optimalen Eintritten führt. Schließlich können hohe Schwankungen auf den Rohstoffmärkten zu großen Verlusten führen, wenn Stop-Loss-Parameter nicht richtig eingestellt werden.

Verbesserungsrichtlinien

  • Optimierung von CCI-Parametern und Glättungszeiten, Testwirksamkeit verschiedener CCI-Längen
  • Testen Sie mehr Eingangsstufen, finden Sie bessere Standardwerte oder adaptive Designs
  • Verschiedene Stopp-Loss-Parameter testen, den Stopp-Loss-Bereich angemessen erhöhen, um den hohen Volatilitätsmerkmalen der Rohstoffmärkte gerecht zu werden

Es kann vor allem die CCI selbst, das Design auf Einstiegsebene und die Stop-Loss-Parameter verbessert werden.

Zusammenfassung

Diese Strategie kombiniert die Logik der Verwendung von CCI, um überkaufte / überverkaufte Zonen zu erkennen, und das dynamische adaptive Entry-Level-Design, um Trendumkehrungen zu erfassen. Im Vergleich zu festen Parametern verbessern die dynamischen Entry-Levels die Anpassungsfähigkeit erheblich. Dieses Entry-Reversal-Capture-Modell mit Trailing Stop Loss kann Chancen mit starker Dynamik nutzen und Verluste rechtzeitig reduzieren. Mit richtig konfigurierten Parametern zeigt diese Strategie Lebensfähigkeit und Robustheit. Weitere Verbesserungen können durch die ständige Optimierung von CCI-Parametern und Entry-Level-Regeln erzielt werden, um höhere Stabilität und Rentabilität zu erzielen.


/*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)")


Mehr