
Strategi ini direka bentuk berdasarkan T3 Moving Average Indicator, sebuah sistem perdagangan yang mengesan trend. Sistem ini dapat mengenal pasti arah trend harga secara automatik dan melakukan lebih banyak penyingkiran dengan sewajarnya.
Strategi ini menggunakan indikator T3 untuk menentukan arah trend harga. Indikator T3 adalah purata bergerak yang beradaptasi, ia mempunyai kepekaan yang lebih tinggi dan dapat bertindak balas dengan lebih cepat terhadap perubahan harga.
T3(n) = GD(GD(GD(n)))
Di antaranya, GD mewakili DEMA dalam erti kata luas, dan formula pengiraan adalah:
GD(n,v) = EMA(n) * (1+v)-EMA(EMA(n)) * v
v adalah faktor jisim yang menentukan sensitiviti tindak balas purata bergerak terhadap trend harga linear. Apabila v = 0, GD = EMA; apabila v = 1, GD = DEMA. Penulis mencadangkan untuk menetapkan v = 0.7
Strategi ini membandingkan indikator T3 dengan harga, menilai harga sebagai tren naik apabila T3 di atas harga, melakukan lebih banyak; menilai harga sebagai tren turun apabila T3 di bawah harga, melakukan lebih banyak.
Anda boleh mengurangkan kesilapan perdagangan dengan menyesuaikan parameter T3 atau menambahkan penapis untuk indikator lain. Anda juga boleh menetapkan stop loss untuk mengawal kerugian tunggal.
Strategi ini menggunakan petunjuk T3 untuk menentukan arah trend harga secara automatik, tanpa penilaian manual, dan dapat melakukan banyak kerja kosong secara automatik. Selain itu, logik perdagangan terbalik dapat dikonfigurasi untuk menghadapi keadaan pasaran yang lebih kompleks.
/*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")