Strategi Divergensi Konvergensi Rata-rata Bergerak Logaritma

Penulis:ChaoZhang, Tanggal: 2023-09-21 15:38:05
Tag:

Gambaran umum

Strategi ini menghasilkan sinyal perdagangan menggunakan indikator MACD Logaritma. Ini menghitung perbedaan antara rata-rata bergerak logaritma cepat dan lambat untuk mengukur momentum pasar dan peluang.

Logika Strategi

Logika utamanya adalah:

  • Menghitung MA logaritma cepat (default 12) dan MA logaritma lambat (default 26)

  • Logaritma MACD adalah perbedaan mereka, mengungkapkan momentum pasar

  • Garis sinyal dihaluskan MA dari MACD (default 9)

  • Pergi panjang ketika MACD melintasi sinyal di atas dari bawah

  • Pergi short ketika MACD melintasi di bawah sinyal dari atas

  • Perbedaan sinyal MACD digambarkan sebagai histogram

Dibandingkan dengan MACD sederhana, MACD logaritmik dapat lebih baik menyoroti tren pertumbuhan eksponensial.

Keuntungan

  • Mendeteksi pergerakan harga eksponensial menggunakan transformasi logaritma

  • Log MACD menyoroti informasi fluktuasi harga

  • Garis sinyal meluruskan MACD menjadi sinyal perdagangan

  • Histogram MACD secara intuitif menunjukkan arah tren

Risiko

  • Transformasi log dapat memperkuat kebisingan harga

  • Sinyal yang sering, risiko perdagangan berlebihan

  • Tidak ada manajemen stop loss, kontrol risiko tidak lengkap

Pengurangan:

  • Sesuaikan parameter untuk mengurangi frekuensi sinyal

  • Tambahkan filter untuk menghindari sinyal dalam kondisi bergetar

  • Mengimplementasikan stop loss untuk mengendalikan kerugian per perdagangan

Peluang Peningkatan

  • Mengoptimalkan parameter untuk stabilitas

  • Coba transformasi lain seperti rata-rata bergerak eksponensial

  • Tambahkan filter tren ke sinyal layar

  • Menggabungkan strategi stop loss

  • Menggunakan pembelajaran mesin untuk menilai keandalan sinyal

Kesimpulan

Transformasi logaritma meningkatkan kepekaan MACD untuk deteksi tren awal. Tetapi frekuensi perdagangan harus dikontrol. Dengan optimasi dalam parameter, manajemen risiko dll, strategi ini dapat menjadi sistem kuantitatif yang stabil dan unik.


/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Logarithmic Moving Average Convergence Divergence Strategy", shorttitle="LMACD Strategy")

// Getting inputs
fast_length = input(title="Fast Length",  defval=12)
slow_length = input(title="Slow Length",  defval=26)
src = input(title="Source",  defval=close)
signal_length = input(title="Signal Smoothing",  minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)",  defval=false)
sma_signal = input(title="Simple MA(Signal Line)", defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
lmacd = log(fast_ma) - log(slow_ma)
signal = sma_signal ? sma(lmacd, signal_length) : ema(lmacd, signal_length)
hist = lmacd - signal

plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(lmacd, title="LMACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)

if (crossover(hist, 0))
	strategy.entry("Long", strategy.long, comment="LMACD long")
if (crossunder(hist, 0))
	strategy.entry("Short", strategy.short, comment="LMACD short")

Lebih banyak