Ichimoku Cloud Oszillator Handelsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-02-20 11:12:44
Tags:

img

Übersicht

Das ist eine quantitative Handelsstrategie, die den Ichimoku-Cloud-Indikator und den Bollinger-Band-Indikator kombiniert. Die Strategie nutzt die Umwandlungslinie, die Basislinie, die führende Spanne A und die führende Spanne B der Ichimoku-Cloud, um Handelssignale zu generieren, während die Bollinger-Bänder verwendet werden, um die Volatilität des Marktes zu beurteilen und geeignete Eintrittszeiten zu bestimmen.

Strategie Logik

Ichimoku-Wolkenanzeiger

Der Ichimoku-Cloud-Indikator besteht aus vier Linien: Konversionslinie, Basislinie, Leading-Span A und Leading-Span B. Die Konversionslinie ist der durchschnittliche Schlusskurs über einen kurzfristigen Zeitraum (9 Tage). Die Basislinie ist der durchschnittliche Schlusskurs über einen längeren Zeitraum von 26 Tagen. Die Leading-Span A ist der Durchschnitt zwischen der Konversionslinie und der Basislinie, die die Preisbewegung führt. Die Leading-Span B ist der durchschnittliche Schlusskurs über einen noch längeren Zeitraum von 52 Tagen, der hinter dem Preis zurückbleibt. Kauf- und Verkaufssignale werden erzeugt, wenn der kurzfristige gleitende Durchschnitt über oder unter den längerfristigen kreuzt.

Bollinger-Bänder

Die Bollinger Bands umfassen drei Linien: mittlere Linie, obere Band und untere Band. Die mittlere Linie ist ein einfacher gleitender Durchschnitt der Schlusskurs über einen Zeitraum von n Tagen (hier auf 20 Tage festgelegt). Die obere Band ist die mittlere Linie plus k mal (hier auf 2 mal festgelegt) die Standardabweichung. Die untere Band ist die mittlere Linie minus k mal die Standardabweichung. Sie beurteilt, ob die Preise innerhalb der normalen Schwankungsbereiche liegen und bestimmt die Volatilitätsstufe des Marktes.

Diese Strategie verwendet das Goldkreuz und das Todeskreuz des führenden Spans B, um Handelssignale zu konstruieren.

Analyse der Vorteile

Diese Strategie kombiniert den Ichimoku-Cloud-Indikator und die Bollinger-Bänder, um Markttrends und Volatilität umfassend zu bestimmen, die Marktänderungsinformationen effektiv erfassen können, um Handelssignale zu lokalisieren.

Die Parameter dieser Strategie sind anpassbar, um für verschiedene Produkte und Marktumgebungen zu optimieren, was sie sehr anpassungsfähig macht.

Risikoanalyse

Diese Strategie stützt sich hauptsächlich auf die Bollinger Bands, um die Marktvolatilität zu bestimmen. Die Bands können ausfallen, wenn extreme Volatilität durch schwarze Schwanereignisse verursacht wird. In diesem Fall können die auf der Grundlage der Ichimoku Cloud konstruierten Handelssignale falsche Signale erzeugen.

Darüber hinaus sind die Ichimoku Cloud-Linien selbst auch empfindlich auf starke Marktschwankungen reagieren. Die Umwandlung und Basislinien könnten falsche Signale geben, wenn die Preise wild schwanken. Ausgangspositionen oder die Aussetzung des Handels ist wahrscheinlich die beste Wahl in solchen Situationen.

Optimierungsrichtlinien

Andere Indikatoren können in Kombination berücksichtigt werden, um den Zeitpunkt des Markteintritts zu bestimmen, z. B. KDJ, um zu sehen, ob der Markt überkauft/überverkauft ist, und MACD, um die Beziehungen zwischen langfristigen und kurzfristigen gleitenden Durchschnitten zu überprüfen.

Außerdem kann maschinelles Lernen genutzt werden, um die Parameter der Ichimoku Cloud zu optimieren. Verschiedene Parameter haben signifikante Auswirkungen auf Zyklen und Produkte.

Schlussfolgerung

Diese Strategie kombiniert den Ichimoku Cloud Indikator und Bollinger Bands, um sowohl Markttrends als auch Volatilität zu berücksichtigen.


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("一目均衡表シグナル + ボリンジャーバンド", 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")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2.0, title="Bollinger Bands Multiplier")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

// ボリンジャーバンドの計算
basis = ta.sma(close, bbLength)
bbUpper = basis + bbMultiplier * ta.stdev(close, bbLength)
bbLower = basis - bbMultiplier * ta.stdev(close, bbLength)

// 1σ、2σ、3σのライン
bbUpper1 = basis + ta.stdev(close, bbLength)
bbLower1 = basis - ta.stdev(close, bbLength)

bbUpper2 = basis + 2 * ta.stdev(close, bbLength)
bbLower2 = basis - 2 * ta.stdev(close, bbLength)

bbUpper3 = basis + 3 * ta.stdev(close, bbLength)
bbLower3 = basis - 3 * ta.stdev(close, bbLength)

// 遅行スパンがローソクに交差した際のBuyとSellシグナル
buySignalLeadLine = ta.crossover(close, leadLine2)
sellSignalLeadLine = ta.crossunder(close, leadLine2)

// Strategy Entry and Exit Conditions for Lead Line
strategy.entry("BuyLeadLine", strategy.long, when = buySignalLeadLine)
strategy.close("BuyLeadLine", when = sellSignalLeadLine)

strategy.entry("SellLeadLine", strategy.short, when = sellSignalLeadLine)
strategy.close("SellLeadLine", when = buySignalLeadLine)

// Plotting Ichimoku Cloud
plot(conversionLine, color=color.new(color.blue, 0), title="Conversion Line")
plot(baseLine, color=color.new(color.red, 0), title="Base Line")
plot(close, offset = -displacement + 1, color=color.new(color.green, 0), title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.new(color.green, 0),
     title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#cdf80d, 0),
     title="Leading Span B")

fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))



// 2σ、3σのラインをプロット

plot(bbUpper2, color=color.rgb(100, 96, 100), title="BB Upper 2σ")
plot(bbLower2, color=color.rgb(100, 96, 100), title="BB Lower 2σ")

plot(bbUpper3, color=color.rgb(67, 61, 68), title="BB Upper 3σ")
plot(bbLower3, color=color.rgb(67, 61, 68), title="BB Lower 3σ")

// Plotting Entry and Exit Signals
plotshape(series=buySignalLeadLine, title="Buy Signal (Lead Line)", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=sellSignalLeadLine, title="Sell Signal (Lead Line)", color=color.rgb(255, 115, 0), style=shape.triangledown, location=location.abovebar, size=size.small)


Mehr