Strategi penunjuk T3 berganda pengoptimuman penjejakan arah aliran

T3 TOTT EMA OTT RSI
Tarikh penciptaan: 2025-01-17 14:29:51 Akhirnya diubah suai: 2025-01-17 14:29:51
Salin: 2 Bilangan klik: 368
1
fokus pada
1617
Pengikut

Strategi penunjuk T3 berganda pengoptimuman penjejakan arah aliran

Gambaran keseluruhan

Strategi tersebut ialah sistem mengikut aliran berdasarkan penunjuk Tillson T3 dan Pengikut Trend Dioptimumkan Berkembar (TOTT). Ia mengoptimumkan penjanaan isyarat dagangan dengan menggabungkannya dengan pengayun momentum Williams %R. Strategi ini menggunakan tetapan parameter beli dan jual yang berasingan, yang boleh melaraskan sensitiviti mengikut keadaan pasaran yang berbeza secara fleksibel dan meningkatkan kebolehsuaian strategi.

Prinsip Strategi

Strategi ini terdiri daripada tiga komponen teras:

  1. Penunjuk Tillson T3 - Ini ialah varian purata bergerak eksponen (EMA) yang dioptimumkan yang menghasilkan garis arah aliran yang lebih lancar dengan menimbang berbilang EMA.
  2. Penjejak Aliran Dioptimumkan Berganda (TOTT) - Alat penjejakan arah aliran yang menyesuaikan secara adaptif tindakan harga dan pekali turun naik untuk mengira jalur atas dan bawah bagi keadaan beli dan jual masing-masing.
  3. Penunjuk Williams %R - pengayun momentum yang digunakan untuk mengenal pasti keadaan terlebih beli dan terlebih jual.

Logik penjanaan isyarat dagangan:

  • Syarat pembelian: Apabila garisan T3 menembusi trek TOTT atas dan Williams %R lebih besar daripada -20 (terlebih jual)
  • Syarat jualan: Apabila garisan T3 jatuh di bawah landasan bawah TOTT dan Williams %R lebih besar daripada -70

Kelebihan Strategik

  1. Kestabilan isyarat yang kuat - melalui pemprosesan pelicinan berganda penunjuk T3, risiko terobosan palsu dikurangkan dengan berkesan
  2. Kebolehsuaian yang baik - pemisahan parameter beli dan jual membolehkan pengoptimuman bebas untuk keadaan pasaran yang berbeza
  3. Kawalan risiko yang dipertingkatkan - Integrasikan Williams %R sebagai pengesahan kedua untuk meningkatkan kebolehpercayaan transaksi
  4. Visualisasi yang jelas - Strategi ini menyediakan sokongan visualisasi carta yang komprehensif untuk memudahkan analisis dan pertimbangan

Risiko Strategik

  1. Kelambatan pembalikan arah aliran - pelicinan berganda penunjuk T3 boleh menyebabkan isyarat tertunda
  2. Tidak sesuai untuk pasaran berombak - terlalu banyak isyarat dagangan mungkin dijana semasa dagangan sisi
  3. Kepekaan parameter tinggi - parameter perlu dilaraskan dengan kerap untuk persekitaran pasaran yang berbeza

Cadangan kawalan risiko:

  • Memperkenalkan mekanisme stop loss
  • Tetapkan had volum transaksi
  • Penapis pengesahan trend ditambah

Arah pengoptimuman strategi

  1. Pengoptimuman Parameter Dinamik - Membangunkan mekanisme pelarasan parameter penyesuaian
  2. Tingkatkan pengiktirafan konteks pasaran - perkenalkan penunjuk kekuatan arah aliran
  3. Tingkatkan pengurusan risiko - tambah henti rugi dinamik dan ambil untung
  4. Penapisan isyarat dipertingkat - Sepadukan lebih banyak penunjuk teknikal untuk pengesahan

ringkaskan

Ini adalah strategi mengikut arah aliran dengan struktur lengkap dan logik yang jelas. Dengan menggabungkan penunjuk T3 dan TOTT, dan menapis dengan Williams %R, ia menunjukkan prestasi yang baik dalam pasaran arah aliran. Walaupun terdapat ketinggalan tertentu, strategi ini mempunyai nilai praktikal yang baik dan ruang pengembangan melalui pengoptimuman parameter dan penambahbaikan pengurusan risiko.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-15 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}]
*/

//@version=6
strategy("FON60DK by leventsah", overlay=true)

// Girdi AL
t3_length = input.int(5, title="Tillson Per AL", minval=1)
t3_opt = input.float(0.1, title="Tillson Opt AL", step=0.1, minval=0)
tott_length = input.int(5, title="TOTT Per AL", minval=1)
tott_opt = input.float(0.1, title="TOTT Opt AL", step=0.1, minval=0)
tott_coeff = input.float(0.006, title="TOTT Coeff AL", step=0.001, minval=0)

