Diese Strategie basiert auf dem ICHIMOKU Cloud-Chart-Musterindikator und dem STOCH-Zufallsindikator, um Trends zu bestimmen und zu verfolgen.
Die Strategie beurteilt hauptsächlich die aktuelle Trendrichtung und Überkauf-/Überverkaufssituationen anhand des ICHIMOKU-Cloud-Diagramms und des STOCH-Indikators.
Wenn die Umrechnungslinie über die Basislinie überschreitet und der Stoch-Indikator aus dem Überverkaufszone zurückspringt, gilt dies als Aufwärtstrend und die Strategie nimmt eine Aufwärtstrend ein.
In dem Code wird die Conversion Line als Durchschnitt der höchsten und niedrigsten Preise der letzten N1-Bar definiert; die Base Line wird als Durchschnitt der höchsten und niedrigsten Preise der letzten N2-Bar definiert.
Der Stoch-Indikator definiert überkaufte und überverkaufte Schwellenlinien sowie Glättungsparameter K und D. Ein bullisches Signal wird erzeugt, wenn der Stoch aus dem überverkauften Bereich zurückspringt, und ein bärisches Signal, wenn er aus dem überkauften Bereich zurückfällt.
Durch die Kombination der beiden Indikatoren bestimmt die Strategie die Trendrichtung.
Die Strategie kombiniert Chartmusterindikatoren und Überkauf/Überverkaufsindicator, um die Trendrichtung effektiv zu bestimmen.
Im Vergleich zur Verwendung eines einzigen Trendbeurteilungsindikators berücksichtigt diese Strategie sowohl Trend- als auch Überschreitungssituationen umfassend und kann den Zeitpunkt des Eintritts genauer bestimmen.
Der ICHIMOKU-Cloud-Chart kann mittelfristige und langfristige Trends identifizieren, während der Stoch-Indikator kurzfristige Überkauf/Überverkaufssituationen aufdecken kann.
Die wichtigsten Risiken dieser Strategie sind:
Das Risiko eines Ausfalls des Indikators im Falle von Schwarzen Schwanen.
Es gibt eine gewisse Verzögerung, die einen Teil des Trends verfehlen oder die Eröffnungspositionen umkehren kann.
Das kombinierte Mehrfacherurteil hat eine gewisse Subjektivität, und unsachgemäße Parameter-Einstellungen können Fehler verursachen.
Eine hohe Handelsfrequenz kann sich aufgrund der Transaktionskosten auf den Gewinn auswirken.
Entsprechende Optimierungsmaßnahmen
Kombinieren Sie Nachrichten, um Blindhandel während wichtiger politischer Ereignisse zu vermeiden.
Zyklusparameter entsprechend verkürzen, um die Verzögerungswahrscheinlichkeit zu verringern.
Optimierung der Parameter durch Backtesting zur Verbesserung der wissenschaftlichen Einstellungen.
Um die Handelsfrequenz zu reduzieren, erhöhen Sie angemessen die Gewinn- und Stop-Loss-Bereiche.
Die wichtigsten Optimierungsrichtungen für diese Strategie sind:
Optimierung der Zyklusparameter der ICHIMOKU-Umwandlungslinie und der Basislinie, um sie besser auf die unterschiedlichen Marktmerkmale anzupassen.
Optimierung der K-, D-Gleichungsparameter und der überkauften/überverkauften Schwellenwerte des Stoch-Indikators.
Erhöhung anderer Indikatoren zur Bildung eines Multifaktormodells und Verbesserung der Systemzuverlässigkeit.
Optimieren Sie die Gewinn- und Stop-Loss-Punkte, um die Handelshäufigkeit zu reduzieren und gleichzeitig die Rentabilität zu gewährleisten.
Hinzufügen eines Moduls, um Notfälle zu beurteilen und Fehler bei großen Ereignissen zu vermeiden.
Diese Strategie kombiniert ICHIMOKU Cloud Charts und Stoch-Indikatoren, um umfassende Beurteilungen über die Trendrichtung und Überkauf/Überverkaufssituationen zu treffen, die die Trends der Märkte effektiv verfolgen können.
/*backtest start: 2023-10-15 00:00:00 end: 2023-11-14 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ICHI + STOCH V1", overlay=true) length = input.int(20, minval=1) smoothK = input(5) smoothD = input(3) OverBought = input(25) OverSold = input(65) Profit = input(1800) Stop = input(1200) k = ta.sma(ta.stoch(close, high, low, length), smoothK) d = ta.sma(k, smoothD) co = ta.crossover(k,d) cu = ta.crossunder(k,d) 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(1, minval=1, title="Lagging Span") conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods)) baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods)) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods)) TREND = ta.ema(math.avg(leadLine1,leadLine2),displacement) //plot(conversionLine, color=#2962FF, title="Conversion Line") //plot(baseLine, color=#B71C1C, title="Base Line") //plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span") plot(TREND, color=#2962FF, title="TREND") p1 = plot(leadLine1,style=plot.style_line, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2,style=plot.style_line, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) close_price = ta.sma(close,1) pc = plot(close_price,style=plot.style_line, color=#2a0ab9, title="Price Close") if (not na(k) and not na(d)) if (co and k < OverSold)and(close_price > TREND) strategy.entry("BUY order", strategy.long, comment="BUY order") strategy.exit("exitBUY", "BUY order", profit = Profit, loss = Stop) if (cu and k > OverBought)and(close_price < TREND) strategy.entry("SELL order", strategy.short, comment="SELL order") strategy.exit("exitSELL", "SELL order", profit = Profit, loss = Stop) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)