Strategi Penumpuan Purata Pergerakan Logaritma dan Divergens


Tarikh penciptaan: 2023-09-21 15:38:05 Akhirnya diubah suai: 2023-09-21 15:38:05
Salin: 4 Bilangan klik: 929
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini adalah berdasarkan kepada Logarithmic MACD yang menghasilkan isyarat perdagangan. Ia menilai trend dan peluang pasaran dengan mengira perbezaan antara purata bergerak logarithmik yang cepat dan perlahan.

Prinsip Strategi

Logik utama strategi ini ialah:

  • Hitung purata bergerak logaritma pantas (default 12 hari) dan purata bergerak logaritma perlahan (default 26 hari)

  • MACD ialah perbezaan antara kedua-duanya, yang menunjukkan pergerakan pasaran

  • Garis isyarat adalah purata bergerak licin MACD (default 9 hari)

  • Apabila MACD line melakukan lebih apabila ia menembusi saluran isyarat dari bawah

  • kosong apabila MACD line jatuh dari atas ke bawah garis isyarat

  • Menggunakan bentuk grafik tiang untuk menyatakan perbezaan MACD dan garis isyarat

Berbanding MACD purata bergerak sederhana, MACD logar dapat menonjolkan perubahan trend di pasaran pertumbuhan indeks. Selepas penukaran logar, nilai yang lebih banyak turun naik dapat disimpan secara relatif pada carta.

Kelebihan Strategik

  • Menggunakan penukaran logaritma untuk mengesan perubahan harga di peringkat indeks

  • MACD logarithmik yang menonjolkan maklumat pergerakan harga

  • Garis isyarat halus MACD, membentuk isyarat dagangan

  • MACD bertiang secara intuitif menunjukkan arah trend

Risiko Strategik

  • Penukaran logar mungkin meningkatkan pergerakan harga

  • Tanda-tanda yang kerap dan mudah untuk berdagang berlebihan

  • Tidak mempertimbangkan pengurusan hentian kerugian, kawalan risiko tidak lengkap

Langkah-langkah yang diambil:

  • Menyesuaikan parameter, mengurangkan frekuensi isyarat

  • Menambah syarat penapisan untuk mengelakkan isyarat di dalam gegaran

  • Tetapkan strategi hentikan kerugian dan kawal kerugian tunggal

Arah pengoptimuman strategi

  • Optimumkan parameter untuk meningkatkan kestabilan

  • Cubalah dengan penukaran indeks lain, seperti purata bergerak indeks

  • Tanda penapis gabungan trend

  • Meningkatkan strategi hentikan kerugian

  • Pembelajaran mesin untuk menilai kebolehpercayaan isyarat

ringkaskan

Strategi ini menggunakan penukaran logar meningkatkan kepekaan penunjuk MACD, dapat mengesan perubahan trend lebih awal. Tetapi perlu berhati-hati untuk mengawal frekuensi perdagangan. Dengan peningkatan parameter pengoptimuman, kawalan angin, dan lain-lain, strategi ini dapat menjadi sistem perdagangan kuantitatif yang stabil dan mempunyai keperibadian.

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