
Die Strategie kombiniert eine Gleichgewichtsgrafikwolke mit einem kurzfristigen (55) und einem langfristigen (200) einfachen gleitenden Durchschnitt (SMA) zur Identifizierung potenzieller Kauf- und Verkaufssignale. Die Kaufsignale müssen höher als die Wolke und den langfristigen SMA sein und nach dem Durchschreiten des oberen kurzfristigen SMA zurücktreten. Die Verkaufssignale müssen niedriger als die Wolke und den langfristigen SMA sein und nach dem Durchschreiten des unteren kurzfristigen SMA zurücktreten.
Die Strategie basiert auf folgenden Prinzipien:
Das Programm berechnet zunächst die benötigten First-Time-Cloud-Komponenten (Conversion-Line, Benchmark-Line, Priority-Span A und B) sowie die kurz- und langfristigen SMAs. Dann werden mehrere Bedingungen definiert, um die Position des Preises in Bezug auf die Cloud und die Gleichung zu erkennen.
Die “Multiple-Even-Line-Strategie in einer Wolke” sucht nach Low-Risk-Eintrittschancen, die in den etablierten Trends zurückgehen. Durch die Filterung von Transaktionen während der OTC-Markt und wichtigen Nachrichtenereignissen kann die Strategie das Risiko von Falschsignalen verringern und somit die Gesamtperformance verbessern. Die Strategie ist hauptsächlich für mittel-langfristige Händler geeignet, die in Zeiträumen wie 1 und 2 Stunden gut handeln.
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Ichimoku Cloud and Moving Average Strategy", shorttitle="ICMA", overlay=true)
// Input parameters
shortMA = input.int(55, title="Short-term Moving Average Length")
longMA = input.int(200, title="Long-term Moving Average Length")
// Calculate moving averages
shortSMA = ta.sma(close, shortMA)
longSMA = ta.sma(close, longMA)
// Ichimoku Cloud settings
conversionPeriod = input.int(9, title="Conversion Line Period")
basePeriod = input.int(26, title="Base Line Period")
spanBPeriod = input.int(52, title="Span B Period")
displacement = input.int(26, title="Displacement")
// Calculate Ichimoku Cloud components
conversionLine = ta.sma(high + low, conversionPeriod) / 2
baseLine = ta.sma(high + low, basePeriod) / 2
leadSpanA = (conversionLine + baseLine) / 2
leadSpanB = ta.sma(high + low, spanBPeriod) / 2
// Plot Ichimoku Cloud components
plot(leadSpanA, color=color.blue, title="Leading Span A")
plot(leadSpanB, color=color.red, title="Leading Span B")
// Entry conditions
aboveCloud = close > leadSpanA and close > leadSpanB
belowCloud = close < leadSpanA and close < leadSpanB
aboveShortMA = close > shortSMA
aboveLongMA = close > longSMA
belowShortMA = close < shortSMA
belowLongMA = close < longSMA
// Buy condition (Price retests 55 moving average after being above it)
buyCondition = aboveCloud and aboveLongMA and close[1] < shortSMA and close > shortSMA
// Sell condition (Price retests 55 moving average after being below it)
sellCondition = belowCloud and belowLongMA and close[1] > shortSMA and close < shortSMA
// Strategy entry and exit
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)
// Plot moving averages
plot(shortSMA, color=color.green, title="Short-term SMA")
plot(longSMA, color=color.red, title="Long-term SMA")
// Plot buy and sell signals
plotshape(series=buyCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=sellCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")