
Strategi ini memanfaatkan sepenuhnya fungsi penilaian trend garisan rata dan penilaian overbought dan oversold di Brin Belt, ditambah dengan T3 untuk meluruskan garisan rata penapis getaran, untuk menilai bentuk tepat pada masanya dan masuk ke dalam medan ketika trend bertukar, menggunakan Brin Belt untuk mengenal pasti kawasan overbought dan oversold di kawasan getaran untuk melakukan operasi terbalik, untuk mencapai perdagangan garis pendek.
Strategi ini menggunakan tiga kumpulan rata-rata untuk mengenal pasti trend dan membuat keputusan isyarat perdagangan. Pertama, rata-rata T3, yang berfungsi sebagai gelombang dengan beberapa kali indeks yang lancar, yang dapat menyaring pergerakan harga dengan berkesan, untuk menentukan arah trend. Kemudian, rata-rata pertengahan, di mana rata-rata SMA panjang 20 digunakan untuk menentukan arah trend pertengahan.
Sinyal perdagangan adalah untuk menilai apabila garis purata pertengahan berlaku garpu emas untuk melakukan lebih banyak dalam trend naik, dan apabila garis purata pertengahan berlaku garpu mati dalam trend menurun untuk melakukan kosong. Selain itu, juga menggunakan Brin untuk menilai keadaan di bawah, jika harga menembusi atas akan mempertimbangkan berhenti, jika melanggar bawah akan mempertimbangkan berhenti.
Khususnya, syarat untuk melakukan lebih banyak adalah melalui garis rata-rata pertengahan T3 pada garis rata-rata pertengahan, dan garis cepat lebih besar daripada garis lambat, setelah melakukan lebih banyak jika harga menembusi garis Brin di atas atau di bawah garis rata-rata pertengahan T3 rata-rata, pertimbangan berhenti; syarat untuk melakukan kosong adalah melalui garis rata-rata pertengahan T3 di bawah garis rata-rata, dan garis cepat lebih kecil daripada garis perlahan, selepas melakukan kosong jika harga jatuh di bawah garis Brin atau di atas garis rata-rata pertengahan T3 pertimbangan berhenti.
Kaedah pengoptimuman:
Secara keseluruhan, strategi ini menggunakan garis rata untuk menilai trend secara sistematik, menggunakan kawasan overbought dan oversold untuk mengenal pasti kawasan overbought dan oversold, dapat menilai bentuk dalam masa yang tepat apabila trend bertukar, dan dapat mengawal risiko dengan berkesan. Tetapi perlu berhati-hati untuk menyesuaikan dan mengoptimumkan parameter untuk benar-benar menggunakan kesan strategi.
/*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))