Die SMA Ichimoku-Crossover-Strategie ist eine gängige Handelsstrategie. Diese Strategie verwendet die Gold-Kreuz- und Dead-Kreuz-Prinzipien von gleitenden Durchschnitten, kombiniert mit der Ichimoku-Wolke und dem glatten gleitenden Durchschnitt der SMA, um ein relativ vollständiges Handelssystem zu bilden. Diese Strategie kann automatisch Aktienpositionen öffnen und schließen.
Diese Strategie beurteilt hauptsächlich den Kauf und Verkauf von Aktien anhand des Vergleichs zwischen der Umrechnungslinie und der Basislinie des Ichimoku-Indikators und den Crossovers von kurzfristigen und langfristigen gleitenden SMA-Durchschnitten.
Insbesondere definiert der Code die Umrechnungslinie, die Basislinie, den führenden Span 1 und den führenden Span 2 des Ichimoku-Indikators. Gleichzeitig werden der langfristige SMA- gleitende Durchschnitt ma1 und der kurzfristige SMA-gleitende Durchschnitt ma2 definiert.
Bei der Beurteilung für den Kauf muss die Umrechnungslinie niedriger als die Basislinie sein und der kurzfristige gleitende Durchschnitt niedriger als der langfristige gleitende Durchschnitt, d. h. ein goldenes Kreuz tritt auf.
Bei der Beurteilung des Verkaufs muss die Umrechnungslinie höher als die Basislinie sein und der kurzfristige gleitende Durchschnitt höher als der langfristige gleitende Durchschnitt, d. h. es tritt ein Totkreuz auf.
Darüber hinaus definiert der Code auch einige Hilfskonditionen, z. B. einen höheren Schlusskurs als am Vortag und die Verwendung der Differenz und Teilung der gleitenden Durchschnittswerte, um die Steigung zu beurteilen.
Diese Strategie vereint die Vorteile mehrerer technischer Indikatoren und weist folgende Vorteile auf:
Ichimoku Cloud selbst enthält Trendbeurteilung, kombiniert mit SMA gleitenden Durchschnitten kann ein starkes Trendbeurteilung bilden.
Die SMA- gleitenden Durchschnitte selbst können die Kursentwicklung und -dynamik bestimmen.
Durch das Hinzufügen eines Abschlusskursurteils können unnötige Eröffnungen und Schließungen von Positionen vermieden werden.
Die Berechnung der gleitenden Durchschnittsneigung erhöht das Urteil über die Dynamik der gleitenden Durchschnittsüberschreitungen und kann falsche Überschreitungen filtern.
Insgesamt hat diese Strategie eine relativ genaue Trendbeurteilung, kann unnötigen Handel reduzieren und bietet einen gewissen Raum für Optimierung.
Diese Strategie birgt auch einige Risiken:
Sowohl Ichimoku als auch SMA können sich verzögern und die Preisänderungen in der Zeit nicht widerspiegeln.
Die Kombination mehrerer Bedingungen erhöht die Komplexität und die Wahrscheinlichkeit von Fehlern.
Die Strategie beruht ausschließlich auf technischen Indikatoren und kann nicht über die Auswirkungen wichtiger Nachrichten urteilen.
Die Strategie sieht keine Stop-Loss-Bedingungen vor, da ein Risiko besteht, dass sich die Verluste vergrößern.
Die Strategie berücksichtigt keine besonderen Marktbedingungen wie Konsolidierung.
Falsche Parameter-Einstellungen können auch die Strategieleistung beeinträchtigen.
Diese Strategie kann in folgenden Aspekten optimiert werden:
Einstellen Sie Stop-Loss-Bedingungen, um automatisch den Verlust zu stoppen, wenn die Verluste zunehmen.
Erhöhen Sie Ihr Urteilsvermögen über wichtige Nachrichtenereignisse, um deren Auswirkungen zu vermeiden.
Verstärktes Urteilsvermögen über spezielle Marktbedingungen wie die Erweiterung des Handelsbereichs oder die Anpassung von Parametern.
Test und Optimierung von Parameterkombinationen, um optimale Parameter zu finden.
Einführung von Algorithmen für maschinelles Lernen zur Optimierung von Parametern und Marktbeurteilung.
Fügen Sie Anzeichen hinzu, um falsche Ausbrüche zu vermeiden.
Kombinieren Sie mehr Grundlagen wie Volumenänderungen.
Zusammenfassend lässt sich sagen, dass diese SMA Ichimoku-Crossover-Strategie die Vorteile von Ichimoku und SMA gleitenden Durchschnitten integriert, um eine relativ vollständige Aktienhandelsstrategie zu bilden. Diese Strategie hat eine starke Fähigkeit, Trends zu bestimmen und kann Trendchancen effektiv erfassen. Es gibt aber auch Probleme wie Verzögerung, hohe Komplexität, Mangel an Stop Loss. Dies gibt großen Raum für die Optimierung dieser Strategie. Durch das Setzen von Stop Loss, das Beurteilen wichtiger Nachrichtenereignisse, die Optimierung von Parametern und mehr kann diese Strategie kontinuierlich verbessert werden, um eine stabile und zuverlässige quantitative Handelsstrategie zu werden.
/*backtest start: 2023-09-15 00:00:00 end: 2023-10-15 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // strategy("Ichimoku+SMAsmoothed", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0) // conversionPeriods = input(9, minval=1, title="Conversion Line Periods"), basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"), displacement = input(26, minval=1, title="Displacement") SMA1=input(title="SMA LONG",defval=21) SMA2=input(title="SMA SHORT",defval=19) p=ohlc4[1] donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) //plot(conversionLine, color=#0496ff, title="Conversion Line") //plot(baseLine, color=#991515, title="Base Line") //plot(close, offset = -displacement, color=#459915, title="Lagging Span") //p1 = plot(leadLine1, offset = displacement, color=green, // title="Lead 1") //p2 = plot(leadLine2, offset = displacement, color=red, // title="Lead 2") //fill(p1, p2, color = leadLine1 > leadLine2 ? green : red) ma1=sma(p, SMA1) ma2=sma(p, SMA2) p_a = ma1*2 p_b = ma1 p_c = p_a - p_b p_d = p_c/24 p_e = ma2*2 p_f = ma2 p_g = p_e - p_f p_h = p_g/24 closelong = ohlc4<ohlc4[SMA1] and ohlc4<ohlc4[1]// and leadLine1<leadLine2 and p_h<p_d if (closelong) strategy.close("Long") closeshort = ohlc4>ohlc4[SMA1] and ohlc4>ohlc4[1]// and leadLine1>leadLine2 and p_h>p_d if (closeshort) strategy.close("Short") longCondition = ohlc4>ohlc4[1] and leadLine1>leadLine2 and p_h>p_d if (longCondition) strategy.entry("Long",strategy.long) shortCondition = ohlc4<ohlc4[1] and leadLine1<leadLine2 and p_h<p_d if (shortCondition) strategy.entry("Short",strategy.short)