//GİRDİ SAT
t3_lengthSAT = input.int(5, title="Tillson Per SAT", minval=1)
t3_optSAT = input.float(0.1, title="Tillson Opt SAT", step=0.1, minval=0)
tott_lengthSAT = input.int(5, title="TOTT Per SAT", minval=1)
tott_opt_SAT = input.float(0.1, title="TOTT Opt SAT", step=0.1, minval=0)
tott_coeff_SAT = input.float(0.006, title="TOTT Coeff SAT", step=0.001, minval=0)

william_length = input.int(3, title="William %R Periyodu", minval=1)

// Tillson T3 AL
t3(src, length, opt) =>
    k = 2 / (length + 1)
    ema1 = ta.ema(src, length)
    ema2 = ta.ema(ema1, length)
    ema3 = ta.ema(ema2, length)
    ema4 = ta.ema(ema3, length)
    c1 = -opt * opt * opt
    c2 = 3 * opt * opt + 3 * opt * opt * opt
    c3 = -6 * opt * opt - 3 * opt - 3 * opt * opt * opt
    c4 = 1 + 3 * opt + opt * opt * opt + 3 * opt * opt
    t3_val = c1 * ema4 + c2 * ema3 + c3 * ema2 + c4 * ema1
    t3_val

t3_value = t3(close, t3_length, t3_opt)
t3_valueSAT = t3(close, t3_lengthSAT, t3_optSAT)


// TOTT hesaplaması (Twin Optimized Trend Tracker)
Var_Func(src, length) =>
    valpha = 2 / (length + 1)
    vud1 = math.max(src - src[1], 0)
    vdd1 = math.max(src[1] - src, 0)
    vUD = math.sum(vud1, 9)
    vDD = math.sum(vdd1, 9)
    vCMO = (vUD - vDD) / (vUD + vDD)
    var float VAR = na
    VAR := valpha * math.abs(vCMO) * src + (1 - valpha * math.abs(vCMO)) * nz(VAR[1], src)
    VAR

VAR = Var_Func(close, tott_length)
VAR_SAT = Var_Func(close, tott_lengthSAT)

//LONG 
MAvg = VAR
fark = MAvg * tott_opt * 0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? math.max(longStop, longStopPrev) : longStop
shortStop = MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? math.min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir == 1 ? longStop : shortStop
OTT = MAvg > MT ? MT * (200 + tott_opt) / 200 : MT * (200 - tott_opt) / 200
OTTup = OTT * (1 + tott_coeff)
OTTdn = OTT * (1 - tott_coeff)

//CLOSE
MAvgS = VAR_SAT
farkS = MAvgS * tott_opt_SAT * 0.01
longStopS = MAvgS - farkS
longStopPrevS = nz(longStopS[1], longStopS)
longStopS := MAvgS > longStopPrevS ? math.max(longStopS, longStopPrevS) : longStopS
shortStopS = MAvgS + farkS
shortStopPrevS = nz(shortStopS[1], shortStopS)
shortStopS := MAvgS < shortStopPrevS ? math.min(shortStopS, shortStopPrevS) : shortStopS
dirS = 1
dirS := nz(dirS[1], dirS)
dirS := dirS == -1 and MAvgS > shortStopPrevS ? 1 : dirS == 1 and MAvgS < longStopPrevS ? -1 : dirS
MTS = dirS == 1 ? longStopS : shortStopS
OTTS = MAvgS > MTS ? MTS * (200 + tott_opt_SAT) / 200 : MTS * (200 - tott_opt_SAT) / 200
OTTupS = OTTS * (1 + tott_coeff_SAT)
OTTdnS = OTTS * (1 - tott_coeff_SAT)

// Calculation of Williams %R
williamsR = -100 * (ta.highest(high, william_length) - close) / (ta.highest(high, william_length) - ta.lowest(low, william_length))

// Alım koşulu
longCondition = (t3_value > OTTup) and (williamsR > -20)

// Short koşulu (long pozisyonunu kapatmak için)
shortCondition = (t3_valueSAT < OTTdnS) and (williamsR > -70)

// Alım pozisyonu açma
if (longCondition)
    strategy.entry("Long", strategy.long)

// Short koşulu sağlandığında long pozisyonunu kapama
if (shortCondition)
    strategy.close("Long")


// Alım pozisyonu boyunca barları yeşil yapma
barcolor(strategy.position_size > 0 ? color.green : na)

// Grafikte göstergeleri çizme
plot(t3_value, color=color.blue, linewidth=1, title="Tillson AL")
plot(OTTup, color=color.green, linewidth=1, title="TOTT Up AL")
plot(OTTdn, color=color.red, linewidth=1, title="TOTT Down AL")

// Grafikte göstergeleri çizme
plot(t3_valueSAT, color=color.blue, linewidth=1, title="Tillson SAT")
plot(OTTupS, color=color.green, linewidth=1, title="TOTT Up SAT")
plot(OTTdnS, color=color.red, linewidth=1, title="TOTT Down SAT")