Strategi pengoptimalan pelacakan tren indikator T3 ganda

T3 TOTT EMA OTT RSI
Tanggal Pembuatan: 2025-01-17 14:29:51 Akhirnya memodifikasi: 2025-01-17 14:29:51
menyalin: 2 Jumlah klik: 368
1
fokus pada
1617
Pengikut

Strategi pengoptimalan pelacakan tren indikator T3 ganda

Ringkasan

Strategi ini adalah sistem mengikuti tren yang berdasarkan indikator Tillson T3 dan Twin Optimized Trend Follower (TOTT). Mengoptimalkan pembangkitan sinyal perdagangan dengan menggabungkannya dengan osilator momentum Williams %R. Strategi ini menggunakan pengaturan parameter beli dan jual yang terpisah, yang dapat secara fleksibel menyesuaikan sensitivitas menurut kondisi pasar yang berbeda dan meningkatkan kemampuan beradaptasi strategi.

Prinsip Strategi

Strategi ini terdiri dari tiga komponen inti:

  1. Indikator Tillson T3 - Ini adalah varian rata-rata pergerakan eksponensial (EMA) yang dioptimalkan yang menghasilkan garis tren yang lebih halus dengan memberi bobot pada beberapa EMA.
  2. Double Optimized Trend Tracker (TOTT) - Alat pelacak tren yang secara adaptif menyesuaikan aksi harga dan koefisien volatilitas untuk menghitung batas atas dan bawah masing-masing untuk kondisi beli dan jual.
  3. Indikator Williams %R - osilator momentum yang digunakan untuk mengidentifikasi kondisi jenuh beli dan jenuh jual.

Logika pembuatan sinyal perdagangan:

  • Kondisi pembelian: Ketika garis T3 menembus jalur TOTT atas dan Williams %R lebih besar dari -20 (oversold)
  • Kondisi penjualan: Ketika garis T3 jatuh di bawah jalur bawah TOTT dan Williams %R lebih besar dari -70

Keunggulan Strategis

  1. Stabilitas sinyal yang kuat - melalui beberapa pemrosesan penghalusan indikator T3, risiko terobosan palsu secara efektif dikurangi
  2. Kemampuan beradaptasi yang baik - pemisahan parameter beli dan jual memungkinkan pengoptimalan independen untuk kondisi pasar yang berbeda
  3. Peningkatan kontrol risiko - Integrasikan Williams %R sebagai konfirmasi sekunder untuk meningkatkan keandalan transaksi
  4. Visualisasi yang jelas - Strategi ini menyediakan dukungan visualisasi grafik yang komprehensif untuk memfasilitasi analisis dan penilaian

Risiko Strategis

  1. Pembalikan tren tertunda - penghalusan ganda indikator T3 dapat menyebabkan sinyal tertunda
  2. Tidak cocok untuk pasar yang berombak - terlalu banyak sinyal perdagangan dapat dihasilkan selama perdagangan menyamping
  3. Sensitivitas parameter tinggi - parameter perlu disesuaikan secara berkala untuk lingkungan pasar yang berbeda

Saran pengendalian risiko:

  • Memperkenalkan mekanisme stop loss
  • Tetapkan batas volume transaksi
  • Menambahkan filter konfirmasi tren

Arah optimasi strategi

  1. Optimasi parameter dinamis - mengembangkan mekanisme penyesuaian parameter adaptif
  2. Meningkatkan pengenalan konteks pasar - memperkenalkan indikator kekuatan tren
  3. Tingkatkan manajemen risiko - tambahkan stop loss dan take profit yang dinamis
  4. Penyaringan sinyal yang ditingkatkan - Integrasikan lebih banyak indikator teknis untuk konfirmasi

Meringkaskan

Ini adalah strategi mengikuti tren dengan struktur lengkap dan logika yang jelas. Dengan menggabungkan indikator T3 dan TOTT, dan menyaringnya dengan Williams %R, alat ini berkinerja baik di pasar yang sedang tren. Meskipun ada keterlambatan tertentu, strategi ini memiliki nilai praktis dan ruang ekspansi yang baik melalui optimalisasi parameter dan peningkatan manajemen risiko.

Kode 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")