Strategi ini merancang sistem perdagangan mengikut trend berdasarkan penunjuk purata bergerak T3. Ia boleh mengenal pasti arah trend harga secara automatik dan mengambil kedudukan panjang atau pendek yang sesuai. Ia pergi lama apabila harga naik dan pergi pendek apabila harga jatuh. Sistem ini juga mempunyai fungsi perdagangan pembalikan.
Strategi ini menggunakan penunjuk T3 untuk menentukan arah trend harga. Penunjuk T3 adalah purata bergerak adaptif dengan kepekaan yang lebih tinggi yang dapat bertindak balas terhadap perubahan harga dengan lebih cepat. Rumus penghitungannya adalah:
T3 (n) = GD (n)
Di mana GD mewakili DEMA umum (peringkat purata bergerak eksponensial berganda), yang dikira sebagai:
GD (n,v) = EMA (n) * (1+v) -EMA (n)) * v
v ialah faktor jumlah, yang menentukan kepekaan tindak balas purata bergerak
Strategi ini membandingkan penunjuk T3 dengan harga. Apabila T3 melintasi di atas harga, ia menentukan trend harga menaik dan pergi panjang. Apabila T3 melintasi di bawah harga, ia menentukan trend harga menurun dan pergi pendek.
Ini boleh dikurangkan dengan menyesuaikan parameter T3 atau menambah penunjuk lain untuk penapisan, serta menetapkan stop loss untuk mengawal kehilangan tunggal.
Strategi ini secara automatik menentukan arah trend harga melalui penunjuk T3, tanpa memerlukan penghakiman manual, dan boleh secara automatik pergi panjang atau pendek. Ia juga boleh dikonfigurasi untuk perdagangan pembalikan untuk mengatasi situasi pasaran yang lebih kompleks. Terdapat ruang untuk mengoptimumkan parameter, logika perdagangan dan lain-lain untuk membuat strategi berfungsi lebih baik.
/*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")