Ichimoku-Wolken-Trend folgt der Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-27 16:41:02
Tags:

img

Übersicht

Die Ichimoku Cloud Trend Following Strategie ist eine technische Analysestrategie, die die fünf Indikatorlinien der Ichimoku Cloud verwendet, um die Markttrendrichtung, Unterstützungs-/Widerstandsniveaus und den Eintrittszeitpunkt zu bestimmen.

Grundsätze

Zu den Kernindikatoren gehören:

  1. Umrechnungslinie: Der 9-tägige Durchschnitt des höchsten Höchststandes und des niedrigsten Tiefstandes, der den kurzfristigen Trend widerspiegelt.
  2. Basislinie: Der 26-Tage-Durchschnitt des höchsten Höchststandes und des niedrigsten Tiefstands, der den mittelfristigen bis langfristigen Trend widerspiegelt.
  3. Leading Span A: Der Durchschnitt zwischen Konversion und Basislinie, der 26 Tage nach vorne verschoben wurde, wobei mittelfristige Unterstützung und Widerstand beurteilt werden.
  4. Leading Span B: Der 52-Tage-Durchschnitt des höchsten Höchststandes und des niedrigsten Tiefstandes verschoben 26 Tage nach vorne, um langfristige Unterstützung und Widerstand zu beurteilen.
  5. Verzögerungszeitraum: Der Kurs verschoben sich 26 Tage zurück, was die Trenddynamik widerspiegelt.

Kaufsignal ausgelöst, wenn die Umrechnungslinie über die Basislinie geht. Verkaufssignal ausgelöst, wenn sie unter die Basislinie geht. Verzögerung über dem Preis und grüne Wolkenfarbe deuten auf einen Bullentrend hin.

Es beurteilt die Trendrichtung basierend auf der Beziehung zwischen Konversion und Basislinie. Zum Beispiel, wenn die Konversionslinie aus der Basislinie nach oben bricht, signalisiert es einen Bullentrend. Wenn die Verzögerungsspanne auch über dem Preis liegt, wird ein Long-Eintrag ausgelöst.

Setzen Sie Stop Loss oder Take Profit basierend auf Leading Span A oder Basislinie. Wenn Basislinie für Stop Loss ausgewählt wird, schließen Sie die Position, wenn der Preis unter Basislinie bricht.

Analyse der Vorteile

Zu den Vorteilen zählen:

  1. Verwenden Sie mehrere Indikatoren für eine höhere Genauigkeit.
  2. Leading Span erwartet Unterstützung/Widerstandsniveaus.
  3. Die Verzögerung von Span überprüft die Dynamik, um falsche Ausbrüche zu vermeiden.
  4. Basislinie als mittelfristiger/langfristiger Indikator reduziert Lärm.

Risiken und Verbesserungen

Das Hauptrisiko sind falsche Signale.

  1. Die durchschnittlichen Perioden anpassen, um die Empfindlichkeit zu optimieren.
  2. Fügen Sie weitere Filter wie MACD, Bollinger Bands hinzu.
  3. Niedrigere Handelsfrequenz, um dem mittelfristigen und langfristigen Trend zu folgen.

Schlussfolgerung

Ichimoku Cloud kombiniert Indikatoren, um den Markttrend zu beurteilen. Es berücksichtigt sowohl die kurzfristige Dynamik als auch den mittelfristigen / langfristigen Trend. Konversion und Basislinien bestimmen Handelssignale. Basislinie setzt Stop-Loss, um Gewinne zu erzielen und Risiken zu kontrollieren. Diese Strategie eignet sich für den mittelfristigen / langfristigen Trend.


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

Mehr