Die Ressourcen sind geladen. Beförderung...

Ichimoku Handelsstrategie mit Geldmanagement

Schriftsteller:ChaoZhang, Datum: 2023-12-12 17:32:08
Tags:

img

Übersicht

Ichimoku Kinko Hyo ist eine langfristige Aktienhandelsstrategie, die die Grundprinzipien von Ichimoku verwendet, um Ein- und Ausgänge zu bestimmen.

Strategie Logik

Die Strategie berechnet zunächst die Komponenten von Ichimoku, einschließlich Tenkan-Sen, Kijun-Sen, Senkou Span A und Senkou Span B.

Lange Eintragung, wenn folgende Bedingungen erfüllt sind:

  • Tenkan Kreuz über Kijun, kurzfristige MA Kreuz über langfristige MA, das ein goldenes Kreuzsignal ist
  • Preis über der Kumo-Wolke, was anzeigt, dass der Preis Unterstützung findet und steigen beginnt
  • Der zukünftige Kumo ist rot, was darauf hindeutet, dass der zukünftige Trend nach oben ist.
  • Preisentfernung von Tenkan < 2 x ATR, was anzeigt, dass der Preis für die Verfolgungsstrategie nicht übertrieben ist
  • Preisentfernung von Kijun < 3 x ATR, was anzeigt, dass der Preis für die Verfolgungsstrategie nicht übermäßig ausgeweitet ist
  • Tenkan und Kijun über der Kumo-Wolke, was zeigt, dass Ichimoku aufwärts geht.

Ausgang, wenn folgende Bedingungen erfüllt sind:

  • Tenkan-Kreuz unter Kijun, das ein totes Kreuz zeigt
  • Preisdurchdringung Kumo-Wolke, was auf Verlust der Unterstützung hinweist
  • Gewinn > 30%, Umsetzung einer Gewinnstrategie
  • Verlust > 3%, Umsetzung einer Stop-Loss-Strategie

Analyse der Vorteile

  • Nutzen Sie Ichimoku, um die Preisentwicklung mit hoher Genauigkeit zu bestimmen
  • Einbeziehung von ATR zur Kontrolle der Verfolgung, um Überkauf und Überverkauf zu vermeiden
  • Filtern Sie Signale mit mehreren Bestätigungen und vermeiden Sie falsche Signale
  • Zusätzliche Strategie könnte den Gewinn beschleunigen

Risikoanalyse

  • Ichimoku-Signale könnten sich verzögern, was eine Bestätigung von anderen Indikatoren erfordert.
  • Falsche ATR-Parameter könnten zu Überkauf und Überverkauf führen
  • Zusätzliche Strategie könnte das Verlustrisiko erhöhen
  • Parameter müssen manuell für verschiedene Bestände eingestellt werden

Optimierungsrichtlinien

  • Hinzufügen anderer Indikatoren wie MACD, KDJ zur Signalbestätigung
  • Steigerung des Gewinns und Verringerung des Stop-Loss-Niveaus
  • Automatische Abstimmung der ATR-Parameter auf der Grundlage historischer Daten
  • Unterschiede in den Forschungsparametern für verschiedene Sektoren, Entwicklung eines Parameterpools

Zusammenfassung

Dies ist eine sehr praktische Aktienhandelsstrategie, die Ichimoku für den Trend und ATR für die Risikokontrolle nutzt und von der Jagdstrategie mit Stop-Loss profitiert. Die Vorteile sind offensichtlich. Weitere Optimierungen der Parameter und Kombination von Indikatoren würden es für den Live-Handel noch besser machen.


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

Mehr