Code-Trading-Strategie für die tägliche Durchschnittspreisabweichung


Erstellungsdatum: 2023-12-15 15:44:18 zuletzt geändert: 2023-12-15 15:44:18
Kopie: 0 Klicks: 611
1
konzentrieren Sie sich auf
1621
Anhänger

Code-Trading-Strategie für die tägliche Durchschnittspreisabweichung

Überblick

Die Strategie basiert auf einer Abbildung der Ichimoku Kinko Hyo-Indikatoren, um Handelssignale zu erzeugen. Ichimoku Kinko Hyo, die die Vorzüge von Moving Averages und Bandwidth-Indikatoren kombiniert, kann sowohl die Richtung eines Trends als auch die Resistenz unterstützen und wird als ein Komplexindikator angesehen.

Die Strategie nutzt die Komponentenlinie von Ichimoku Kinko Hyo, um die Richtung und die Stärke des Trends zu bestimmen. Die Strategie erzeugt ein Handelssignal, wenn der Preis den Wolkenchart überschreitet.

Strategieprinzip

Diese Strategie basiert auf den fünf Komponenten von Ichimoku Kinko Hyo:

  1. Tenkan-Linie ((Wende-Linie): 9-Tage-Durchschnitt der Höchst- und Tiefstpreise
  2. Kijun-Linie ((Beichtlinie): 26-Tage-Durchschnitt der Höchst- und Tiefstpreise
  3. Senkou Span A (Vorläufer): Durchschnitt der Tenkan- und Kijun-Linie
  4. Senkou Span B ((Vorsprung 2): 52-Tage-Durchschnitt der Höchst- und Tiefstpreise
  5. Chikou-Linie (Late Line): 26-Tage-Late-Average des Schlusskurses

Eine weitere Abbildung von Ichimoku, bestehend aus Senkou Span A und Senkou Span B, zeigt die aktuellen Trendbereiche.

Die Handelssignale für diese Strategie stammen aus folgenden Situationen:

  1. Der Preis hat die Wolkenkarte von unten durchbrochen und ist aufgestiegen.
  2. Der Preis durchbricht die Wolkenkarte von oben nach unten: Signal zum Abbruch
  3. Preise von unterhalb der Cloud-Chart in die Cloud-Chart: Eintritt in die Multi-Platz-Marge
  4. Preise, die von oben in die Wolkenkarte gelangen: Eintrittschancen entlang der freien Winkel

Darüber hinaus beurteilt die Strategie auch die Goldfork-Stoppschläge der Tenkan- und Kijun-Linie als Stopp- und Verlustzeiten.

Strategische Vorteile

Der größte Vorteil dieser Strategie besteht in der Fähigkeit, die Richtung des Trends und die Unterstützung des Widerstands durch die Ichimoku Kinko Hyo-Indikatoren zu bestimmen.

  1. Die wichtigsten Trends werden in den Cloud-Diagrammen erfasst, um Rückwärtsbewegungen zu vermeiden.
  2. Identifizieren Sie die Widerstandslage mit der Komponentenlinie und suchen Sie nach einem Durchbruch.
  3. Es ist wichtig, dass die Eintrittschancen von Rand zu Rand erhöht werden, um die Gewinnspanne zu erweitern.

Darüber hinaus bietet die Strategie ein Gold- und ein Dead-Fork-Stop-Modul, um einen Teil der Gewinne zu sperren und das Risiko zu kontrollieren.

Risiken und Lösungen

Das Hauptrisiko dieser Strategie besteht in der potenziellen Lücke, die durch die Ichimoku-Komponenten-Linien-Algorithmen verursacht wird. Dies führt zu einem Risiko für falsche Durchbrüche.

Die Lösung besteht darin, die Parameter des Algorithmus entsprechend anzupassen, um den Abstand zwischen den Komponentenlinien zu verkleinern, oder die Filterbedingungen hinzuzufügen, um den Eintritt in den Schwingungsbereich zu vermeiden.

Strategieoptimierung

Es gibt mehrere Optimierungsmöglichkeiten für diese Strategie:

  1. Optimierung der Parameter der Ichimoku-Kompositionslinie, Anpassung der Durchschnittslinie-Periode, um mehr Sorten und Perioden zu berücksichtigen.

  2. Es ist wichtig, die Anzahl der Transaktionen zu erhöhen, um falsche Signale zu vermeiden, die durch das Hüpfen verursacht werden.

  3. Trends und Überkauf-Überverkauf-Bereiche werden in Kombination mit Filtern anderer Indikatoren, wie MACD, RSI, etc. erkannt.

  4. Optimierung der Stop-Loss-Stop-Logik, wie beispielsweise die Bewegung von Stop-Loss, Schrumpfung usw.

Zusammenfassen

Alles in allem nutzt die Strategie die Cloud Graphik und die Komponentenlinie von Ichimoku Kinko Hyo, um Trendrichtungen und Handelschancen zu bestimmen. Der Vorteil der Strategie liegt in der klaren Trendbeurteilung und der genauen Einstiegszeit. Durch die Optimierung der Parameter und die Erhöhung der Filterbedingungen kann die False-Signal-Rate weiter reduziert werden, was zu einer besseren Strategieleistung führt.

Strategiequellcode
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)

previous_close = close[1]

conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"),
basePeriods = input.int(60, minval=1, title="Base Line Periods")
laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"),
displacement = input.int(30, minval=1, title="Displacement")

long_entry = input.bool(true, title="Long Entry")
short_entry = input.bool(true, title="Short Entry")
e2e_entry = input.bool(true, title="E2E Entry")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
spanA = math.avg(tenkan, kijun)
spanB = donchian(laggingSpan2Periods)

plot(tenkan, color=#0496ff, title="Conversion Line")
plot(kijun, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1")
p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2")
fill(p1, p2, color = spanA > spanB ? #459915 : #991515)

ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1])
ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
kumo_twist_bull = ta.mom(close, displacement) > 0
kumo_twist_bear = ta.mom(close, displacement) < 0

price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high
price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low

bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo
bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo

bullishe2e = price_enters_kumo_bottom // and tk_cross_bull
bearishe2e = price_enters_kumo_top // and tk_cross_bear

price_touches_kumo_top = ta.cross(close, ss_high)
price_touches_kumo_bottom = ta.cross(close, ss_low)

strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.close("Long", when=tk_cross_bear)
strategy.close("Long", when=price_enters_kumo_top)

strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry)
strategy.close("Long e2e", when=price_touches_kumo_top)
strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)

strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Short", when=tk_cross_bull)
strategy.close("Short", when=price_enters_kumo_bottom)

strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry)
strategy.close("Short e2e", when=price_touches_kumo_bottom)
strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)