Stratégie d'identification des tendances locales du nuage Ichimoku

Auteur:ChaoZhang est là., Date: 2024-03-19 15:10:59 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie est une stratégie d'identification de tendance et de trading basée sur l'indicateur Ichimoku Cloud combiné avec les ratios de Fibonacci. Elle utilise la ligne de conversion, la ligne de base, le nuage Kumo et le lagging span de l'indicateur Ichimoku Cloud pour déterminer la tendance actuelle du marché, et intègre les ratios 1.618 et 0.618 de Fibonacci pour définir les niveaux de stop-loss et identifier les marchés latéraux.

Principe de stratégie

L'indicateur de nuage Ichimoku est composé de quatre composants: la ligne de conversion, la ligne de base, le nuage Kumo et la période de retard.

Les conditions d'entrée à long terme de cette stratégie sont les suivantes:

  1. Le Lagging Span est au-dessus du nuage
  2. La ligne de conversion est plus grande que la ligne de base
  3. Le prix de clôture est supérieur au niveau de stop-loss de 1,618
  4. La ligne de 0,618 est au-dessus du niveau de stop-loss de 1,618
  5. Le prix de clôture est au-dessus du nuage

Les conditions d'entrée courtes sont l'opposé des conditions d'entrée longues.

Les niveaux de stop-loss sont définis en utilisant les ratios 1.618 et 0.618 de Fibonacci. Pour les positions longues, le stop-loss est le bord supérieur du nuage moins 1.618 fois la distance entre les bords supérieur et inférieur. Pour les positions courtes, c'est l'inverse.

En plus de l'indicateur Ichimoku Cloud, la stratégie introduit deux lignes moyennes pour filtrer davantage les faux signaux.

Analyse des avantages

  1. En utilisant à la fois des indicateurs de prix et de tendance, la stratégie permet de mieux identifier la tendance actuelle du marché.
  2. L'introduction des ratios de Fibonacci pour définir dynamiquement les niveaux de stop-loss rend le risque contrôlable.
  3. La ligne 0.618 permet d'identifier efficacement les marchés latéraux et d'éviter les entrées fréquentes dans des marchés à fourchette.
  4. Les deux lignes intermédiaires supplémentaires peuvent filtrer davantage les faux signaux et améliorer la qualité du signal.
  5. Les paramètres sont réglables, ce qui rend la stratégie adaptée à différents marchés et délais.

Analyse des risques

  1. Dans des conditions de marché extrêmes, telles que de fortes tendances haussières ou baissières, les indicateurs de tendance peuvent échouer, ce qui entraîne des signaux déformés.
  2. Le niveau de stop-loss est basé sur la distance du nuage. Lorsque le nuage est très fin, il peut entraîner le stop-loss trop proche du prix d'entrée.
  3. La méthode d'utilisation des ratios de Fibonacci pour le stop-loss et la ligne 0,618 pour juger des marchés latéraux manque de support théorique et peut ne pas être applicable à tous les marchés.
  4. L'optimisation des paramètres peut entraîner un suradaptation et une mauvaise performance sur les marchés réels.

Directions d'optimisation

  1. Il convient d'envisager d'introduire davantage d'indicateurs de confirmation de tendance, tels que les moyennes mobiles, le MACD, etc., afin d'améliorer encore la qualité du signal.
  2. La définition des niveaux de stop-loss peut prendre en compte davantage de facteurs, tels que l'ATR et la volatilité, pour les rendre plus dynamiques et personnalisés.
  3. Pour identifier les marchés latéraux, d'autres méthodes telles que l'indicateur de force de tendance ADX peuvent être tentées.
  4. Les méthodes d'apprentissage automatique telles que les algorithmes génétiques peuvent être utilisées pour l'optimisation des paramètres, et des tests hors échantillon doivent être effectués pour éviter le surajustement.
  5. Les modules de dimensionnement des positions et de contrôle des risques, tels que le critère Kelly et le risque fixe, peuvent être ajoutés pour améliorer la robustesse et la fiabilité de la stratégie.

Conclusion

Cette stratégie combine de manière innovante l'indicateur Ichimoku Cloud avec les ratios de Fibonacci pour former un système complet d'identification et de trading de tendance. L'introduction de lignes intermédiaires supplémentaires pour le filtrage peut améliorer la qualité du signal dans une certaine mesure. L'avantage de la stratégie réside dans sa capacité à bien s'adapter à la fois aux tendances et aux conditions de marché variantes, et à contrôler le risque grâce à des stop-losses dynamiques. Cependant, la stratégie présente également quelques lacunes, telles que le manque de support théorique et un surajustement potentiel dans l'optimisation des paramètres.


/*backtest
start: 2023-03-13 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1h
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/
// © manoharbauskar

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

//@version=5
strategy("Advanced_Ichimoku_Cloud_Strategy", overlay=true, margin_long=100, margin_short=100)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpanPeriods = input.int(52, minval=1, title="Leading Span B Length")
pivotPeriods1 = input.int(17,minval = 1,title = "PPL1")
pivotPeriods2 = input.int(39,minval = 1,title = "PPL2")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
midLine1 = donchian(pivotPeriods1)
midLine2 = donchian(pivotPeriods2)
midLine3 = donchian(laggingSpanPeriods)
leadLine1 = math.avg(conversionLine, baseLine, midLine1)
leadLine2 = math.avg(midLine2 , midLine3)


plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")

plot(close, offset = -displacement + 1, color=color.yellow, title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
   
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

//stoploss calculating
mult1 = input.float(1.618, "Mult1")
mult2 = input.float(0.618, "Mult2")
stoploss1 = leadLine1 - (leadLine1 - leadLine2)*mult1
stoploss2 = leadLine1 - (leadLine1 - leadLine2)*mult2
plot(stoploss1,"Sl", color = color.fuchsia, linewidth = 2, style = plot.style_line, offset = displacement - 1)
plot(stoploss2,"S2", color = color.lime, linewidth = 2, style = plot.style_line, offset = displacement - 1)

longCondition = leadLine1 > leadLine2 
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = leadLine1 < leadLine2
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Plus de