Triple EMA dan Fisher Transform Strategi Momentum Trend

TEMA EMA Fisher Transform Zero Line SMA
Tarikh penciptaan: 2025-02-20 17:41:02 Akhirnya diubah suai: 2025-02-20 17:41:02
Salin: 2 Bilangan klik: 415
2
fokus pada
319
Pengikut

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

Gambaran keseluruhan

Strategi ini menggabungkan TEMA dan Fisher Transform, dua petunjuk teknikal untuk menentukan masa masuk dan keluar dengan mengenal pasti trend dan isyarat momentum. TEMA, sebagai penunjuk trend yang mempunyai kelewatan rendah, dapat mengenal pasti arah trend pasaran dengan berkesan, manakala Fisher Transform memberikan isyarat momentum yang lebih jelas dengan menukar perubahan harga ke dalam distribusi Gaussian normal.

Prinsip Strategi

Logik utama strategi ini adalah berdasarkan kepada dua petanda utama:

  1. Indikator TEMA menggunakan kaedah pengiraan purata bergerak tiga indeks, dengan formula “3 × EMA - 3 × EMA (((EMA) + EMA (((EMA)) ” yang mengurangkan keterlambatan purata bergerak tradisional, dengan kitaran lalai 21 .
  2. Penunjuk Fisher Transform mengubah data harga ke dalam sebaran normal, parameter lalai adalah 10, dengan menggunakan transformasi logaritma selepas pemprosesan piawaian pada harga tinggi dan rendah, untuk membuat isyarat lebih jelas.

Peraturan perdagangan adalah seperti berikut:

  • Buat banyak syarat: harga melalui garisan TEMA dan Fisher Transform melalui 0 axis
  • Keadaan kosong: Harga melalui garis TEMA dan melalui 0-axis di bawah Fisher Transform
  • Perlawanan berganda: Harga di bawah garis TEMA atau 0 di bawah Transform Fisher
  • Borang kosong keluar: harga melalui garisan TEMA atau Fisher Transform melalui 0 axis

Kelebihan Strategik

  1. Kebolehpercayaan isyarat yang tinggi: dapat menyaring isyarat palsu dengan berkesan dengan menggabungkan indikator trend dan momentum
  2. Kelewatan rendah: TEMA mempunyai kelajuan tindak balas yang lebih cepat berbanding purata bergerak tradisional
  3. Isyarat jelas: ciri-ciri pengedaran normal Fisher Transform menjadikan isyarat dagangan lebih jelas
  4. Pengendalian risiko yang sempurna: menetapkan syarat-syarat yang jelas untuk menghentikan kerugian
  5. Parameter boleh disesuaikan: parameter penunjuk boleh disesuaikan dengan keadaan pasaran yang berbeza
  6. Kesan visual yang baik: memberikan gambaran grafik yang jelas

Risiko Strategik

  1. Risiko pasaran tidak menentu: Isyarat pelarian palsu yang kerap mungkin berlaku dalam pasaran sisi.
  2. Risiko keterbelakangan: Walaupun TEMA mengurangkan keterbelakangan, masih terdapat beberapa kelewatan
  3. Kepekaan parameter: Tetapan parameter yang berbeza boleh membawa kepada perbezaan besar dalam prestasi strategi
  4. Ketergantungan kepada keadaan pasaran: strategi yang lebih baik dalam pasaran yang menunjukkan trend

Arah pengoptimuman strategi

  1. Memperkenalkan penapis kadar turun naik: isyarat dagangan dalam persekitaran turun naik yang rendah boleh ditambahkan penapis penunjuk ATR
  2. Optimumkan mekanisme keluar: boleh dipertimbangkan untuk memasukkan mekanisme henti rugi atau perlindungan keuntungan
  3. Menambah penapis masa: strategi perdagangan boleh disesuaikan dengan ciri-ciri pasaran untuk tempoh masa yang berbeza
  4. Penambahan pengesahan jumlah transaksi: penambahan jumlah transaksi untuk meningkatkan kebolehpercayaan isyarat
  5. Pengoptimuman parameter dinamik: menyesuaikan parameter penunjuk secara dinamik mengikut keadaan pasaran

ringkaskan

Ini adalah strategi perdagangan lengkap yang menggabungkan trend dan analisis momentum, yang digunakan bersama-sama dengan TEMA dan Fisher Transform, yang menjamin keupayaan untuk mengesan trend dan memberikan isyarat pengesahan dinamik yang jelas. Reka bentuk strategi adalah munasabah dan mempunyai kepraktisan yang baik, tetapi dalam aplikasi sebenar, perhatian perlu diberikan kepada kesesuaian dengan persekitaran pasaran dan pengoptimuman parameter mengikut keadaan tertentu.

Kod 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)