Mehrere Trendfolgestrategien


Erstellungsdatum: 2023-11-17 17:19:37 zuletzt geändert: 2023-11-17 17:19:37
Kopie: 1 Klicks: 664
1
konzentrieren Sie sich auf
1617
Anhänger

Mehrere Trendfolgestrategien

Überblick

Die Multiple-Trend-Tracking-Strategie nutzt die vier Indikatoren MACD, RSI, ATR und DEMA, um die langfristigen und kurzfristigen Trends der Aktien zu identifizieren und Trends zu verfolgen. Die Strategie kombiniert die Vorteile von Breakout- und Trend-Tracking-Trades und kann sowohl Trends in längeren Linien erfassen als auch bessere Einstiegsmomente in kurzen Linien finden.

Strategieprinzip

MACD-Handelsstrategien

Der MACD, der Moving Average Scatter Indicator, ist ein Trend-Tracking-Indikator. Der MACD besteht aus einem schnellen Moving Average und einem langsamen Moving Average, wobei die häufigsten Parameter die 12-Tage-EMA, die 26-Tage-EMA und die 9-Tage-EMA des MACD sind.

RSI überkauft und überkauft

Der RSI ist ein relativ starker Indikator, der den Überkauf und Überverkauf von Aktien widerspiegelt. Der RSI wird durch den Vergleich der durchschnittlichen Schließungsschwellen und -schwellen über einen Zeitraum bestimmt.

Analyse der Stärken

Die Strategie kombiniert vier Indikatoren, MACD, RSI, ATR und DEMA, und kombiniert Trend-Tracking und Breakout-Trading, um in Trends nach besseren Einstiegsmomenten zu suchen, mit folgenden Vorteilen:

  1. Der MACD kann die Richtung und Umkehrung von mittleren und langen Aktienkursen effektiv erkennen.

  2. Der RSI kann beurteilen, ob eine Aktie kurzfristig überkauft oder überverkauft ist, um zu vermeiden, dass sie bei einer Trendwende nach oben oder unten gejagt wird.

  3. ATR kann die Position der Stop-Loss-Linie dynamisch anpassen, um den Einzelschaden effektiv zu steuern.

  4. DEMA kann als Hilfsindikator für die Beurteilung verwendet werden, um einen Teil des Geräusches zu filtern.

  5. Eine Kombination aus mehreren Indikatoren erhöht die Zuverlässigkeit von Handelssignalen.

Risikoanalyse

Die Strategie birgt auch Risiken:

  1. Eine Kombination aus mehreren Indikatoren kann zu Fehlsignalen führen.

  2. ATR ist ein dynamischer Stop-Loss-Indikator, der bei starken Schwankungen leicht durchbrochen werden kann, was zu Verlusten führt.

  3. DEMA ist ein Trend-Wellen-Indikator, der möglicherweise starke kurzfristige Handelsmöglichkeiten filtert.

  4. Unzureichende Strategieparameter können zu häufigen Transaktionen, erhöhten Transaktionskosten und Verlusten von Gleitpunkten führen.

Die Entwicklung quantitativer Handelsstrategien erfordert eine sorgfältige Analyse der historischen Daten, robuste Rücktests und ein umsichtiges Risikomanagement. Ich kann keine spezifischen Maßnahmen empfehlen, sondern kann darauf hinweisen, sich auf solide Prinzipien der Strategieentwicklung zu konzentrieren.

Optimierungsrichtung

Die Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Verschiedene Parameterkombinationen werden getestet, um die optimale Parameter zu finden.

  2. Erhöhung der Stop-Loss-Strategien, wie beispielsweise Moving Stop, Average Stop, um das Risiko weiter zu kontrollieren.

  3. Weitere Hilfsmessungen wie KDJ, Brinband usw. wurden hinzugefügt, um die Signalgenauigkeit zu verbessern.

  4. Optimierung der Einstiegsmomente, beispielsweise durch die Kombination von Strategien wie Breakthroughs, um bessere Kaufpunkte zu finden.

  5. Unterscheidung zwischen mehrköpfigen und leeren Märkten unter Verwendung unterschiedlicher Parameter.

  6. Modellierung der Klassifizierung nach den Eigenschaften der Aktien, um die Strategie anpassungsfähiger zu machen.

Zusammenfassen

Die Multiple-Trend-Tracking-Strategie integriert die Verwendung von vier Indikatoren MACD, RSI, ATR und DEMA, um eine organische Kombination von Trend-Tracking und Trend-Breakage zu erreichen. Im Vergleich zu einer einzelnen Indikator-Strategie kann diese Strategie zuverlässigere Handelssignale liefern und bestimmte falsche Signale vermeiden. Die Strategiewirkung kann durch Parameteroptimierung, Stop-Loss-Strategie und Hilfsurteile weiter verbessert werden.

Strategiequellcode
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © prim722

// © OTS Music

//@version=4
strategy("Atrend by OTS", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
if (crossover(delta, 0))
	strategy.entry("MACD buy", strategy.long, comment="MACD buy")
if (crossunder(delta, 0))
	strategy.entry("MACD sell", strategy.short, comment="MACD sell")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
length = input( 18 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
if (not na(vrsi))
	if (co)
		strategy.entry("RSI buy", strategy.long, comment="RSI buy")
	if (cu)
		strategy.entry("RSI sell", strategy.short, comment="RSI sell")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR= input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=false)
atr2 = sma(tr, Periods)
atr= changeATR ? atr(Periods) : atr2
up=src-(Multiplier*atr)
up1 = nz(up[1],up)
up := close[1] > up1 ? max(up,up1) : up
dn=src+(Multiplier*atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn
trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend
upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_line, linewidth=2, color=color.white)
buySignal = trend == 1 and trend[1] == -1
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.green, transp=0)
plotshape(buySignal and showsignals ? up : na, title="", text="", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.white, textcolor=color.white, transp=0)
dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_line, linewidth=2, color=color.gray)
sellSignal = trend == -1 and trend[1] == 1
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.red, transp=0)
plotshape(sellSignal and showsignals ? dn : na, title="", text="", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)
mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.white : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.gray : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highligter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highligter", color=shortFillColor)
alertcondition(buySignal, title="ATrend Buy", message="ATrend Buy!")
alertcondition(sellSignal, title="ATrend Sell", message="ATrend Sell!")
changeCond = trend != trend[1]
alertcondition(changeCond, title="ATrend Direction Change", message="ATrend has changed direction!")

length1 = input(25, minval=1)
srcb = input(close, title="Source")
e1 = ema(srcb, length1)
e2 = ema(e1, length)
dema = 2 * e1 - e2
plot(dema, "DEMA", color.red)