Strategi ini menggunakan sepenuhnya pertimbangan trend purata bergerak dan pertimbangan overbought / oversold Bollinger Bands. Dengan penyelarasan purata bergerak T3, ia dapat mengenal pasti pembalikan trend tepat pada masanya dan memasuki pasaran. Di zon osilasi, ia menggunakan Bollinger Bands untuk mengenal pasti kawasan overbought / oversold untuk perdagangan trend lawan. Jadi ia merealisasikan perdagangan jangka pendek.
Strategi ini terutamanya menggunakan tiga kumpulan purata bergerak untuk mengenal pasti trend dan menjana isyarat perdagangan. Pertama adalah purata bergerak T3, yang boleh menapis turun naik harga melalui penyelarasan eksponensial dan menilai arah trend. Kedua adalah purata bergerak jangka menengah, di sini menggunakan SMA 20 tempoh untuk menentukan trend jangka menengah. Terakhir adalah purata bergerak pantas dan perlahan, purata bergerak T3 50 tempoh dan 200 tempoh masing-masing. Apabila garis pantas lebih besar daripada garis perlahan, ia menunjukkan trend menaik, jika tidak, trend menurun.
Isyarat dagangan dihasilkan apabila SMA jangka menengah melintasi T3 jangka menengah ke atas yang digabungkan dengan trend menaik, pergi panjang. Apabila SMA jangka menengah melintasi di bawah T3 jangka menengah ke bawah yang digabungkan dengan trend menurun, pergi pendek. Di samping itu, Bollinger Bands boleh digunakan untuk mengambil keuntungan dan menghentikan kerugian. Jika harga menembusi jalur atas, pertimbangkan mengambil keuntungan. Jika harga menembusi jalur bawah, pertimbangkan berhenti kerugian.
Secara khusus, syarat panjang adalah SMA pertengahan melintasi T3 tengah ke atas, dan MA pantas lebih besar daripada MA perlahan. Jika harga memecahkan pita Bollinger atas atau SMA tengah melintasi di bawah T3, pertimbangkan untuk mengambil keuntungan. Syarat pendek adalah SMA tengah melintasi di bawah T3 tengah ke bawah, dan MA pantas kurang daripada MA perlahan. Jika harga memecahkan pita Bollinger bawah atau SMA tengah melintasi di atas T3, pertimbangkan stop loss.
Penambahbaikan:
Ringkasnya, strategi ini menggunakan purata bergerak secara sistematik untuk menentukan trend, dan mengenal pasti tahap overbought / oversold dengan Bollinger Bands. Ia boleh memasuki pasaran tepat pada masanya pada pembalikan trend, dan juga mengawal risiko dengan berkesan.
/*backtest start: 2023-10-25 00:00:00 end: 2023-11-01 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle="BB T3 Strategy", title="BB T3 Strategy", overlay=true) //T3 b = 0.7 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 t3(len) => c1 * ema(ema(ema(ema(ema(ema(close, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(close, len), len), len), len), len) + c3 * ema(ema(ema(ema(close, len), len), len), len) + c4 * ema(ema(ema(close, len), len), len) //T3 end length = input(20, minval=1) mult = input(2.5, minval=0.001, maxval=50, title="StdDev") basis = t3(length) basisDev = t3(length/10) dev = mult * stdev(basisDev,length) upper = basis + dev lower = basis - dev offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500) plot(basis, "Basis", color=#872323, offset = offset) p1 = plot(upper, "Upper", color=color.teal, offset = offset) p2 = plot(lower, "Lower", color=color.teal, offset = offset) fill(p1, p2, title = "Background", color=#198787, transp=95) stoploss = input(true, "Stop Loss") basisSma = sma(close, length) p3 = plot(basisSma, color=color.blue, title="MA", offset=offset) fastT3 = t3(50) slowT3 = t3(200) crossUp = crossover(basisSma, basis) crossDown = crossunder(basisSma, basis) bollBounce = crossover(close, upper) bollReject = crossunder(close, lower) underBasis = crossunder(close, basis) overBasis = crossover(close, basis) trendUp = fastT3 > slowT3 trendDown = fastT3 < slowT3 strategy.entry("long", strategy.long, when=(trendUp and crossUp), stop=(stoploss ? high+syminfo.mintick : na)) strategy.close("long", when=(bollBounce or crossDown or underBasis)) strategy.entry("short", strategy.short, when=(trendDown and crossDown), stop=(stoploss ? low-syminfo.mintick : na)) strategy.close("short", when=(bollReject or crossUp or overBasis))