Handelsstrategie mit doppelter gleitender Durchschnittsdifferenz


Erstellungsdatum: 2023-10-17 13:54:05 zuletzt geändert: 2023-10-17 13:54:05
Kopie: 0 Klicks: 706
1
konzentrieren Sie sich auf
1617
Anhänger

Handelsstrategie mit doppelter gleitender Durchschnittsdifferenz

Überblick

Die Strategie basiert auf der Differenz zwischen den beiden Moving Averages, um ein Handelssignal zu erzeugen. Sie berechnet die beiden Mittellinien mit schnellen und langsamen Perioden. Wenn die Schnelle die langsame Linie von unten durchbricht, erzeugt sie ein Kaufsignal. Wenn die Schnelle die langsame Linie von oben durchbricht, erzeugt sie ein Verkaufssignal.

Ursprüngliche Analyse

Die Kernlogik der Strategie ist die Berechnung zweier Moving Averages SMA (len1) und SMA (len2) und deren Differenz. Len1 steht für die kurzfristige Durchschnittsperiode und len2 für die langfristige Durchschnittsperiode. Die kurzfristige Durchschnittslinie reagiert schneller auf Preisänderungen und die langfristige Durchschnittslinie reflektiert die langfristigen Trends.

Wenn die kurzfristige Durchschnittslinie von unten durch die langfristige Durchschnittslinie fällt, können Sie kaufen, wenn die kurzfristigen Preise über den langfristigen Trend steigen. Wenn die langfristige Durchschnittslinie von oben nach unten fällt, wenn die kurzfristigen Preise unter den langfristigen Trend fallen, können Sie verkaufen.

Um Fehler zu filtern, führt die Strategie auch out3 als Handelssignallinie ein. out3 ist das Ergebnis einer schlichten Behandlung der Differenzsma zwischen dem kurzfristigen Mittelwert und dem Preismittelwert. Das Handelssignal wird nur erzeugt, wenn out3 die Diff durchläuft.

Die Long-Variante ist positiv, wenn die out3 die Dif nach oben durchquert, um ein Kaufsignal zu erzeugen. Die Short-Variante ist negativ, wenn die out3 die Dif nach unten durchquert, um ein Verkaufssignal zu erzeugen.

Analyse der Stärken

Es ist eine sehr einfache und intuitive Trendverfolgung. Es verwendet eine doppelte Linearzyklus, die eine andere Art von Linearkreuzung verursacht, um Trendwechselpunkte zu erfassen, die zuverlässiger sind als ein einziger Linearsystem. Die Filterung der Handelssignallinien vermeidet zum Teil die falschen Signale, die in den Schaukelmärkten entstehen.

Im Gegensatz zu einem mobilen Stop-Loss nutzt es das Trend-Tracking-Konzept, um maximale Gewinne zu erzielen und wird nicht gestoppt, wenn der Trend länger ist. Gleichzeitig kontrolliert es auch die Verluste und schließt die Position rechtzeitig, wenn der Trend umkehrt.

Die Strategie hat weniger Parameter, ist leicht zu beherrschen und anzupassen und eignet sich als Einstiegsstrategie für Anfänger, die sich mit Algorithmen beschäftigen.

Risiken und Verbesserung

Die größte Gefahr dieser Strategie besteht darin, dass die Periodiparameter der doppelten Mittellinie falsch sind, was zu Handelssignalfehlern führt. Wenn die kurzfristige Mittellinie-Periode len1 zu lang ist, wird die Chance auf die Trendbeginnphase verpasst.

Die optimale Kombination kann erreicht werden, indem man die Parameter von len1 und len2 anpasst, und man kann auch versuchen, eine dynamische Anpassungsphase einzuführen, die sich an die Gleichung anpasst. Zusätzlich kann man auch die Falschsignale reduzieren, indem man die Filterparameter optimiert.

Eine Trend-Tracking-Strategie muss auch darauf achten, die Größe der einzelnen Verluste zu kontrollieren. Sie kann Stop-Loss-Punkte einrichten oder Positionsmanagement einführen, um diese zu optimieren.

Zusammenfassen

Die Doppel-Gleichgewichts-Differenz-Strategie ist ein sehr typischer Trend-Tracking-Strategie-Vertreter. Ihr einfaches Doppel-Gleichgewichts-Kreuzungssystem bietet eine stabile Signalquelle, die in Kombination mit Filtern wirksam von Marktschwankungen beeinträchtigt wird. Eine bessere Strategie-Performance kann durch die Optimierung der Gleichgewichts-Perioden-Parameter erzielt werden.

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

//by afrazium
//@version=3
strategy(title="SMA Diff strat", shorttitle="SMAD STR", overlay=false, initial_capital=1, precision=8, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills= false, calc_on_every_tick=false, pyramiding=0)
len1 = input(50, minval=1, title="Length1"), len2 = input(100, minval=1, title="Length2"), smo = input(1, minval=1, title="Smoothing")
src = input(ohlc4, title="Source")

mid = src
expr1 = sma(src, len1), expr2 = sma(src, len2)
dif = (expr1 - expr2), out1 = (mid - expr1), out2 = (mid - expr2), out3 = sma(out1, smo)

long = crossover(out3, dif) ? out3 : na, short = crossunder(out3, dif) ? out3 : na

plot(out3, color=black, linewidth=2), hline(0)
clr = out2 >= out1 ? lime : red, plot(dif, color=clr, linewidth=2)
plot(long, title = 'Crossover', color = green, style = circles, linewidth=4), plot(short, title = 'Crossunder', color = red, style = circles, linewidth=4)

strategy.entry("buy", strategy.long, when=crossover(out1, dif))
strategy.close("buy", when=crossunder(out1, dif))

//plot(out2, color=blue, linewidth=2)
//A = plot(mid/10, color=red, linewidth=1, transp=100), B = plot(mid/20, color=red, linewidth=1, transp=100)
//C = plot(-mid/10, color=green, linewidth=1, transp=100), D = plot(-mid/20, color=green, linewidth=1, transp=100)
//fill(A, B, color=red), fill(C, D, color=green)