Trendfolgestrategie basierend auf gleitendem Durchschnitt und durchschnittlicher tatsächlicher Volatilität


Erstellungsdatum: 2024-01-12 11:14:01 zuletzt geändert: 2024-01-12 11:14:01
Kopie: 1 Klicks: 539
1
konzentrieren Sie sich auf
1617
Anhänger

Trendfolgestrategie basierend auf gleitendem Durchschnitt und durchschnittlicher tatsächlicher Volatilität

Überblick

Die Strategie nutzt bewegliche Durchschnitte und durchschnittliche reale Schwankungen, um die Richtung der Markttrends zu bestimmen und trendspezifische Geschäfte in Abhängigkeit von der Richtung der Trends durchzuführen.

Strategieprinzip

Die Strategie nutzt den Moving Average ma des Len-Zyklus und die 2-fache reale Schwankungsrateatr des Len-Zyklus, um die Markttrends zu beurteilen. Die spezifischen Beurteilungsregeln sind:

Wenn der Minimumpreis größer ist als der Moving Average plus die durchschnittliche reale Schwankungsrate ((low > ma + atr), wird er als Aufwärtstrend beurteilt.
Wenn der Höchstpreis kleiner ist als der Moving Average abzüglich der durchschnittlichen realen Schwankungsrate (high < ma - atr), wird er als Abwärtstrend beurteilt.

In anderen Fällen bleibt das Urteil bestehen.

Bei der Beurteilung von Aufwärtstrends, wenn es erlaubt ist, mehr zu tun, in einem bestimmten Verhältnis zu tun.
Bei der Beurteilung eines Abwärtstrends ist eine Prozentsatz-Kopplung zulässig, wenn ein Kauf erlaubt ist.

Die Ausgleichsbedingungen gelten bis zum angegebenen Termin des Abschlusses des Geschäfts.

Analyse der Stärken

Diese Strategie hat folgende Vorteile:

  1. Verwenden Sie einen Moving Average, um die Richtung des Trends zu bestimmen, und vermeiden Sie, dass Sie von kurzfristigen Marktbewegungen in die Irre geführt werden.
  2. Die dynamische Stop-Loss-Einstellung mit Hilfe der durchschnittlichen realen Schwankungen hilft, das Risiko zu kontrollieren.
  3. Es ist wichtig zu wissen, dass es sich um ein Unternehmen handelt, das in der Lage ist, Trendchancen zu nutzen, um so ein hohes Gewinnpotenzial zu erzielen.
  4. Die Regeln sind relativ einfach zu bedienen.

Risikoanalyse

Die wichtigsten Risiken für diese Strategie sind:

  1. In einem stark bewegten Markt kann es zu mehrfachen Verlusten kommen.
  2. Es ist nicht möglich, die Wendepunkt zu bestimmen, und es besteht die Gefahr, dass die Wende nach oben oder unten geht.
  3. Die falsche Einstellung der Parameter für die durchschnittliche reelle Schwankungsrate kann dazu führen, dass die Ausstiegspunkte zu locker oder zu streng sind.

Die Lösung:

  1. Die Moving Average-Parameter werden entsprechend angepasst, um stabilere Parameter zu verwenden.
  2. In Kombination mit anderen Indikatoren bestätigen Sie die Signale und vermeiden Sie die Verfolgung von Höhen und Tiefen.
  3. Optimierung der Parameter für die durchschnittliche reale Schwankungsrate mit geeigneten Parametern.

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Verschiedene Mittelwertsysteme werden getestet, um eine stabilere Kombination von Parametern zu finden.
  2. Zusätzliche Indikatoren werden verwendet, um die Zuverlässigkeit des Signals zu bestimmen.
  3. Die Parameter der mittleren realen Schwankungsrate werden getestet, um die optimalen Parameter zu finden.
  4. Optimierung der Kapitalnutzung und Steigerung der Rendite durch Leverage.
  5. Dynamische Optimierung von Parametern in Kombination mit Methoden wie Machine Learning.

Zusammenfassen

Die Gesamtkonzeption der Strategie ist klar und leicht zu verstehen. Die Verwendung von Moving Averages zur Bestimmung der Trendrichtung und die Verwendung von durchschnittlichen realen Schwankungen zur Einstellung von Stop-Losses ermöglicht eine effiziente Trendverfolgung. Es besteht jedoch ein gewisses Risiko, dass weitere Optimierungen der Parameter festgelegt und andere Beurteilungsindikatoren hinzugefügt werden müssen.

Strategiequellcode
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//2019
//Noro

//@version=4
strategy(title = "Noro's MA+ATR Strategy", shorttitle = "MA+ATR str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(30, minval = 2, title = "MA Length")
src = input(ohlc4, title = "MA Source")
limitmode = input(false)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//MA + BG
atr = sma(tr, len) * 2
ma = sma(src, len)
plot(ma, color = color.blue, linewidth = 4)
trend = 0
trend := low > ma + atr ? 1 : high < ma - atr ? -1 : trend[1]
col = trend == 1 ? color.lime : color.red
bgcolor(col, transp = 70)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if trend == 1 and limitmode == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if trend == -1 and limitmode == false
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if trend == 1 and limitmode
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if trend == -1 and limitmode
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
// if time > timestamp(toyear, tomonth, today, 23, 59)
//     strategy.close_all()