Doppel-SMA-Trend nach Strategie

Schriftsteller:ChaoZhang, Datum: 2023-09-20 11:35:30
Tags:

Übersicht

Diese Strategie verwendet nur zwei SMA-Linien, mit der langsamen SMA für die Trendrichtung und der schnellen SMA für die Eintrittssignale.

Strategie Logik

Zwei SMA-Linien werden berechnet, eine schnelle und eine langsame, zusammen mit der Mittellinie des Preiskanals. Die schnelle Linie hat eine Periode von 5, während die langsame Linie eine Periode von 20 hat. Über der Mittellinie des Preiskanals wird ein Aufwärtstrend betrachtet, bei dem Gelegenheiten gesucht werden, bei der schnelle Linie über die langsame Linie überschritten wird. Unter der Mittellinie ist ein Abwärtstrend, bei dem Gelegenheiten gesucht werden, bei der schnelle Linie unter der langsamen Linie überschritten wird.

In einem Aufwärtstrend sind mindestens 2 aufeinanderfolgende rote Kerzen erforderlich, nachdem sie den Boden gesehen haben, bevor sie lang gehen, wenn die schnelle Linie über die langsame Linie geht.

Analyse der Vorteile

Die doppelten SMA-Linien und der Preiskanal helfen, die Trendrichtung zu bestimmen und falsche Ausbrüche zu vermeiden.

Bei der Anpassung von Anpassungsparametern lassen sich lange/kurze Konditionen flexibel konfigurieren.

Risikoanalyse

Eine übermäßige Abhängigkeit von SMA-Linien kann zu übermäßigen falschen Signalen während der Abweichungen führen.

Die Anpassung von SMA-Perioden oder die Einbeziehung anderer technischer Indikatoren könnten Signale filtern. Volumenindikatoren können auch zusätzliche Einblicke liefern. Die Positionsgröße könnte auch basierend auf den Marktbedingungen optimiert werden.

Optimierungsrichtlinien

  1. Verschiedene schnelle und langsame SMA-Kombinationen testen, um optimale Parameter zu finden.

  2. Zusätzliche Lautstärke und andere Indikatoren für die Signalvalidierung.

  3. Einbeziehung anderer technischer Indikatoren zur Bildung einer Gesamtstrategie.

  4. Dynamische Positionsgrößen festlegen, um das Kapitalmanagement zu optimieren.

  5. Anwendung von maschinellem Lernen zur Vorhersage von Preistrends und Wendepunkten.

  6. Optimieren Sie Stop-Loss-Strategien, um Verluste zu begrenzen.

Zusammenfassung

Das doppelte SMA-System für die Trendbestimmung ist logisch klar und häufig verwendet. Aber eine übermäßige Abhängigkeit von gleitenden Durchschnitten allein neigt dazu, falsche Signale zu erzeugen, was andere Indikatoren zur Verbesserung erfordert. Mit mehr qualitativer und quantitativer Validierung würde die Strategie robuster werden. Insgesamt bietet sie eine einfache und zuverlässige Trendnachfolgevorlage.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Noro's Trend SMA Strategy v1.4", shorttitle = "Trend SMA str 1.4", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

needlong = input(true, "long")
needshort = input(true, "short")
usefastsma = input(true, "Use fast SMA")
fastlen = input(5, defval = 5, minval = 1, maxval = 50, title = "fast SMA Period")
slowlen = input(20, defval = 20, minval = 2, maxval = 200, title = "slow SMA Period")
bars = input(2, defval = 2, minval = 0, maxval = 3, title = "Bars Q")

fastsma = ema(close, fastlen)
slowsma = ema(close, slowlen)

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

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

bar = close > open ? 1 : close < open ? -1 : 0
redbars = bars == 0 ? 1 : bars == 1 and bar == -1 ? 1 : bars == 2 and bar == -1 and bar[1] == -1 ? 1 : bars == 3 and bar == -1 and bar[1] == -1 and bar[2] == -1 ? 1 : 0
greenbars = bars == 0 ? 1 : bars == 1 and bar == 1 ? 1 : bars == 2 and bar == 1 and bar[1] == 1 ? 1 : bars == 3 and bar == 1 and bar[1] == 1 and bar[2] == 1 ? 1 : 0

up = trend == 1 and (low < fastsma or usefastsma == false) and redbars == 1 ? 1 : 0
dn = trend == -1 and (high > fastsma or usefastsma == false) and greenbars == 1 ? 1 : 0

colorfastsma = usefastsma == true ? red : na
plot(fastsma, color = colorfastsma, title = "Fast SMA")
plot(center, color = blue, title = "Price Channel")

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)

Mehr