TD Sequential Breakout und Retracement Kauf/Verkaufstrategie

Schriftsteller:ChaoZhang, Datum: 2024-04-01 11:23:26
Tags:

img

Übersicht

Diese Strategie ist eine TD-Sequenz-basierte Breakout- und Retracement-Kauf-/Verkaufsstrategie. Sie identifiziert potenzielle Trendumkehrpunkte, indem sie die 8. und 9. Kerze in der TD-Sequenz erkennt. Darüber hinaus berücksichtigt die Strategie den Retracement nach dem TD-Sequenz-Breakout, um die Genauigkeit der Einstiegspunkte zu verbessern. Darüber hinaus verwendet sie gleitende Durchschnitte als Hilfsmittel für die Trendbestimmung.

Strategieprinzipien

  1. Berechnen Sie die TD-Sequenz: Bestimmen Sie, ob es 8 oder 9 aufeinanderfolgende Aufwärts- (Abwärts-) Kerzen gibt, indem Sie den aktuellen Schlusskurs mit dem Schlusskurs vor 4 Kerzen vergleichen.
  2. Bestimmung der Kauf-/Verkaufspunkte: Wenn 8 oder 9 aufeinanderfolgende Auf- oder Abwärtskerzen stehen, markieren Sie die potenziellen Verkaufspunkte an der 8. oder 9. Kerze.
  3. Betrachten Sie einen Rückschritt: Beobachten Sie nach dem Ausbruch der TD-Sequenz, ob sich der Preis zurückzieht. Wenn der Ausbruchstatus bei der 13., 14., 15. oder 16. Kerze erhalten bleibt, gilt der Ausbruch als gültig; andernfalls gilt er als ungültig.
  4. Trendbestimmung: Verwenden Sie die Beziehung zwischen den gleitenden 10- und 20-Tage-Durchschnitten, um die aktuelle Trendrichtung zu bestimmen, die als Referenz für Kauf-/Verkaufsentscheidungen dient.

Strategische Vorteile

  1. Wirksam identifiziert potenzielle Trendumkehrpunkte, insbesondere bei starken Trends, bei denen Retracement-Eingangspunkte nach TD-Sequenz-Breakouts oft gute Risiko-Rendite-Verhältnisse ergeben.
  2. Durch die Berücksichtigung des Rückzugs nach TD-Sequenz-Breakouts kann die Strategie einige falsche Signale effektiv herausfiltern und die Genauigkeit der Einstiegspunkte verbessern.
  3. Die Verwendung gleitender Durchschnitte hilft, die aktuelle Trendrichtung zu bestimmen, wodurch die Strategie effektiver wird, wenn man in der Richtung des Trends handelt.

Strategische Risiken

  1. In unruhigen Märkten kann die TD-Sequenz viele falsche Signale erzeugen, was zu häufigen Trades und Kapitalverlusten führt.
  2. Die Strategie ist empfindlich gegenüber der Parameterwahl, und verschiedene Marktumgebungen können eine Parameteroptimierung und -anpassung erfordern.
  3. Die Strategie fehlt an einem klaren Stop-Loss-Mechanismus und kann bei starken Marktschwankungen erhebliche Rückgänge erleiden.

Strategieoptimierungsrichtlinien

  1. Einführung technischer Indikatoren wie RSI und MACD zur Verbesserung der Signalzuverlässigkeit und Filterwirkung.
  2. Für Retracements nach TD-Sequenzbrechungen sollten flexiblere Beurteilungskriterien eingeführt werden, z. B. die Verwendung von Indikatoren wie ATR zur dynamischen Anpassung der Toleranz für Retracements.
  3. In Bezug auf die Trendbestimmung sollten Sie versuchen, mehr Kombinationen von Zeitabschnitten zu verwenden, z. B. die Beziehung zwischen kurz-, mittelfristigen und langfristigen gleitenden Durchschnitten, um ein umfassenderes Trendurteil zu erhalten.
  4. Einführung eines eindeutigen Stop-Loss-Mechanismus, z. B. eines dynamischen Stop-Loss-Mechanismus auf Basis von ATR, um den maximalen Verlust pro Handel zu kontrollieren.

Zusammenfassung

Durch die Kombination von TD-Sequenzen und gleitenden Durchschnitten kann diese Strategie potenzielle Trendumkehrpunkte effektiv identifizieren und die Genauigkeit der Eintrittspunkte verbessern, indem Rückgriffssituationen berücksichtigt werden.


/*backtest
start: 2023-03-26 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Dipak Shankarrao Chavhan", shorttitle="Dipak Chavhan", overlay=true, pyramiding=0, default_qty_value=10)
Numbers = input(true)
SR = input(true)

var int TD = 0
var int TS = 0
var int TDUp = 0
var int TDDn = 0

TD := close > close[4] ? TD[1] + 1 : 0
TS := close < close[4] ? TS[1] + 1 : 0
TDUp := TD - valuewhen(TD < TD[1], TD, 1)
TDDn := TS - valuewhen(TS < TS[1], TS, 1)

plotshape(Numbers ? (TDUp == 8 ? true : na) : na, style=shape.triangleup, text="8", color=color.new(color.green, 0), location=location.belowbar)
plotshape(Numbers ? (TDUp == 9 ? true : na) : na, style=shape.triangleup, text="9", color=color.new(color.green, 0), location=location.belowbar)
plotshape(Numbers ? (TDDn == 8 ? true : na) : na, style=shape.triangledown, text="8", color=color.new(color.red, 0), location=location.abovebar)
plotshape(Numbers ? (TDDn == 9 ? true : na) : na, style=shape.triangledown, text="9", color=color.new(color.red, 0), location=location.abovebar)

priceflip = barssince(close < close[4])
sellsetup = close > close[4] and priceflip
sell = sellsetup and barssince(priceflip != 9)
sellovershoot = sellsetup and barssince(priceflip != 13)
sellovershoot1 = sellsetup and barssince(priceflip != 14)
sellovershoot2 = sellsetup and barssince(priceflip != 15)
sellovershoot3 = sellsetup and barssince(priceflip != 16)
priceflip1 = barssince(close > close[4])
buysetup = close < close[4] and priceflip1
buy = buysetup and barssince(priceflip1 != 9)
buyovershoot = buysetup and barssince(priceflip1 != 13)
buyovershoot1 = buysetup and barssince(priceflip1 != 14)
buyovershoot2 = buysetup and barssince(priceflip1 != 15)
buyovershoot3 = buysetup and barssince(priceflip1 != 16)
TDbuyh = valuewhen(buy, high, 0)
TDbuyl = valuewhen(buy, low, 0)
TDsellh = valuewhen(sell, high, 0)
TDselll = valuewhen(sell, low, 0)
plot(SR ? (TDbuyh ? TDbuyl : na) : na, style=plot.style_circles, linewidth=2, color=color.red)
plot(SR ? (TDselll ? TDsellh : na) : na, style=plot.style_circles, linewidth=2, color=color.lime)

sma1 = sma(close, 10)
sma2 = sma(close, 20)



if TDbuyh
    strategy.entry("Enter Long", strategy.long)
else if TDselll
    strategy.entry("Enter Short", strategy.short)

Mehr