Strategie für die Verlagerung des gleitenden Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2023-11-07
Tags:

img

Übersicht

Die gleitende Durchschnitts-Crossover-Strategie ist eine sehr klassische technische Analyse-Strategie. Sie berechnet gleitende Durchschnittswerte verschiedener Zeiträume und beobachtet deren Crossover, um den Markttrend zu bestimmen, um das Ziel zu erreichen, niedrig zu kaufen und hoch zu verkaufen. Diese Strategie eignet sich für den mittelfristigen und langfristigen Handel und kann effektiv Marktlärm filtern und Trends identifizieren.

Grundsätze

Diese Strategie berechnet hauptsächlich den 10-tägigen einfachen gleitenden Durchschnitt (SMA) und den 10-tägigen dreieckigen gleitenden Durchschnitt (TRIMA). Wenn der SMA über den TRIMA überschreitet, wird ein Kaufsignal generiert, das anzeigt, dass sich der Markttrend von Abstieg in Aufstieg verändert hat, und wir können kaufen. Wenn der SMA unter dem TRIMA überschreitet, wird ein Verkaufssignal generiert, das anzeigt, dass sich der Markttrend von Aufstieg in Abstieg verändert hat, und wir können verkaufen.

Insbesondere wird zunächst der Schlusskurs eingegeben und die Zykluslängen für die Berechnung von SMA und TRIMA definiert.

SMA = (P1 + P2 +... + Pn) / n

Hierbei ist Pn der Schlusskurs der letzten n Tage.

Die Berechnungsformel für TRIMA lautet:

Der Wert des Zinssatzes für die Zinsspanne ist der Wert des Zinssatzes für die Zinsspanne.

Hierbei sind die SMA1, SMA2, SMA3 die SMA der Schlusskurs für die letzten n Tage.

Also ist TRIMA eigentlich ein SMA berechnet auf der Oberseite der SMA, die einen besseren Glättungseffekt hat. Wenn die kurzfristige SMA über den langfristigen TRIMA kreuzt, zeigt es einen Durchbruch des kurzfristigen gleitenden Durchschnitts an, und wir können kaufen. Im Gegenteil, wenn die SMA unter der TRIMA kreuzt, zeigt es einen Abbau unter dem kurzfristigen gleitenden Durchschnitt an, und wir können verkaufen.

Vorteile

Der größte Vorteil dieser Strategie besteht darin, dass sie die Trendbeurteilungsfähigkeit von gleitenden Durchschnitten nutzt, um Markttrends effektiv zu identifizieren und kurzfristigen Marktlärm auszufiltern, um niedrig zu kaufen und hoch zu verkaufen. Im Vergleich zu einem einzelnen gleitenden Durchschnitt kann die Kombination von SMA und TRIMA die Zuverlässigkeit von Durchbrüchen verbessern und die Wahrscheinlichkeit falscher Durchbrüche verringern. Darüber hinaus hat der gleitende Durchschnitt selbst eine gute Glattigkeit, die auch die Rolle eines Stop-Loss spielen kann, um die Wahrscheinlichkeit eines einzigen Stop-Loss-Positions zu reduzieren. Im Allgemeinen ist diese Strategie für den mittelfristigen und langfristigen Handel sehr geeignet.

Risiken

Das Hauptrisiko dieser Strategie besteht darin, dass der gleitende Durchschnitt selbst hinter den Preisänderungen zurückbleibt, was die frühe Phase des Trends verpassen kann, was zu einem späten Eintritt führt. Darüber hinaus wird diese Strategie mehr falsche Durchbrüche hervorrufen, wenn der Markt keinen offensichtlichen Trend hat. Schließlich verlassen sich gleitende Durchschnittsstrategien mehr auf die Parameteroptimierung. Wenn die Parameter nicht richtig eingestellt sind, wird dies auch die Strategie stark beeinflussen.

Optimierungsrichtlinien

Diese Strategie kann in folgenden Aspekten optimiert werden:

  1. Optimieren Sie die Zyklusparameter des gleitenden Durchschnitts, um wissenschaftlich die beste Kombination zu finden.

  2. Fügen Sie Filterindikatoren wie Handelsvolumen hinzu, um falsche Signale zu vermeiden, wenn das Handelsvolumen niedrig ist.

  3. Kombinieren Sie Trendindikatoren wie den MACD, um lokale Trends zu beurteilen und vermeiden Sie häufigen Handel auf Konsolidierungsmärkten.

  4. Annahme adaptiver gleitender Durchschnitte zur dynamischen Anpassung der Zyklusparameter, wenn der Markt bestimmte Phasen erreicht.

  5. Überprüfen Sie mit mehreren Zeitrahmen, z. B. nur dann, wenn sowohl die Tages- als auch die 4-Stunden-Linien durchbrochen werden.

Zusammenfassung

Die gleitende Durchschnitts-Crossover-Strategie ist eine einfache und praktische technische Analyse-Strategie, die sich sehr gut für den mittelfristigen und langfristigen Positionshandel eignet. Sie kann die Trendrichtung effektiv identifizieren. Aber sie hat auch eine gewisse Verzögerung und muss mit Trendbeurteilungsindikatoren gefiltert und optimiert werden, um die Wahrscheinlichkeit falscher Signale zu reduzieren. Wenn die Parameter richtig optimiert werden, kann sie sowohl Kapital schützen als auch größere Trendchancen nutzen. Es lohnt sich definitiv zu recherchieren und als Strategieidee anzuwenden.


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

//TMA strategy I came across, uses sma to display entry/exit points for both margin and non margin trading. The buy/sell signals as well as syntax are hidden behind comments if you scroll down.
//Change the commented fields for margin or spot trading!
//@version=3
strategy("MP Rollercoaster Strat", overlay=true)

bgcolor ( color=black, transp=0, title='Blackground', editable=true)

x = input(close, "Red")
n = input(10, "periods")
trima = sma(sma(x,n), n)

kisa=input(5, "Green")
sma = sma(close, kisa)

bull = (sma>trima)
fill(plot(sma, color = green), plot(trima, color=red), bull ? green : red)

//Conditions
buy_signal = crossover(sma,trima)
sell_signal = crossunder(sma,trima)

plotshape(sell_signal, style=shape.triangleup, color = red, text="Short")
plotshape(buy_signal, style=shape.triangledown, color = green, text="Long")
//plotshape(sell_signal, style=shape.triangleup, color = red, text="Sell")
//plotshape(buy_signal, style=shape.triangledown, color = green, text="Buy")

alertcondition(sell_signal, title = 'Short', message = 'e= s= c=position b=long t=market l= | delay=30 | e= s= b=short l= t=market q=0.01')
alertcondition(buy_signal, title = 'Long', message =  'e= s= c=position b=short t=market l= | delay=30 | e= s= b=long l= t=market q=0.01')

//alertcondition(sell_signal, title = 'Sell', message = 'e= s= c=order b=buy | delay=3 | e= b=sell q=99% p=0.70% u=currency')
//alertcondition(buy_signal, title = 'Buy', message =  'e= s= c=order b=sell | delay=30 | e= b=buy q=80 p=0.1% u=currency')

testStartYear = input(2018, "From Year") 
testStartMonth = input(4, "From Month")
testStartDay = input(1, "From Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "To Year")
testStopMonth = input(1, "To Month")
testStopDay = input(1, "To Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

testPeriod() => true

if testPeriod()
    if buy_signal
        strategy.entry("Long", true)
    

    if sell_signal
        strategy.close("Long")

Mehr