Doppelter gleitender Durchschnitt, Goldenes Kreuz und Todeskreuz-Strategie


Erstellungsdatum: 2023-09-17 22:35:07 zuletzt geändert: 2023-09-17 22:35:07
Kopie: 1 Klicks: 626
1
konzentrieren Sie sich auf
1617
Anhänger

Die Strategie wird durch die Berechnung von Moving Averages für zwei verschiedene Perioden und die Bildung von Kauf- und Verkaufssignalen basierend auf ihren Gold- und Doppelvorteilen entwickelt.

Strategieprinzip

Die Strategie erlaubt den Benutzern zunächst, den Typ und die Länge des Moving Averages zu wählen. Die Typen umfassen SMA, EMA, VWMA usw., während die Länge die Periodizität der Mittellinie bestimmt.

Dann werden zwei Moving Averages berechnet, je nach Wahl des Benutzers. Wenn die Schnelle von unten durch die langsame Linie geht und eine Goldfalke bildet, erzeugt dies ein Kaufsignal. Wenn die Schnelle von oben unter die langsame Linie geht und eine Todfalke bildet, erzeugt dies ein Verkaufssignal.

Wenn die kurzfristige Durchschnittspreis höher als der langfristige Durchschnittspreis, als der Markt ist in einer steigenden Tendenz, sollte man kaufen. Wenn die kurzfristige Preis niedriger als der langfristige Preis, als der Markt ist in einer rückläufigen Tendenz, sollte man verkaufen.

Analyse der Stärken

  • Die Strategie ist klar und einfach zu verstehen und umzusetzen.
  • Der Moving Average filtert Marktlärm und erkennt Trends.
  • Die Art und Parameter des Moving Averages können flexibel für verschiedene Sorten und Perioden ausgewählt werden.
  • Es ist leicht zu optimieren durch verschiedene Kombinationen von Kennzahlen.

Risikoanalyse

  • Wenn die Märkte im Umbruch sind, kann es zu mehreren Fehlsignalen kommen.
  • Eine falsche Parameterwahl kann zu einer schlechten Strategie führen.
  • Das Signal verspätet sich und es ist nicht möglich, den Wendepunkt rechtzeitig zu erfassen.
  • Die Gefahr von Unvorhergesehenen.

Risiken können durch geeignete Optimierung von Parametern, Kombination anderer Indikatoren, Signalgenerierung und Einstellung von Stop-Loss-Stopps kontrolliert werden.

Optimierungsrichtung

  • Testen von Parametern unterschiedlicher Art und Länge, um die optimale Kombination von Parametern zu finden.
  • Hinzufügen von Filtern für andere Indikatoren, wie z. B. Preis-/Menge-Indikatoren, Volatilitätsindikatoren usw.
  • Erhöhung der Stop-Loss-Stopp-Logik und Verringerung des Rückzugs.
  • Es ist wichtig, dass sich die Anbieter des Marktes über die Trends informieren, um unpassende Handelsbedingungen zu vermeiden.
  • Optimierung von Kapitalmanagementstrategien wie Positionsmanagement, Risikobudgeting usw.

Zusammenfassen

Die Strategie ist einfach und klar ausgedacht, die Handelssignale werden durch die Berechnung von Doppel-Gleichgewichten erzeugt, die Parameter können flexibel an die Marktumgebung angepasst und mit anderen Strategie-Kombinationen optimiert werden, aber es muss darauf geachtet werden, die Risiken eines bewegten Marktes zu vermeiden und die Kapitalverwaltung vernünftiger zu gestalten. Insgesamt ist es eine Option, die es wert ist, in Betracht gezogen zu werden.

Strategiequellcode
/*backtest
start: 2023-09-09 00:00:00
end: 2023-09-13 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title = "Noro's MAs Tests", shorttitle = "MAs tests", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)


len = input(30, defval = 30, minval = 2, maxval = 1000, title = "MA length")
type = input(1, defval = 1, minval = 1, maxval = 7, title = "Type")
src = input(close, defval = close, title = "Source")

//DEMA
dema = 2 * ema(src, len) - ema(ema(close, len), len)

//TEMA
xPrice = close
xEMA1 = ema(src, len)
xEMA2 = ema(xEMA1, len)
xEMA3 = ema(xEMA2, len)
tema = 3 * xEMA1 - 3 * xEMA2 + xEMA3

//KAMA
xvnoise = abs(src - src[1])
nfastend = 0.20
nslowend = 0.05
nsignal = abs(src - src[len])
nnoise = sum(xvnoise, len)
nefratio = iff(nnoise != 0, nsignal / nnoise, 0)
nsmooth = pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
kama = nz(kama[1]) + nsmooth * (src - nz(kama[1]))

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

ma = type == 1 ? sma(src, len) : type == 2 ? ema(src, len) : type == 3 ? vwma(src, len) : type == 4 ? dema : type == 5 ? tema : type == 6 ? kama : type == 7 ? center : 0

plot(ma, color = blue, linewidth = 3, transp = 0)

trend = low > ma ? 1 : high < ma ? -1 : trend[1]

longCondition = trend == 1 and trend[1] == -1
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = trend == -1 and trend[1] == 1
if (shortCondition)
    strategy.entry("Short", strategy.short)