Stratégie de trading croisé long-short améliorée basée sur l'indicateur de virage Shiyun

ICHIMOKU MA DONCHIAN CROSSOVER TK KUMO
Date de création: 2025-02-21 10:41:00 Dernière modification: 2025-02-21 10:41:00
Copier: 1 Nombre de clics: 398
2
Suivre
319
Abonnés

Stratégie de trading croisé long-short améliorée basée sur l’indicateur de virage Shiyun Stratégie de trading croisé long-short améliorée basée sur l’indicateur de virage Shiyun

Aperçu

La stratégie est basée sur une version améliorée du système classique de conversion en nuage de marché (Ichimoku Kinko Hyo) et identifie les signaux de négociation par la croisée dynamique des lignes de conversion avec les lignes de référence. La stratégie est basée sur le système traditionnel de nuage de marché, ajoute la logique de génération et d’exécution des signaux de négociation automatiques et est associée à des balises visuelles pour améliorer la lisibilité des tendances du marché.

Principe de stratégie

Le cœur de la stratégie est basé sur les cinq courbes principales du système de marché nuageux: la ligne de conversion ((9 cycles), la ligne de référence ((26 cycles), la ligne de tête A, la ligne de tête B ((52 cycles) et la ligne de retard. Les signaux de négociation les plus importants proviennent de la croisée de la ligne de conversion avec la ligne de référence.

Avantages stratégiques

  1. Suivi systématique des tendances - Capture complète des tendances du marché grâce à une combinaison d’indicateurs sur plusieurs périodes.
  2. Intuitif visuel - Les signaux de transaction sont clairement visibles grâce à des balises en couleurs et à un affichage en nuage
  3. Gestion intégrée des risques - disposant d’un mécanisme de stop loss intégré, qui nettoie automatiquement les positions lorsque le marché se retourne.
  4. Adaptabilité - les paramètres peuvent être ajustés pour s’adapter à différents environnements de marché.
  5. Stabilité du signal - utilisez la croix uniforme pour filtrer les faux signaux et améliorer la qualité des transactions.

Risque stratégique

  1. Retard de renversement de tendance - il y a un certain retard en raison de l’utilisation d’une moyenne mobile.
  2. Le marché oscillant ne s’applique pas - il peut produire de faux signaux pendant la phase de tri horizontal.
  3. Sensitivité des paramètres - les paramètres différents peuvent avoir un impact significatif sur la performance de la stratégie.
  4. Complexité du nuage - l’intersection de plusieurs lignes peut rendre le signal difficile à interpréter.

Orientation de l’optimisation de la stratégie

  1. Introduction d’un filtre de volatilité - un indicateur ATR peut être ajouté pour ajuster la taille de la position.
  2. Optimisation du timing d’entrée - en combinaison avec des indicateurs dynamiques tels que le RSI pour confirmer les signaux de trading.
  3. Mechanisme d’arrêt des pertes perfectionné - arrêt dynamique des pertes basé sur les positions de support de la carte du nuage.
  4. Augmentation de la confirmation du volume des transactions - vérification du volume des transactions lors de la génération du signal, amélioration de la fiabilité.
  5. Ajout d’un filtre d’environnement de marché - pour sélectionner un environnement de négociation approprié à partir d’un indicateur de force de tendance.

Résumer

La stratégie consiste à améliorer le système traditionnel de marché en nuage pour construire un système de suivi de tendance complet. Bien qu’il y ait un certain retard, il est possible d’obtenir une performance stable dans un marché tendance grâce au filtrage des signaux et à l’optimisation de la gestion des risques. Il est recommandé aux traders d’ajuster les paramètres en fonction de l’environnement du marché et des préférences de risque personnelles et de surveiller en permanence la performance de la stratégie.

Code source de la stratégie
/*backtest
start: 2024-02-22 00:00:00
end: 2024-12-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6

strategy(title="Ichimoku Cloud with Lables", shorttitle="Ichimoku", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
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)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")





plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span", display = display.none)
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))

if barstate.islast
    label.new(bar_index+5,baseLine,style=label.style_none,xloc=xloc.bar_index,text="Base",color=color.white,textcolor=#B71C1C)
    label.new(bar_index +8, conversionLine,style=label.style_none,xloc=xloc.bar_index,text="Conversion",color=color.white,textcolor=#2962FF)
	label.new(bar_index+(displacement-1)+5,leadLine1,style=label.style_none,xloc=xloc.bar_index,text="Lead1",color=color.white,textcolor=#A5D6A7)
	label.new(bar_index+(displacement-1)+5,leadLine2,style=label.style_none,xloc=xloc.bar_index,text="Lead2",color=color.white,textcolor=#EF9A9A)

// --- TRADING LOGIC ---

// 1) Detect bullish cross (Conversion crosses above Base)
longSignal = ta.crossover(conversionLine, baseLine)

// 2) Detect bearish cross (Conversion crosses below Base)
closeSignal = ta.crossunder(conversionLine, baseLine)

// 3) If bullish cross occurs, open a new long
if longSignal
    strategy.entry("LongTK", strategy.long)

// 4) If bearish cross occurs, close the open long
if closeSignal
    // Closes all orders opened with the ID "LongTK"
    strategy.close("LongTK")