Kauf- und Verkaufspunktstrategien basierend auf TD Sequential Breakouts und Retracements


Erstellungsdatum: 2024-04-01 11:23:26 zuletzt geändert: 2024-04-01 11:23:26
Kopie: 3 Klicks: 755
1
konzentrieren Sie sich auf
1617
Anhänger

Kauf- und Verkaufspunktstrategien basierend auf TD Sequential Breakouts und Retracements

Überblick

Die Strategie ist eine auf der TD-Sequenz basierende Breakout- und Widerrufs-Buy-Sell-Strategie. Sie identifiziert potenzielle Trendwendepunkte durch die Identifizierung der K-Linien 8 und 9 in der TD-Sequenz. Gleichzeitig berücksichtigt die Strategie den Rückzug nach dem Durchbruch der TD-Sequenz, um die Genauigkeit der Einstiegspunkte zu verbessern.

Strategieprinzip

  1. Berechnen Sie die TD-Sequenz: Vergleichen Sie den aktuellen Schlusskurs mit dem Schlusskurs vor 4 K-Linien, um zu beurteilen, ob eine K-Linie mit 8 oder 9 aufeinanderfolgenden Auf- und Abwärtskursen auftritt.
  2. Identifizierung von Kauf- und Verkaufspunkten: Wenn eine K-Linie mit 8 oder 9 aufeinanderfolgenden Auf- und Abwärtskursen auftritt, markieren Sie die potenziellen Verkaufspunkte (Kaufpunkte) an der 8. oder 9. K-Linie.
  3. Betrachten Sie den Rückzug: Beobachten Sie, ob der Preis nach dem Durchbruch der TD-Serie einen Rückzug aufweist. Wenn der Durchbruch auf der K-Linie 13, 14, 15 oder 16 noch besteht, wird der Durchbruch als gültig angesehen, ansonsten wird er als ungültig angesehen.
  4. Trendbeurteilung: Die Beziehung zwischen dem 10- und dem 20-Tage-Moving Average wird verwendet, um die Richtung des aktuellen Trends zu bestimmen und als Referenz für Kauf- und Verkaufsentscheidungen zu dienen.

Strategische Vorteile

  1. Die Fähigkeit, potenzielle Trendwendepunkte effektiv zu identifizieren, insbesondere bei starken Trends, und die Rücknahme-Eintrittspunkte nach dem Durchbruch der TD-Serie sind oft mit einem besseren Risiko-Gewinn-Verhältnis verbunden.
  2. Durch die Berücksichtigung der Rücknahme nach dem Durchbruch der TD-Sequenz können einige falsche Signale effektiv gefiltert und die Genauigkeit der Einstiegspunkte verbessert werden.
  3. Die Verwendung von Moving Averages kann helfen, die Richtung des aktuellen Trends zu bestimmen und die Strategie bei schleichenden Operationen effektiver zu machen.

Strategisches Risiko

  1. In einem turbulenten Markt kann es zu mehr falschen Signalen in der TD-Sequenz kommen, was zu häufigen Transaktionen und Verlusten von Geldern führt.
  2. Die Strategie ist sehr sensibel für die Parameterwahl, die in unterschiedlichen Marktumgebungen optimiert und angepasst werden müssen.
  3. Eine Strategie, die keine eindeutigen Stop-Loss-Mechanismen hat, kann bei starken Marktschwankungen ein höheres Rücknahmerisiko aufweisen.

Richtung der Strategieoptimierung

  1. Die Einführung von mehr technischen Indikatoren wie RSI, MACD usw. verbessert die Zuverlässigkeit der Signale und die Filterwirksamkeit.
  2. Für den Fall, dass ein Rückzug nach einem Durchbruch der TD-Sequenz erfolgt, kann die Einführung von flexibleren Urteilsgrundsätzen in Betracht gezogen werden, z. B. die Toleranz für den Rückzug, der mit Indikatoren wie ATR dynamisch angepasst wird.
  3. In Bezug auf die Trendbeurteilung können Sie versuchen, mehr Zeitperiodenkombinationen wie die Beziehung zwischen kurz-, mittelfristig- und langfristigen gleitenden Durchschnitten zu verwenden, um eine umfassendere Trendbeurteilung zu erhalten.
  4. Einführung eines eindeutigen Stop-Loss-Mechanismus, wie beispielsweise eines dynamischen Stop-Losses auf Basis von ATR, um den maximalen Verlust eines einzelnen Handels zu kontrollieren.

Zusammenfassen

Die Strategie kann durch die Kombination von TD-Sequenzen und Moving Averages potenzielle Trendwendepunkte effektiv identifizieren und die Genauigkeit der Einstiegspunkte durch Berücksichtigung von Rücktrittsfällen verbessern. Obwohl die Strategie einige Risiken und Einschränkungen aufweist, können Optimierungsmaßnahmen wie die Einführung von mehr technischen Indikatoren, optimierte Trendbeurteilungsmethoden und die Einrichtung eines eindeutigen Stop-Loss-Mechanismus die Stabilität und Profitabilität der Strategie weiter verbessern.

Strategiequellcode
/*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)