Stratégie de trading Ichimoku Kumo


Date de création: 2024-05-29 17:23:36 Dernière modification: 2024-05-29 17:23:36
Copier: 3 Nombre de clics: 581
1
Suivre
1617
Abonnés

Stratégie de trading Ichimoku Kumo

Aperçu

La stratégie utilise l’indicateur Ichimoku Kumo pour juger des tendances du marché et des signaux de négociation. La stratégie fait plus sous le nuage de Kumo et fait moins sur le nuage de Kumo. La stratégie utilise l’indicateur ATR comme arrêt de perte, tout en utilisant la rupture de la ligne Kijun-sen et la ligne Senkou Span comme confirmation des signaux d’entrée.

Principe de stratégie

  1. Les lignes de Kijun-sen, Tenkan-sen et Senkou Span de l’indicateur Ichimoku sont utilisées pour juger de la tendance du marché.
  2. Un signal de multiplication est généré lorsque le prix de clôture est en dessous de la ligne de Senkou Span et que la ligne de Kijun-sen est au-dessus du nuage Kumo.
  3. Un signal de couverture est généré lorsque le prix de clôture est supérieur à la ligne de Senkou Span et que la ligne de Kijun-sen est en dessous du nuage Kumo.
  4. Le stop loss est calculé à l’aide de l’indicateur ATR. Le stop loss est le plus haut/le plus bas des 5 lignes K les plus proches, moins/plus 3 fois l’ATR.
  5. La position est levée lorsque le prix franchit la position de stop loss.

Avantages stratégiques

  1. Cette stratégie est basée sur l’indicateur Ichimoku, qui permet d’analyser les tendances du marché de manière globale.
  2. La stratégie prend en compte la relation entre les prix et les lignes de Kijun-sen et de Senkou Span pour améliorer la fiabilité du signal d’entrée.
  3. L’ATR est utilisé comme arrêt et permet de modifier dynamiquement la position de l’arrêt pour mieux contrôler le risque.
  4. Le paramètre de la position stop loss prend en compte la volatilité du marché et s’adapte aux différentes conditions du marché.

Risque stratégique

  1. Cette stratégie est susceptible de générer de faux signaux plus fréquents dans les marchés en crise, entraînant des transactions fréquentes et des pertes de fonds.
  2. La performance de la stratégie dépend de la sélection des paramètres de l’indicateur Ichimoku, différents paramètres pouvant produire des résultats de transaction différents.
  3. Dans des conditions extrêmes, le prix peut rapidement franchir la position de stop loss, ce qui entraîne des points de glissement et des pertes plus importants.

Orientation de l’optimisation de la stratégie

  1. L’introduction d’autres indicateurs techniques ou d’analyses quantitatives pour aider à déterminer les tendances et le moment de l’entrée en bourse, améliore l’exactitude du signal.
  2. Optimiser les paramètres de la position de stop-loss, par exemple en envisageant d’utiliser un stop-loss de suivi ou un stop-loss mobile, pour mieux protéger la sécurité du compte.
  3. Ajouter à la stratégie la gestion des positions, en ajustant la taille des positions de chaque transaction en fonction de la volatilité du marché et du risque du compte.
  4. Optimiser les paramètres de la stratégie pour trouver la combinaison de paramètres la plus adaptée à la situation actuelle du marché.

Résumer

La stratégie utilise plusieurs composants de l’indicateur Ichimoku pour réaliser une analyse complète des tendances du marché. Dans le même temps, la stratégie utilise l’arrêt ATR pour contrôler les risques et renforcer la solidité de la stratégie. Cependant, la stratégie peut être sous-performante dans les marchés en crise et dépend de la sélection des paramètres.

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

//@version=5
strategy(
     "Kumo Trade Concept", 
     overlay=true,
     initial_capital=10000,
     currency=currency.USDT,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=30,
     commission_type=strategy.commission.percent,
     commission_value=0.1,
     margin_long=10, 
     margin_short=10)


