Strategi Konvergensi dan Divergensi Rata-rata Bergerak Logaritmik


Tanggal Pembuatan: 2023-09-21 15:38:05 Akhirnya memodifikasi: 2023-09-21 15:38:05
menyalin: 4 Jumlah klik: 933
1
fokus pada
1621
Pengikut

Ringkasan

Strategi ini didasarkan pada pengumpulan gelombang dispersi indikator Logarithmic MACD untuk menghasilkan sinyal perdagangan. Ini menilai tren dan peluang pasar dengan menghitung diferensial dari rata-rata bergerak logarithmik cepat dan lambat.

Prinsip Strategi

Logika utama dari strategi ini adalah:

  • Hitung rata-rata bergerak cepat (default 12 hari) dan rata-rata bergerak lambat (default 26 hari)

  • MACD adalah diferensial dari keduanya, yang menunjukkan dinamika pasar

  • Garis sinyal adalah rata-rata bergerak MACD (default 9 hari)

  • Ketika MACD line melakukan lebih dari menembus sinyal dari bawah

  • Ketika MACD line jatuh dari atas ke garis sinyal kosong

  • MACD dan perbedaan garis sinyal dalam bentuk grafik pilar

Dibandingkan dengan MACD rata-rata bergerak sederhana, MACD logarithmik dapat menonjolkan tren perubahan pasar pertumbuhan indeks. Setelah konversi logarithmik, nilai yang lebih besar dapat tetap relatif komparatif di grafik.

Keunggulan Strategis

  • Menggunakan konversi logarithmik untuk mendeteksi perubahan harga pada tingkat indeks

  • MACD logis menyoroti informasi pergerakan harga

  • Garis sinyal halus MACD, membentuk sinyal perdagangan

  • MACD pilar secara intuitif menunjukkan arah tren

Risiko Strategis

  • Transformasi logis dapat memperbesar fluktuasi harga

  • Tanda-tanda sering terjadi, mudah diperdagangkan secara berlebihan

  • Tidak mempertimbangkan pengelolaan kerugian, kontrol risiko tidak lengkap

Tindakan yang disesuaikan:

  • Menyesuaikan parameter, menurunkan frekuensi sinyal

  • Meningkatkan kondisi filtrasi untuk menghindari sinyal pada getaran

  • Menetapkan strategi stop loss untuk mengendalikan kerugian tunggal

Arah optimasi strategi

  • Optimalkan parameter untuk meningkatkan stabilitas

  • Cobalah cara lain untuk mengonversi indeks, seperti indeks moving average

  • Kombinasi indikator tren dengan sinyal filter

  • Meningkatkan strategi stop loss

  • Pembelajaran mesin untuk menentukan keandalan sinyal

Meringkaskan

Strategi ini menggunakan konversi logarithmik untuk meningkatkan sensitivitas indikator MACD, sehingga dapat mendeteksi perubahan tren lebih awal. Namun, perlu diperhatikan untuk mengendalikan frekuensi perdagangan. Dengan pengoptimalan parameter, pengendalian angin, dan lain-lain, strategi ini dapat menjadi sistem perdagangan kuantitatif yang stabil dan memiliki kepribadian.

Kode Sumber Strategi
/*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")