Die Ressourcen sind geladen. Beförderung...

Trendstärke Bestätigen Sie die Bars-Strategie

Schriftsteller:ChaoZhang, Datum: 2024-01-16 15:22:53
Tags:

img

Übersicht: Diese Strategie beurteilt die Trendrichtung anhand der Schlusskursrichtung von N aufeinanderfolgenden Kerzen. Handelssignale werden erzeugt, wenn die Schlusskurswerte von N aufeinanderfolgenden Kerzen die Bedingung erfüllen. Die Größe von N wird durch den confirmBars-Eingabeparameter festgelegt. Diese Strategie nutzt hauptsächlich die Richtung der Schlusskursrichtung von N aufeinanderfolgenden Kerzen, um die Stärke des Trends zu bestimmen. Größeres N erfordert mehr Kerzen, um den Trend zu bestätigen, was falsche Ausbrüche filtern kann, aber auch die frühe Phase der Trends verpassen kann.

Grundsatz:
Die Strategie verfolgt die Beziehung zwischen den Schlusskurs der letzten Kerze und der vorherigen, um die Stärke der Preissteigerungen zu beurteilen.

Wenn bcount den von confirmBars gesetzten Wert erreicht, bedeutet dies, dass die Schlusskosten der aufeinanderfolgenden confirmBars-Kerzen gestiegen sind und ein Kaufsignal erzeugen. Wenn scount den von confirmBars gesetzten Wert erreicht, bedeutet dies, dass die Schlusskosten der aufeinanderfolgenden confirmBars-Kerzen gefallen sind und ein Verkaufssignal erzeugen.

Durch die Beurteilung der Kursrichtung mehrerer aufeinanderfolgender Kerzen können kurzfristige Marktschwankungen effektiv ausgefiltert werden, und Handelssignale werden nur unter relativ starken Trends erzeugt.

Vorteilsanalyse:

  1. Wirksam Filtern von Lärm und Bestätigen von Trends
    Diese Strategie erfordert, dass aufeinanderfolgende N-Candlestick-Schlusskurse die Bedingungen erfüllen, bevor Handelssignale generiert werden. Dies filtert die Auswirkungen normaler Marktschwankungen auf den Handel aus und stellt sicher, dass Positionen nur bei starken Trends eröffnet werden.

  2. Einstellbare Filterstärkeparameter Durch die Anpassung der Größe des Parameters confirmBars kann die Stärke der Filterung von Preisschwankungen kontrolliert werden. Größere Parameter haben bessere Filterungseffekte auf das Rauschen, können aber auch frühe Trendchancen verpassen.

Risikoanalyse:

  1. Kann frühe Trendchancen verpassen Die Strategie erfordert, dass mehrere aufeinanderfolgende Kerzen die Schlusskurse erfüllen, um Bedingungen zu erfüllen, bevor Signale generiert werden, so dass sie oft frühe Trendmöglichkeiten verpasst und Trends nicht rechtzeitig verfolgen kann.

  2. Anfällig für einen Stop-Loss-Breakout Wenn die Anzahl der Bestätigungen zu groß ist, kann man sich leicht durch umgekehrte kurzfristige Linien im frühen Trendstadium irreführen lassen, was zu Stop-Loss-Breakouts führt.

Optimierungsrichtlinien:

  1. Falsche Ausbrüche mit anderen Indikatoren filtern
    Andere technische Indikatoren wie Bollinger-Bänder und RSI können verwendet werden, um ein sekundäres Filtern von Kauf- und Verkaufssignalen durchzuführen, um die Möglichkeit gefälschter Ausbrüche zu verringern.

  2. Dynamische Anpassung der Parameter Versuchen Sie, den Parameter confirmBars dynamisch anhand der Marktbedingungen anzupassen; erhöhen Sie den Parameterwert in volatilen Märkten, um Lärm zu filtern; verringern Sie den Parameterwert, wenn der Trend offensichtlich ist, um den Trend zu verfolgen.

Zusammenfassung:
Diese Strategie erreicht den Effekt der Filterung von Schocks und der Bestätigung von Trends, indem sie die Richtung der Schlusskurs von mehreren aufeinanderfolgenden Kerzen beurteilt. Sie kann fehlerhafte Trades, die durch kurzfristige Marktschwankungen verursacht werden, effektiv reduzieren und nur Handelssignale erzeugen, wenn Trends offensichtlich sind. Durch die Anpassung der Größe des Parameters confirmBars können Benutzer die Beziehung zwischen Filterungseffekten und der Erfassung von Trendchancen ausgleichen. Diese Strategie wird jedoch eher frühzeitig bei der Trendinitiation gestoppt und kann Trends nicht kontinuierlich verfolgen. Es wird empfohlen, mit anderen Indikatoren zu optimieren oder eine dynamische Parameteranpassung zu versuchen, um bessere Renditen zu erzielen.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Confirm Bars Strategy [TS Trader]", overlay=true)

confirmBars = input(1)

// === INPUT BACKTEST RANGE ===
fromYear = input.int(2019, title="Backtest Start Year")
fromMonth = input.int(1, title="Backtest Start Month", minval=1, maxval=12)
fromDay = input.int(1, title="Backtest Start Day", minval=1, maxval=31)
toYear = input.int(2023, title="Backtest End Year")
toMonth = input.int(12, title="Backtest End Month", minval=1, maxval=12)
toDay = input.int(31, title="Backtest End Day", minval=1, maxval=31)

startTimestamp = timestamp(fromYear, fromMonth, fromDay, 00, 00)
endTimestamp = timestamp(toYear, toMonth, toDay, 23, 59)

inBacktestRange = true

// === STRATEGY LOGIC ===
bcount = 0
bcount := close[1] < close ? nz(bcount[1]) + 1 : 0
if (bcount == confirmBars and inBacktestRange)
    strategy.entry("Buy", strategy.long, comment="Long")

scount = 0
scount := close[1] > close ? nz(scount[1]) + 1 : 0
if (scount == confirmBars and inBacktestRange)
    strategy.entry("Sell", strategy.short, comment="Short")

Mehr