Triple EMA dan Strategi Fisher Transform Trend Momentum

TEMA EMA Fisher Transform Zero Line SMA
Tanggal Pembuatan: 2025-02-20 17:41:02 Akhirnya memodifikasi: 2025-02-20 17:41:02
menyalin: 2 Jumlah klik: 415
2
fokus pada
319
Pengikut

Triple EMA dan Strategi Fisher Transform Trend Momentum Triple EMA dan Strategi Fisher Transform Trend Momentum

Ringkasan

Strategi ini menggabungkan dua indikator teknis, yaitu TEMA dan Fisher Transform, untuk menentukan waktu masuk dan keluar dengan mengidentifikasi tren dan sinyal momentum. Sebagai indikator pelacakan tren dengan latensi rendah, TEMA dapat secara efektif mengidentifikasi arah tren pasar, sedangkan Fisher Transform memberikan sinyal momentum yang lebih jelas dengan mengubah perubahan harga menjadi distribusi Gaussian ortogonal.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada dua indikator utama:

  1. Indikator TEMA menggunakan metode penghitungan rata-rata bergerak tiga indeks, mengurangi keterlambatan rata-rata bergerak tradisional melalui rumus “3× EMA - 3× EMA (((EMA) + EMA (((EMA))”, dengan siklus default 21.
  2. Indikator Fisher Transform mengubah data harga ke dalam distribusi normal, dengan parameter default 10, menggunakan transformasi logarithmik setelah pengolahan standar pada harga titik tinggi dan rendah, sehingga sinyal lebih jelas.

Aturan perdagangannya adalah sebagai berikut:

  • Kondisi multi: harga di atas garis TEMA dan Fisher Transform di atas sumbu 0
  • Kondisi kosong: harga melewati garis TEMA dan Fisher Transform melewati 0
  • Berbagai penampilan tunggal: Harga di bawah garis TEMA atau Fisher Transform di bawah 0
  • Tanda kosong: harga di atas garis TEMA atau Fisher Transform di atas sumbu 0

Keunggulan Strategis

  1. Keandalan sinyal yang tinggi: dengan kombinasi indikator tren dan momentum, dapat memfilter sinyal palsu secara efektif
  2. Low latency: TEMA memiliki kecepatan respons yang lebih cepat dibandingkan dengan rata-rata bergerak tradisional
  3. Sinyal jelas: karakteristik distribusi normal dari Transform Fisher membuat sinyal perdagangan lebih jelas
  4. Pengendalian risiko yang sempurna: menetapkan kondisi stop loss yang jelas
  5. Parameter yang dapat disesuaikan: parameter indikator dapat disesuaikan dengan kondisi pasar yang berbeda
  6. Hasil visualisasi yang baik: memberikan tampilan grafik yang jelas

Risiko Strategis

  1. Risiko pasar yang bergejolak: Sinyal breakout palsu yang sering terjadi dapat terjadi di pasar yang bergerak menyamping.
  2. Risiko keterbelakangan: Meskipun TEMA mengurangi keterbelakangan, masih ada tingkat keterlambatan
  3. Sensitivitas parameter: Pengaturan parameter yang berbeda dapat menyebabkan perbedaan besar dalam kinerja strategi
  4. Ketergantungan pada kondisi pasar: strategi yang lebih baik dalam pasar yang jelas berorientasi

Arah optimasi strategi

  1. Memperkenalkan filter fluktuasi: sinyal perdagangan di lingkungan fluktuasi rendah dapat ditambahkan filter indikator ATR
  2. Optimalkan mekanisme penarikan diri: Anda dapat mempertimbangkan untuk memasukkan stop loss atau perlindungan keuntungan yang bergerak
  3. Menambahkan filter waktu: Anda dapat menyesuaikan strategi perdagangan sesuai dengan karakteristik pasar pada periode waktu yang berbeda
  4. Menambahkan konfirmasi volume transaksi: menggabungkan indikator volume transaksi untuk meningkatkan keandalan sinyal
  5. Optimasi parameter dinamis: menyesuaikan parameter indikator secara dinamis sesuai dengan kondisi pasar

Meringkaskan

Ini adalah strategi perdagangan lengkap yang menggabungkan analisis tren dan dinamika, yang digunakan bersama dengan TEMA dan Fisher Transform, yang menjamin kemampuan untuk melacak tren dan memberikan sinyal konfirmasi dinamika yang jelas. Strategi ini dirancang dengan akal sehat dan memiliki kepraktisan yang baik, tetapi dalam aplikasi praktis perlu memperhatikan adaptasi lingkungan pasar dan mengoptimalkan parameter sesuai dengan situasi spesifik.

Kode Sumber Strategi
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-19 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Triple EMA (TEMA) + Fisher Transform Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ==== Triple EMA (TEMA) Settings ====
temaLength = input.int(21, title="TEMA Length", minval=1)

// Implementácia Triple EMA (TEMA)
// TEMA = 3 * EMA(close, length) - 3 * EMA(EMA(close, length), length) + EMA(EMA(EMA(close, length), length), length)
ema1 = ta.ema(close, temaLength)
ema2 = ta.ema(ema1, temaLength)
ema3 = ta.ema(ema2, temaLength)
tema = 3 * ema1 - 3 * ema2 + ema3
plot(tema, color=color.blue, title="TEMA")

// ==== Fisher Transform Settings ====
fisherLength = input.int(10, title="Fisher Length", minval=1)
fisherSmooth = input.int(1, title="Fisher Smoothing", minval=1)  // Zvyčajne sa používa 1 alebo 2

// Výpočet Fisher Transform
// Krok 1: Normalizácia ceny
price = (high + low) / 2
maxPrice = ta.highest(price, fisherLength)
minPrice = ta.lowest(price, fisherLength)
value = 0.5 * (2 * ((price - minPrice) / (maxPrice - minPrice)) - 1)
value := math.min(math.max(value, -0.999), 0.999)  // Orezanie hodnoty pre stabilitu

// Krok 2: Výpočet Fisher Transform
var float fisher = na
fisher := 0.5 * math.log((1 + value) / (1 - value)) + 0.5 * nz(fisher[1])
fisher := fisherSmooth > 1 ? ta.sma(fisher, fisherSmooth) : fisher
plot(fisher, color=color.red, title="Fisher Transform", linewidth=2)

// ==== Strategie Podmienky ====
 // Long Condition: Cena prekročí TEMA smerom nahor a Fisher Transform prekročí 0 smerom nahor
longCondition = ta.crossover(close, tema) and ta.crossover(fisher, 0)
if (longCondition)
    strategy.entry("Long", strategy.long)

 // Short Condition: Cena prekročí TEMA smerom nadol a Fisher Transform prekročí 0 smerom nadol
shortCondition = ta.crossunder(close, tema) and ta.crossunder(fisher, 0)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Long Condition: Cena prekročí TEMA smerom nadol alebo Fisher Transform prekročí 0 smerom nadol
exitLong = ta.crossunder(close, tema) or ta.crossunder(fisher, 0)
if (exitLong)
    strategy.close("Long")

// Exit Short Condition: Cena prekročí TEMA smerom nahor alebo Fisher Transform prekročí 0 smerom nahor
exitShort = ta.crossover(close, tema) or ta.crossover(fisher, 0)
if (exitShort)
    strategy.close("Short")

// ==== Voliteľné: Vykreslenie Zero Line pre Fisher Transform ====
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)