
Die Triple-Cross-Equilibrium-Strategie ist eine typische Technische Kennziffer-Strategie, um Markttrends zu verfolgen. Sie kombiniert drei einfache Moving Averages mit 16 Perioden, 36 Perioden und 72 Perioden, um Markttrends durch ihre Mehrkopf- und Blankkopf-Kreuzung zu beurteilen, und kombiniert Kaufmanns Adaptive Moving Average als Filter, um zu viel oder zu wenig zu tun, wenn die Richtung des Trends deutlich ist.
Der Kern der Strategie sind die drei einfachen Moving Averages mit 16-, 36- und 72-Perioden. Wenn der kurze Periodenmittel über den längeren Periodenmittel geht, ist der Markt in einen Mehrkopftrend; wenn der kurze Periodenmittel unter dem längeren Periodenmittel geht, ist der Markt in einen Hohltrend. Wenn beispielsweise der 16-Periodenmittel 36 und 72 durchläuft, ist dies ein Mehrkopfsignal; wenn der 16-Periodenmittel 36 und 72 durchläuft, ist dies ein Hohltrend.
Kaufmanns Adaptive Moving Average (KAMA) wird als Filter verwendet, um Fehlsignale bei unklaren Trends zu vermeiden. Das Gleichlinik-Kreuzsignal wird nur aktiviert und ausgeführt, wenn KAMA sich im Nicht-Beschleunigungs- oder Nicht-Verzögerungsmodus befindet (d.h. in einem linearen Abschnitt).
Die Strategie verfolgt die Kreuzung der Mittellinie, indem sie bei einem klaren Trend einen Plus- oder einen Minus-Operation ausführt. Die Plus-Bedingung besteht darin, dass 16 die 36-Mittellinie und 72 die Mittellinie auf der Mittellinie durchläuft und KAMA-linear ist (nicht beschleunigt); die Minus-Bedingung besteht darin, dass 16 die 36-Mittellinie und 72 die Mittellinie unter der Mittellinie durchläuft und KAMA-linear ist (nicht verlangsamt).
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Das Risiko kann durch eine angemessene Anpassung der Mittelwertparameter verringert werden, indem eine Stop-Loss-Strategie eingerichtet wird oder diese Strategie nur in stark volatilen Märkten eingesetzt wird.
Die Strategie kann auf folgende Weise optimiert werden:
Die Drei-Gleichgewichts-Kreuz-Dynamik-Strategie ist insgesamt eine eher klassische und praktische Trend-Tracking-Strategie. Sie beurteilt die langen Bewegungen in den Märkten durch die Kreuzung von mehreren Zeiträumen und filtert effektiv einige Geräusche. Sie kann als einer der Referenzindikatoren für den zeitlichen Handel verwendet werden. Die Strategie hat jedoch auch eine gewisse Schwäche, die weiter ausgebaut und optimiert werden muss, um in einem breiteren Markt neutral zu sein.
/*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