Les ressources ont été chargées... Je charge...

La stratégie d'achat à contrepartie de la CCI + MA

Auteur:ChaoZhang est là., Date: 2024-05-24 17:45:49 La date est fixée à
Les étiquettes:CCI- Je vous en prie.

img

Résumé

La stratégie d'achat à la baisse de CCI + MA est une stratégie de trading quantitative qui combine l'indice de canal de marchandises (CCI) et les signaux de croisement de moyenne mobile double. La stratégie achète lorsque le prix revient à la moyenne mobile rapide et le CCI indique des conditions de survente après un croisement haussier. Elle vend lorsque le prix monte à la moyenne mobile rapide et le CCI indique des conditions de surachat après un croisement baissier. En combinant les signaux de croisement de CCI et de moyenne mobile double, cette stratégie peut mieux capturer les opportunités de tendance tout en atteignant de meilleurs points d'entrée et de sortie grâce à des achats à la baisse et des ventes à la hausse, améliorant ainsi le rapport risque-rendement.

La logique de la stratégie

  1. L'indicateur CCI est calculé sur la base des paramètres CCI définis par l'utilisateur (source, période, type de moyenne mobile, seuils de surachat/survente).
  2. Déterminez les conditions de surachat/survente du CCI.
  3. Calculer les moyennes mobiles rapides et lentes sur la base de paramètres définis par l'utilisateur (source, période, type de moyenne mobile).
  4. Identifier les croisements haussiers et baissiers. Tracer un signal haussier lorsque le MA rapide passe au-dessus du MA lent, et un signal baissier lorsque le MA rapide passe en dessous du MA lent.
  5. Prendre des décisions commerciales:
    • Entrée longue: lorsque la MA rapide est supérieure à la MA lente, que la bougie précédente se ferme en dessous de la MA rapide, que la bougie actuelle est haussière et que le CCI est en dessous du seuil de survente, acheter pour ouvrir une position longue.
    • Entrée courte: lorsque le MA rapide est inférieur au MA lent, que la bougie précédente se ferme au-dessus du MA rapide, que la bougie actuelle est baissière et que le CCI est au-dessus du seuil de surachat, vendre pour ouvrir une position courte.

Les avantages de la stratégie

  1. Suivi de tendance: les signaux croisés doubles de la moyenne mobile aident à identifier la direction de la tendance et à mieux s'aligner sur les tendances du marché.
  2. Entrée contre-tendance: attendre que les prix baissent pour acheter ou que les prix montent pour vendre après la confirmation de la tendance peut conduire à de meilleurs prix d'entrée et améliorer le rapport risque-rendement.
  3. Réduction des faux signaux: la combinaison du CCI avec les signaux croisés de la moyenne mobile peut réduire efficacement les faux signaux générés par un seul indicateur.
  4. Paramètres flexibles: les utilisateurs peuvent définir de manière flexible les paramètres de l'ICC et de la moyenne mobile en fonction de leurs préférences afin d'optimiser les performances de la stratégie.

Risques stratégiques

  1. Risque de marché instable: Dans un marché instable, des croisements fréquents de hausse et de baisse peuvent entraîner plus de pertes.
  2. Risque des paramètres: les paramètres mal définis peuvent entraîner une mauvaise performance de la stratégie.
  3. Risque de tendance: lorsque les tendances du marché s'inversent, la stratégie peut retarder les sorties et subir des retards plus importants.

Directions d'optimisation de la stratégie

  1. Introduire une dimensionnement des positions pour ajuster dynamiquement la taille des positions de chaque transaction en fonction de la force et de la volatilité de la tendance actuelle afin de mieux contrôler les risques.
  2. Optimiser les conditions d'entrée en incorporant des indicateurs de volume ou d'autres indicateurs de confirmation auxiliaires pour améliorer la fiabilité des signaux d'entrée.
  3. Optimiser les conditions de sortie en définissant des arrêts de trailing ou des arrêts de temps pour réduire la perte maximale par transaction.
  4. Optimiser les paramètres pour différents marchés et instruments séparément afin d'améliorer l'adaptabilité et la robustesse de la stratégie.

Résumé

La stratégie CCI + MA Crossover Pullback Buy est une stratégie de trading quantitative qui combine les avantages du suivi de tendance et de l'entrée de contre-tendance. En capturant la direction de la tendance avec des moyennes mobiles doubles et en identifiant les zones de surachat / survente avec l'indicateur CCI, tout en attendant les revirements de prix et les rallies pour atteindre de meilleurs prix d'entrée, la stratégie peut potentiellement améliorer la rentabilité et le ratio risque-rendement dans une certaine mesure. Cependant, la stratégie est également confrontée à des risques tels que l'optimisation des paramètres, les marchés agités et les changements soudains de tendance.


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

Relationnée

Plus de