Stratégie de trading de matières premières adaptée à long terme CCI pour attraper le fond


Date de création: 2023-12-21 14:30:03 Dernière modification: 2023-12-21 14:30:03
Copier: 0 Nombre de clics: 726
1
Suivre
1623
Abonnés

Stratégie de trading de matières premières adaptée à long terme CCI pour attraper le fond

Aperçu

La stratégie est basée sur l’indicateur CCI, qui utilise les entrées d’adaptation dynamique pour déterminer le moment de la reprise de la tendance, tout en utilisant le suivi des arrêts de perte pour localiser les bénéfices. Le nom de la stratégie est optimisé pour s’adapter au bas du CCI. La stratégie de trading de marchandises pour capturer le bas du CCI contient les éléments centraux de la stratégie: utiliser l’indicateur CCI pour déterminer les zones de survente pour capturer les opportunités de reprise et utiliser les entrées d’adaptation dynamique pour optimiser les entrées horizontalement.

Principe de stratégie

L’indicateur central est l’indicateur CCI, utilisé pour déterminer les zones de survente et les chances d’un renversement de tendance. De plus, l’ampleur de la zone de survente CCI peut varier en fonction de différents indicateurs et de l’environnement du marché. Par conséquent, cette stratégie utilise une approche pessimiste pour déterminer la position du point le plus bas du CCI au cours d’une période passée et définit dynamiquement le niveau d’achat du CCI.

En particulier, le niveau de CCI par défaut pour les signaux d’achat est de -145. Ensuite, on juge la position du point le plus bas de la CCI au cours des 40 derniers jours, 50 derniers jours, etc. Si le point le plus bas est supérieur au niveau par défaut du niveau suivant, par exemple -90, alors on prend -90 comme niveau de nouvelles entrées. Si le point le plus bas est supérieur à -90, on prend -70 comme niveau de nouvelles entrées, et ainsi de suite.

En outre, la stratégie utilise le suivi des arrêts-pertes pour localiser les bénéfices, les niveaux de stop-loss évoluant à mesure que les prix évoluent.

Analyse des avantages

  • La méthode de détermination des zones de survente à l’aide de l’indicateur CCI est claire et fiable
  • Entries Une conception d’adaptation dynamique horizontale permettant aux stratégies de s’adapter automatiquement à différents types d’environnement de marché
  • La conception de la traçabilité des arrêts de perte permet à la stratégie de bien verrouiller les bénéfices

Une telle conception dynamique permet d’optimiser le timing des entries par rapport à un niveau d’entries fixe. La recherche d’un niveau d’entries plus élevé dans un marché à forte baisse peut réduire le risque, tandis qu’une réduction du niveau d’entries dans un marché classé dans une zone de choc peut saisir plus d’opportunités.

Le CCI lui-même est un indicateur clair et fiable pour juger de l’achat et de la vente excessive, et l’analyse de l’inversion de tendance basée sur le CCI est efficace. Combiné à la conception d’entries dynamiques, l’avantage global de cette stratégie est significatif.

Analyse des risques

  • L’indicateur CCI n’est pas parfait, il présente un certain retard. Le jugement peut être défaillant lorsque le prix dépasse rapidement les lectures CCI.
  • Les entrées horizontales ne peuvent pas s’adapter parfaitement aux changements de l’environnement du marché, et les entrées lentes peuvent manquer les entrées optimales.
  • Une forte volatilité sur les marchés des produits de base et un mauvais paramètre de stop-loss peuvent entraîner des pertes importantes

En outre, le mécanisme d’adaptation dynamique de l’horizon des entrées peut être difficile à adapter parfaitement à l’environnement du marché actuel, ce qui rend les entrées ne sont pas nécessairement le meilleur moment. Enfin, le marché des marchandises lui-même est très volatil, même avec un stop loss, mais le paramètre spécifique peut également entraîner des pertes importantes si le paramètre n’est pas défini à ce moment-là.

Direction d’optimisation

  • Optimiser les paramètres de CCI et les cycles de lissage pour tester l’effet de CCI sur différentes longueurs de temps
  • Tester plus de types d’entries pour trouver de meilleures valeurs par défaut ou une conception adaptative
  • Tester différents paramètres de stop-loss et augmenter la marge de stop-loss de manière appropriée pour s’adapter aux caractéristiques très volatiles du marché des matières premières

Il est possible d’optimiser les paramètres CCI, les niveaux d’entrée et les paramètres de stop loss.

Résumer

La stratégie utilise l’indicateur CCI pour juger de la survente et la conception d’un niveau d’entrées adaptatif dynamique pour capturer les tendances de rupture. Par rapport aux paramètres fixes, le niveau d’entrées dynamiques améliore considérablement l’adaptabilité de la stratégie.

Code source de la stratégie
/*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)")