Diese Strategie entwirft ein Trend folgendes Handelssystem basierend auf dem gleitenden Durchschnittsindikator T3. Es kann automatisch die Richtung der Preistrends identifizieren und entsprechende Long- oder Short-Positionen einnehmen. Es geht lang, wenn die Preise steigen und kurz, wenn die Preise fallen. Das System hat auch die Funktion des Umkehrhandels.
Die Strategie verwendet den T3-Indikator, um die Richtung des Preistrends zu bestimmen. Der T3-Indikator ist ein adaptiver gleitender Durchschnitt mit höherer Empfindlichkeit, der schneller auf Preisänderungen reagieren kann. Seine Berechnungsformel lautet:
T3 (n) = GD (n)
Hierbei stellt GD den verallgemeinerten DEMA (double exponential moving average) dar, der wie folgt berechnet wird:
GD (n,v) = EMA (n) * (1+v) -EMA (n)) * v
V ist der Volumenfaktor, der die Empfindlichkeit der Reaktion des gleitenden Durchschnitts auf lineare Preistrends bestimmt.
Die Strategie vergleicht den T3-Indikator mit dem Preis. Wenn T3 über den Preis geht, bestimmt es einen Aufwärtstrend und geht lang. Wenn T3 unter den Preis geht, bestimmt es einen Abwärtstrend und geht kurz.
Dies kann durch Anpassung der T3-Parameter oder durch Hinzufügen anderer Indikatoren für die Filtration sowie durch Einstellen von Stoppverlusten zur Kontrolle einzelner Verluste gemildert werden.
Die Strategie bestimmt automatisch die Kursentwicklungsrichtung durch den T3-Indikator, ohne manuelles Urteilen zu benötigen, und kann automatisch lang oder kurz gehen. Sie kann auch für den Umkehrhandel konfiguriert werden, um komplexeren Marktsituationen gerecht zu werden.
/*backtest start: 2023-12-18 00:00:00 end: 2024-01-17 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.00 29/11/2017 // This indicator plots the moving average described in the January, 1998 issue // of S&C, p.57, "Smoothing Techniques for More Accurate Signals", by Tim Tillson. // This indicator plots T3 moving average presented in Figure 4 in the article. // T3 indicator is a moving average which is calculated according to formula: // T3(n) = GD(GD(GD(n))), // where GD - generalized DEMA (Double EMA) and calculating according to this: // GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v, // where "v" is volume factor, which determines how hot the moving average’s response // to linear trends will be. The author advises to use v=0.7. // When v = 0, GD = EMA, and when v = 1, GD = DEMA. In between, GD is a less aggressive // version of DEMA. By using a value for v less than1, trader cure the multiple DEMA // overshoot problem but at the cost of accepting some additional phase delay. // In filter theory terminology, T3 is a six-pole nonlinear Kalman filter. Kalman // filters are ones that use the error — in this case, (time series - EMA(n)) — // to correct themselves. In the realm of technical analysis, these are called adaptive // moving averages; they track the time series more aggres-sively when it is making large // moves. Tim Tillson is a software project manager at Hewlett-Packard, with degrees in // mathematics and computer science. He has privately traded options and equities for 15 years. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="T3 Averages", shorttitle="T3", overlay = true) Length = input(5, minval=1) b = input(0.7, minval=0.01,step=0.01) reverse = input(false, title="Trade reverse") xPrice = close xe1 = ema(xPrice, Length) xe2 = ema(xe1, Length) xe3 = ema(xe2, Length) xe4 = ema(xe3, Length) xe5 = ema(xe4, Length) xe6 = ema(xe5, Length) c1 = -b*b*b c2 = 3*b*b+3*b*b*b c3 = -6*b*b-3*b-3*b*b*b c4 = 1+3*b+b*b*b+3*b*b nT3Average = c1 * xe6 + c2 * xe5 + c3 * xe4 + c4 * xe3 pos = iff(nT3Average > close, -1, iff(nT3Average < close, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nT3Average, color=blue, title="T3")