Die drei SMA-Crossover-Momentumsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-12-25 12:06:36
Tags:

img

Übersicht

Die Three SMA Crossover Momentum-Strategie ist eine typische technische Indikatorstrategie, die Markttrends verfolgt. Sie kombiniert einfache gleitende Durchschnitte mit 16-, 36- und 72-Perioden und verwendet ihre bullischen und bärischen Crossovers, um Markttrends zu bestimmen, zusammen mit dem Kaufman Adaptive Moving Average (KAMA) als Filter, um lange oder kurze Positionen einzunehmen, wenn die Trendrichtung relativ klar ist.

Strategie Logik

Die wichtigsten Indikatoren dieser Strategie sind die einfachen gleitenden Durchschnitte von 16-, 36- und 72-Perioden. Wenn der kurzfristige SMA über den längeren Zeitraum nach oben kreuzt, signalisiert er, dass der Markt in einen Aufwärtstrend eintritt. Wenn der kurzfristige SMA unter den längeren Zeitraum nach unten kreuzt, signalisiert er, dass der Markt in einen Abwärtstrend eintritt. Zum Beispiel ist es ein bullisches Signal, wenn der 16-SMA über den 36-SMA und 72-SMA kreuzt. Und wenn der 16-SMA unter den 36-SMA und 72-SMA kreuzt, ist es ein bärisches Signal.

Der Kaufman Adaptive Moving Average (KAMA) dient als Filter, um falsche Signale zu vermeiden, wenn der Trend unklar ist.

Die Strategie verfolgt die SMA-Crossover-Situationen, um lange oder kurze Positionen zu nehmen, wenn der Trend relativ klar ist. Die lange Bedingung ist die 16-SMA-Kreuzung über 36-SMA und 72-SMA mit linearer KAMA. Die kurze Bedingung ist die 16-SMA-Kreuzung unter 36-SMA und 72-SMA mit linearer KAMA.

Analyse der Vorteile

Die Vorteile dieser Strategie sind:

  1. Durch die Kombination von mehrjährigen SMAs können mittelfristige und langfristige Markttrends wirksam verfolgt werden
  2. Die Einführung eines adaptiven gleitenden Durchschnitts als Filter kann falsche Signale reduzieren, wenn der Trend unklar ist
  3. Einfach zu implementieren, geeignet für den automatisierten oder programmierten Handel

Risikoanalyse

Diese Strategie birgt auch einige Risiken:

  1. Häufige unwirksame Signale können aufgrund häufiger SMA-Crossovers auf den Rangiermärkten auftreten.
  2. Keine Stop-Loss eingestellt, Verluste können sich erweitern
  3. Für hochvolatile Krypto-Märkte konzipiert, kann bei weniger volatilen Märkten unterdurchschnittlich sein

Die Risiken könnten reduziert werden, indem die SMA-Parameter angepasst, Stop-Loss-Beschränkungen festgelegt oder nur auf stark volatile Märkte angewendet werden.

Optimierungsrichtlinien

Die Strategie kann wie folgt optimiert werden:

  1. Verschiedene Kombinationen von SMA-Parametern testen, um die optimale
  2. Hinzufügen von Handelsvolumen- oder Volatilitätsindikatoren als zusätzliche Filterbedingungen
  3. Einrichtung von Stop-Loss-Mechanismen
  4. Kombination anderer Indikatoren zur Bestimmung des Eintrittszeitraums
  5. Optimierung der Positionsgröße, Anpassung der Risiken durch schrittweise Erhöhung und Verringerung der Positionen

Schlussfolgerung

Die Three SMA Crossover Momentum-Strategie ist eine eher klassische und praktische Trendfolgestrategie. Sie beurteilt mittelfristige und langfristige Markttrends effektiv durch mehrjährige SMA-Crossovers und filtert etwas Rauschen aus. Sie kann als einer der Zeitrahmen-Referenzindikatoren für den Positionshandel dienen.


/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Wielkieef


//@version=5
strategy(title='Three SMA-crossover strategy [30min] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=10000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

src = close

Length1 = input.int(16, title='  1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(36, title='  2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(72, title='  3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)

Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3

LengthMainSMA = input.int(100, title='  Trend SMA ', minval=1)

SMAas = ta.sma(src, LengthMainSMA)

//  Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(50, title='   KAMA Lenght')
sp = input.bool(true, title='  Self Powered')

er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001

///.

Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray

barcolor(color=Bar_color)

long_cond = Long_ma and SMAas < close and not a_f and close > a

short_cond = Short_ma and SMAas > close and not a_f and close < a
  
long_stop = Short_ma and SMAas < close

short_stop = Long_ma and SMAas > close

SMA1plot = plot(SMA1, color=Bar_color, linewidth=2)
SMA2plot = plot(SMA2, color=Bar_color, linewidth=4)
SMA3plot = plot(SMA3, color=Bar_color, linewidth=2)

fill(SMA1plot,SMA3plot,title="RANGE " ,color = color.new(Bar_color, 50))



if  long_cond
    strategy.entry('Long', strategy.long)

if  short_cond
    strategy.entry('Short', strategy.short)

strategy.close_all(when=long_stop or short_stop)



//by wielkieef

Mehr