Ichimoku stratégie de trading avec la gestion de l' argent

Auteur:ChaoZhang est là., Date: 2023-12-12 17:32:08 Je vous en prie.
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de négociation d'actions basée sur l'indicateur Ichimoku Kinko Hyo. La stratégie utilise les principes de base de Ichimoku pour déterminer les entrées et les sorties.

La logique de la stratégie

La stratégie calcule d'abord les composants d'Ichimoku, y compris Tenkan-Sen, Kijun-Sen, Senkou Span A et Senkou Span B.

Entrée longue si les conditions suivantes sont remplies:

  • Croix de Tenkan au-dessus de Kijun, indiquant la croix de MA à court terme au-dessus de la croix de MA à long terme, qui est un signe de croix dorée
  • Prix au-dessus du nuage Kumo, indiquant que le prix trouve un support et commence à augmenter
  • Le futur Kumo est rouge, ce qui indique que la tendance future est à la hausse.
  • Distance du prix par rapport à Tenkan < 2 x ATR, indiquant que le prix n'est pas trop étendu pour la stratégie de poursuite
  • Distance du prix par rapport à Kijun < 3 x ATR, indiquant que le prix n'est pas trop étendu pour la stratégie de poursuite
  • Tenkan et Kijun au-dessus du nuage de Kumo, indiquant que la tendance Ichimoku est à la hausse.

Sortie si les conditions suivantes sont remplies:

  • Croix de Tenkan sous Kijun, indiquant une croix morte
  • Pénétration des prix nuage Kumo, indiquant une perte de soutien
  • Profit > 30%, mise en œuvre d'une stratégie de prise de profit
  • Perte > 3%, mise en œuvre d'une stratégie de stop loss

Analyse des avantages

  • Utilisez Ichimoku pour déterminer la tendance des prix avec une grande précision
  • Incorporer l'ATR pour contrôler la poursuite, éviter les surachats et les surventes
  • Filtrer les signaux avec plusieurs confirmations, éviter les faux signaux
  • Une stratégie complémentaire pourrait accélérer les profits

Analyse des risques

  • Les signaux Ichimoku pourraient être retardés, nécessitant des confirmations d'autres indicateurs.
  • Des paramètres ATR erronés pourraient entraîner une surachat et une survente
  • Une stratégie complémentaire pourrait augmenter le risque de perte
  • Les paramètres doivent être réglés manuellement pour les différents stocks

Directions d'optimisation

  • Incorporer d'autres indicateurs tels que MACD, KDJ pour la confirmation du signal
  • Augmenter le niveau de prise de profit, diminuer le niveau de stop loss
  • Paramètres de réglage automatique de l'ATR basés sur les données historiques
  • Différences de paramètres de recherche pour différents secteurs, mise en place d'un pool de paramètres

Résumé

Il s'agit d'une stratégie de trading d'actions très pratique, utilisant Ichimoku pour la tendance et ATR pour le contrôle des risques, profitant de la stratégie de poursuite avec stop loss.


/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// Author Obarut
//@version=5
strategy("İchimoku Strategy With Money Management",overlay=true)

//Inputs
ts_period = input.int(9, minval=1, title="Tenkan-Sen Period")
ks_period = input.int(26, minval=1, title="Kijun-Sen Period")
ssb_period = input.int(52, minval=1, title="Senkou-Span B Period")
cs_offset = input.int(26, minval=1, title="Chikou-Span Offset")
ss_offset = input.int(26, minval=1, title="Senkou-Span Offset")


// Back Testing Period

fromday = input.int(defval=1,title="Start Date",minval=1,maxval=31) 
frommonth = input.int(defval=1,title="Start Month",minval=1,maxval=12)
fromyear = input.int(defval=1980,title="Start Year",minval=1800, maxval=2100)
today = input.int(defval=1,title="En Date",minval=1,maxval=31)
tomonth = input.int(defval=1,title="End Month",minval=1,maxval=12)
toyear =input.int(defval=2100,title="End Year",minval=1800,maxval=2200)


start=timestamp(fromyear,frommonth,fromday,00,00)
finish=timestamp(toyear,tomonth,today,00,00)
timewindow= time>=start and time<=finish

middle(len) => math.avg(ta.lowest(len), ta.highest(len))

// Ichimoku Components

tenkan = middle(ts_period)
kijun = middle(ks_period)
senkouA = math.avg(tenkan, kijun)
senkouB = middle(ssb_period)


atr = ta.atr(14)
ss_above = math.max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_below = math.min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Price Distance From Tenkan

distance = close - tenkan

// Price Distance from Kijun

distancek = close - kijun

// Entry/Exit Signals

tk_cross_kijun_bull = tenkan >= kijun
tk_cross_kijun_bear = tenkan <= kijun
cs_cross_bull = ta.mom(close, cs_offset-1) > 0
cs_cross_bear = ta.mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_above
pbsenkA = close < ss_above
pasenkB = close > ss_below
price_below_kumo = close < ss_above
future_kumo_bull = senkouA > senkouB
future_kumo_bear = senkouA < senkouB
// Price Distance From Tenken
disbull = distance < 2*atr
//Price Distance From Kijun
disbullk = distancek < 3*atr
//Price Above Tenkan Condition
patk = close > tenkan
// Kijun Above Senkou Span Condition
kjasenkA = kijun > ss_above
// Price Below Kijun Condition
pbkijun = close < kijun

//Bullish Condition

bullish= tk_cross_kijun_bull and cs_cross_bull and price_above_kumo and future_kumo_bull and patk and disbull and disbullk 
     and (tenkan>ss_above) and (kijun>ss_above)

if(bullish and timewindow )
    strategy.entry("Long Entry", strategy.long)

// Bearish Condition

bearish=tk_cross_kijun_bear and pbsenkA and cs_cross_bear  
      or pbkijun or price_below_kumo 

lastentryprice = strategy.opentrades.entry_price(strategy.opentrades - 1)

// Take Profit or Stop Loss in Bearish

if(bearish and timewindow or (close>1.30*lastentryprice and close<kijun ) or (close< 0.93*lastentryprice))
    strategy.close("Long Entry")




if(time>finish)
    strategy.close_all("time up")


plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#2e640e, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.rgb(17, 122, 21), title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.rgb(88, 8, 8), title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.rgb(198, 234, 198) : color.rgb(208, 153, 153), title="Cloud color")

Plus de