// ICHIMOKU Lines 
//  INPUTS
tenkanSenPeriods = input.int(9, minval=1, title="Tenkan-sen")
kijunSenPeriods = input.int(26, minval=1, title="Kijun-sen")
senkouBPeriod = input.int(52, minval=1, title="Senkou span B")
displacement = input.int(26, minval=1, title="Chikou span")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
tenkanSen = donchian(tenkanSenPeriods)
kijunSen = donchian(kijunSenPeriods)
senkouA = math.avg(tenkanSen, kijunSen)
senkouB = donchian(senkouBPeriod)

// Other Indicators
float   atrValue    = ta.atr(5)

// Calculate Senkou Span A 25 bars back
senkouA_current = math.avg(tenkanSen[25], kijunSen[25])
// Calculate Senkou Span B 25 bars back
senkouB_current = math.avg(ta.highest(senkouBPeriod)[25], ta.lowest(senkouBPeriod)[25])

// Kumo top bottom 
senkou_max = (senkouA_current >= senkouB_current) ? senkouA_current : senkouB_current
senkou_min = (senkouB_current >= senkouA_current) ? senkouA_current : senkouB_current

// Trade Setups
long_setup = (kijunSen > senkou_max) and (close < senkou_min) 
short_setup = (kijunSen < senkou_min ) and ( close > senkou_max ) 

// Check long_setup for the last 10 bars
long_setup_last_10 = false
for i = 0 to 50
    if long_setup[i]
        long_setup_last_10 := true
short_setup_last_10 = false
for i = 0 to 50
    if short_setup[i]
        short_setup_last_10 := true


closeSenkouCross = (close > senkou_max) and barstate.isconfirmed 
closeKijunCross = (close > kijunSen ) 

senkouCloseCross = close < senkou_min
kijunCloseCross = close < kijunSen


// Handle Trades
// Enter Trade
var float trailStopLong = na
var float trailStopShort = na
if ( closeSenkouCross and long_setup_last_10 and closeKijunCross ) 
    strategy.entry(id="Buy", direction = strategy.long)
    trailStopLong := na
if senkouCloseCross and short_setup_last_10 and kijunCloseCross
    strategy.entry(id="Sell", direction = strategy.short)
    trailStopShort := na


// Update trailing stop
float temp_trailStop_long = ta.highest(high, 5) - (atrValue * 3)
float temp_trailStop_short = ta.lowest(low, 5) + (atrValue * 3)
if strategy.position_size > 0
    if temp_trailStop_long > trailStopLong or na(trailStopLong)
        trailStopLong := temp_trailStop_long
if strategy.position_size < 0
    if temp_trailStop_short < trailStopShort or na(trailStopShort)
        trailStopShort := temp_trailStop_short

// Handle strategy exit
if close < trailStopLong and barstate.isconfirmed
    strategy.close("Buy", comment="Stop Long")
if close > trailStopShort and barstate.isconfirmed
    strategy.close("Sell", comment="Stop Short")


// PRINT ON CHART
plot(kijunSen, color=color.rgb(214, 58, 30), title="Kijun-sen", linewidth=2)
p1 = plot(senkouA, offset=displacement - 1, color=#A5D6A7, title="Senkou span A")
p2 = plot(senkouB, offset=displacement - 1, color=#EF9A9A, title="Senkou Span B")
fill(p1, p2, color=senkouA > senkouB ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
// PRINT SETUPS
plotshape(long_setup , style=shape.circle, color=color.green, location=location.belowbar, size=size.small)
plotshape(short_setup, style=shape.circle, color=color.red, location=location.abovebar, size=size.small)

// Trail Stop
plot(strategy.position_size[1] > 0 ? trailStopLong : na, style=plot.style_linebr, color=color.purple, title="Stop Loss")
plot(strategy.position_size[1] < 0 ? trailStopShort : na, style=plot.style_linebr, color=color.purple, title="Stop Loss")