Trendabweichungsindikator K-Linie kombiniert mit gleitender Durchschnittswellenstrategie


Erstellungsdatum: 2023-11-06 14:46:40 zuletzt geändert: 2023-11-06 14:46:40
Kopie: 0 Klicks: 373
1
konzentrieren Sie sich auf
1166
Anhänger

Trendabweichungsindikator K-Linie kombiniert mit gleitender Durchschnittswellenstrategie

Überblick

Diese Strategie berechnet die Abweichung der Kursentwicklung vom TSI und verarbeitet den TSI mit einem Moving Average, um einen Moving Average für den TSI zu erstellen. Die K-Linie in Verbindung mit der Kursrichtung ermittelt, ob der Aktienpreis derzeit im Auf- oder Abwärtstrend ist, wodurch ein Kauf- und Verkaufssignal erzeugt wird.

Grundsätze

Die Strategie besteht aus folgenden Schritten:

  1. Preisänderung pct
  2. Eine doppelte HMA-Gleichbehandlung von pct erhält double_smoothed_pc
  3. Berechnen Sie die doppelte HMA des absoluten Wertes von pct und erhalten Sie double_smoothed_abs_pc
  4. Berechnen Sie den TSI-Wert:*(double_smoothed_pc / double_smoothed_abs_pc))
  5. Der TSI-Wert wird mit einem HMA-Moving Average bearbeitet, um den TSI-Moving Average tsihmaline zu erhalten
  6. Vergleich der Beziehung zwischen TSI-Wert und TSI-Moving Average, als Aufwärtstrend, wenn der TSI-Wert über dem Moving Average liegt, als Abwärtstrend, wenn der TSI-Wert unter dem Moving Average liegt
  7. Bei einem Aufwärtstrend erzeugt ein Kaufsignal, wenn die Preise ebenfalls steigen
  8. Wenn der Preis im Abwärtstrend sinkt, erzeugt dies ein Verkaufssignal

Durch die oben genannten Schritte kann die Richtung des aktuellen Gesamttrends beurteilt werden, kombiniert mit dem tatsächlichen Kursverlauf, um ein Handelssignal zu erzeugen.

Vorteile

  1. Dual-HMA-Gleichbehandlung, um kurzfristige Geräusche effektiv zu filtern und wichtige Trends zu locken
  2. TSI kombiniert seine Moving Averages, um die allgemeine Trendrichtung zu bestimmen
  3. Kombination der Preis-K-Linie-Richtung, um falsche Durchbrüche zu vermeiden und die Signalzuverlässigkeit zu erhöhen
  4. Die Parameter sind verstellbar und die Gleitparameter können nach dem Markt angepasst werden, um sich an unterschiedliche Zyklen anzupassen
  5. Die Graphik ist intuitiv, grün für den Aufwärtstrend, rot für den Abwärtstrend.

Die Gefahr

  1. Wenn es zu Erschütterungen kommt, gibt es mehrere falsche Signale.
  2. Beim Trendwende ist der Moving Average zurückgeblieben und kann den besten Einstiegspunkt verpassen
  3. Häufige Anpassung der Parameter an Marktveränderungen
  4. Diese Strategie basiert auf einem einzelnen TSI und kann in Kombination mit anderen Indikatoren optimiert werden

Optimierungsrichtung

  1. Filter können eingesetzt werden, um falsche Signale in den Schaukeln zu vermeiden.
  2. Das sind die wichtigsten Indikatoren, mit denen man einen Trendwendepunkt bestimmen kann.
  3. Die Parameter können automatisch optimiert werden durch Methoden wie maschinelles Lernen
  4. Ein Stop-Loss-Strategie kann eingeführt werden, um einzelne Verluste zu kontrollieren.

Zusammenfassen

Diese Strategie verwendet die TSI-Indikatoren, um die Trendrichtung zu bestimmen und in Verbindung mit der Preis-K-Linie Handelssignale zu erzeugen, um den Trend effektiv zu erfassen, im Aufwärtstrend zu kaufen und im Abwärtstrend zu verkaufen. Es besteht jedoch ein gewisses Risiko, das optimiert werden muss, um die Stabilität zu verbessern.

Strategiequellcode
/*backtest
start: 2023-10-29 00:00:00
end: 2023-11-05 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="TSIHULLBOT", shorttitle="TSICCIHULL", default_qty_type=strategy.percent_of_equity, default_qty_value=100)
long = input(title="Long Length", type=input.integer, defval=50)
short = input(title="Short Length", type=input.integer, defval=50)
signal = input(title="Signal Length", type=input.integer, defval=7)
price = input(title="Source",type=input.source,defval=open)
lineupper = input(title="Upper Line", type=input.integer, defval=250)
linelower = input(title="Lower Line", type=input.integer, defval=-250)
double_smooth(price, long, short) =>
    fist_smooth = hma(price, long)
    hma(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))*5
tsihmaline=(hma(tsi_value,signal))*5
clr = tsihmaline < tsi_value ? color.red : color.lime
clr2 = tsi_value < tsi_value[1] ? color.red : color.lime
i1=plot(lineupper+3, color=color.black, linewidth=3)
i2=plot(linelower+3, color=color.black, linewidth=3)
i3=plot(lineupper, color=clr)
i4=plot(linelower, color=clr)
trendv=tsihmaline/5.6
plot(trendv, linewidth=7,  color=color.black)
plot(trendv, linewidth=4,  color=color.yellow)
j1=plot(tsi_value, linewidth=5, color=color.black)
j2=plot(tsi_value[1], linewidth=5, color=color.black)
j3=plot(tsi_value, color=clr2)
j4=plot(tsi_value[1], color=clr2)
fill(i3,i4,color=clr,transp=90)
fill(j3,j4,color=clr2,transp=15)
longCondition = tsihmaline>tsihmaline[1] and price>price[1]
if (longCondition)
    strategy.entry("Buy ⤴️", strategy.long)
shortCondition = tsihmaline<tsihmaline[1] and price<price[1]
if (shortCondition)
    strategy.entry("Sell ⤵️", strategy.short)