Optimierung der Ichimoku-Wolkenband-Strategie


Erstellungsdatum: 2024-01-19 14:45:21 zuletzt geändert: 2024-01-19 14:45:21
Kopie: 0 Klicks: 641
1
konzentrieren Sie sich auf
1617
Anhänger

Optimierung der Ichimoku-Wolkenband-Strategie

Überblick

Die Strategie ist eine Trendverfolgungsstrategie, die ein Cloudgraphik-Indikator und mehrere Hilfsindikatoren kombiniert. Sie verwendet hauptsächlich eine Cloudgraphik, um die Richtung der Tendenz zu bestimmen, und filtert zusätzlich Indikatoren wie MACD, CMF und TSI, um die Signalqualität zu verbessern.

Strategieprinzip

Die Strategie nutzt vor allem die Veränderung eines Cloud-Diagramms, um die Richtung des Trends zu bestimmen. Wenn die Antenne über den Cloud-Band fährt, wird mehr getan, wenn die Cloud-Band unterhalb leer ist. Gleichzeitig wird eine mehrschichtige Filterung durchgeführt, um die Signalqualität zu gewährleisten, in Kombination mit der Rückstände, der MACD-Säulenform, dem Kapitalflussindikator CMF und dem TSI.

Die Auslöser für mehrere Signale sind:

  1. Auf der Antenne durch das Wolkenband
  2. Die Wolkenbandbreite ist breiter und die Drehlinie liegt über der Referenzlinie.
  3. Die Verzögerungslinie ist auf der 0-Achse
  4. Der Verkaufspreis liegt über den Wolken
  5. MACD-Spalten über der Null-Achse
  6. CMF größer als 0,1
  7. TSI auf der Achse 0

Die Triggerbedingungen für das Lücke-Signal sind die entgegengesetzten Bedingungen. So kann die Mehrheit der Falschsignale durch die Zusammenfassung verschiedener Indikatoren effektiv gefiltert und die wichtigsten Trends des Marktes gesperrt werden.

Strategische Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass eine Kombination aus mehreren Indikatoren falsche Signale abwehrt und starke Trends erfasst. Insbesondere gibt es folgende Vorteile:

  1. Eine Wolkenkarte, die die Richtung der Hauptrends bestimmt und sicherstellt, dass sie richtig sind
  2. Hilfskennzahlen filtern Signale weiter aus und verringern das Handelsrisiko
  3. Mehrzeit-Faktoren sind umfassend berücksichtigt, Signal ist zuverlässiger
  4. Die Bedingungen sind streng, nur hochwertige Signale zu handeln und schwache Märkte zu vermeiden.
  5. Maximierung von Trendgewinnen in Kombination mit Trendverfolgung

Durch die oben beschriebene Gesamtbeurteilung kann die Strategie die mittleren und langen Hotline-Bereiche der Aktienmärkte effektiv erfassen, Trend-Tracking-Arbitrage durchführen und umfangreiche zusätzliche Gewinne erzielen.

Strategisches Risiko

Die Risiken für diese Strategie sind vor allem folgende:

  1. Falschbruchrisiko. Wenn ein Preis falsch durchbricht, können falsche Signale erzeugt werden.
  2. Trendwechselrisiken. Die Aktien laufen regelmäßig, es gibt einen Rückschlag im langen Lauf und es besteht die Möglichkeit, alle Gewinne zu verlieren.
  3. Die Handelsfrequenz ist risikoarm. Die Bedingungen sind strenger und es ist möglich, dass einige Chancen verpasst werden.

Um das Risiko zu verringern, können Sie Folgendes tun:

  1. Die Filterbedingungen sollen entsprechend gelockert und die Häufigkeit der Transaktionen erhöht werden.
  2. Erhöhung der Stop-Loss-Konditionen, um eine Ausweitung der Verluste zu vermeiden.
  3. Optimierung der Parameter und Signalgenauigkeit.

Richtung der Strategieoptimierung

Die Strategie kann vor allem in folgenden Bereichen optimiert werden:

  1. Optimierung der Parameter. Die Parameter können durch mehr Rückmeldedaten optimiert werden, um eine bessere Parameterkombination zu finden.

  2. Erhöhung der Stop-Loss-Mechanismen. angemessene Lockerung der Eintrittsbedingungen, aber ein Stop-Loss-System zur Risikokontrolle.

  3. Erhöhung der mobilen Stop-Losses. Nutzen Sie Trend-Tracking-Stops, um Gewinne zu sichern und Verluste zu vermeiden.

  4. Optimieren Sie die Filterindikatoren. Sie können mehr Indikatoren testen und eine bessere Kombination von Filtersignalen finden.

  5. Mehr Regeln zur automatischen Erkennung von Fälschungen.

Zusammenfassen

Die Strategie nutzt eine Cloud-Grafik mit mehreren Hilfsindikatoren, um die Ergebnisse zu beurteilen. Durch die Optimierung der Parameter, die Verbesserung der Stop-Loss-Mechanismen und die Optimierung der Indikatoren können die Strategie-Stabilität weiter verbessert, die Signalqualität verbessert und höhere stabile Erträge erzielt werden.

Strategiequellcode
/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-13 14:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0)



//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)


ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=17)
slow_length = input(title="Slow Length", type=input.integer, defval=28)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true)

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low


//CMF
lengthA = input(8, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)


//TSI
long = input(title="Long Length", type=input.integer, defval=8)
short = input(title="Short Length", type=input.integer, defval=8)
price = close
double_smooth(src, long, short) =>
	fist_smooth = ema(src, long)
	ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)



bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0  and mf < -0.1 and tsi_value < 0



strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)

strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)