
Die Ichimoku Cloud Trend Following Strategy ist eine technische Analyse-Strategie. Sie nutzt die fünf Indikatorlinien des Gleichgewichtsdiagramms, um die Richtung des Markttrends zu bestimmen und Widerstands- und Einstiegszeiten zu unterstützen.
Die Kernindikatoren der Strategie sind:
Wenn die Konversionslinie die Basislinie durchbricht, ist dies ein Kaufsignal; wenn sie die Basislinie durchbricht, ist es ein Verkaufsignal. Die Bewegungslinie befindet sich über dem Preis und die Wolkenwolke ist grün für einen mehrköpfigen Trend, ansonsten für einen leeren Trend.
Die Strategie beurteilt die Richtung des Trends anhand der Beziehung zwischen der Konversionslinie und der Benchmarklinie. Zum Beispiel wird eine Konversionslinie, die die Benchmarklinie aufwärts durchbricht, als ein Mehrkopf-Eintritt beurteilt, wobei ein Kaufsignal erzeugt wird, wenn die Bedingung erfüllt wird, dass die Bewegungslinie über dem Preis liegt.
Der Stop-Loss oder die Stop-Stop-Situation wird auf Basis der vorherigen Linie A oder der Benchmark-Linie festgelegt. Wenn der Benchmark-Stop gewählt wird, wird die Position platziert, wenn der Preis unter der Benchmark-Linie fällt.
Diese Strategie hat folgende Vorteile:
Das Hauptrisiko dieser Strategie besteht darin, dass sie leicht zu falschen Signalen führen kann.
Die Strategie umfasst mehrere Indikatoren, um die Marktentwicklung zu beurteilen. Sie berücksichtigt sowohl die kurzfristige Dynamik als auch den mittleren und langfristigen Trend. Die Beziehung zwischen der Umstellungslinie und der Basislinie bestimmt die Kauf- und Verkaufsmomente des Marktes. Die Basislinie dient als Stop-Loss-Linie, um Gewinne zu sichern und Risiken effektiv zu kontrollieren.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Ichimoku Cloud - BitBell", shorttitle="Ichimoku Cloud - BitBell", 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)
leadLine1bbbbb = math.avg(conversionLine, baseLine)[displacement - 1]
plot(leadLine1bbbbb)
leadLine2 = donchian(laggingSpan2Periods)
leadLine2bbbbbb = donchian(laggingSpan2Periods)[displacement - 1]
plot(leadLine2bbbbbb)
support = leadLine1bbbbb > leadLine2bbbbbb
Resistance = leadLine1bbbbb < leadLine2bbbbbb
TrailStop = input.string(title='Choose Trail Line', options=["ConversionLine", "BaseLine"], defval="ConversionLine")
var stopLong = 0.0
var stopShort = 0.0
var TagetLong = 0.0
var TargetShort = 0.0
if close > leadLine1bbbbb and close > leadLine2bbbbbb and conversionLine[1] <= baseLine[1] and conversionLine > baseLine and close > conversionLine and support
strategy.entry("Long",strategy.long)
stopLong := conversionLine
// if close < stopLong and strategy.position_size > 0
// strategy.close("Long")
// stopLong := 0.0
if (close < conversionLine and strategy.position_size > 0) and (TrailStop == 'ConversionLine')
strategy.close("Long")
stopLong := 0.0
if (close < baseLine and strategy.position_size > 0) and (TrailStop == 'BaseLine')
strategy.close("Long")
stopLong := 0.0
if close < leadLine1bbbbb and close < leadLine2bbbbbb and conversionLine[1] >= baseLine[1] and conversionLine < baseLine and close < conversionLine and Resistance
strategy.entry("Short",strategy.short)
stopShort := conversionLine
// if close > stopShort and strategy.position_size < 0
// strategy.close("Short")
// stopShort := 0.0
if (close > conversionLine and strategy.position_size < 0) and (TrailStop == 'ConversionLine')
strategy.close("Short")
stopShort := 0.0
if (close > baseLine and strategy.position_size < 0) and (TrailStop == 'BaseLine')
strategy.close("Short")
stopShort := 0.0
// if close >= 1.0006 * strategy.position_avg_price and strategy.position_size > 0
// strategy.close("Long")
// stopLong := 0.0
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, 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))