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.
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.
Die Vorteile dieser Strategie sind:
Diese Strategie birgt auch einige Risiken:
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.
Die Strategie kann wie folgt optimiert werden:
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