Strategi perdagangan tren berdasarkan indikator MACD


Tanggal Pembuatan: 2024-02-02 11:32:48 Akhirnya memodifikasi: 2024-02-02 11:32:48
menyalin: 3 Jumlah klik: 642
1
fokus pada
1617
Pengikut

Strategi perdagangan tren berdasarkan indikator MACD

Ringkasan

Inti dari strategi ini didasarkan pada indikator yang dikembangkan oleh Andrew Abraham dalam artikel yang diterbitkan dalam jurnal Trend Trading Journal, TASC, pada bulan September 1998. Indikator ini menggunakan rentang rata-rata fluktuasi nyata dan saluran harga untuk menentukan arah tren pasar, dan digabungkan dengan indikator MACD untuk memfilter sinyal perdagangan yang bertujuan untuk menangkap tren garis tengah.

Prinsip Strategi

Strategi ini pertama-tama menghitung rata-rata bergerak tertimbang dari rentang pergerakan rata-rata 21 hari (ATR) sebagai rentang pergerakan acuan. Kemudian menghitung harga tertinggi dan terendah selama 21 hari terakhir dan membandingkan harga penutupan K-line saat ini dengan batas atas dan bawah dari rentang pergerakan acuan untuk melihat apakah harga telah menembus saluran dan dengan demikian menentukan arah tren.

Secara khusus, batas atas saluran didefinisikan sebagai harga tertinggi selama 21 hari terakhir dikurangi 3 kali ATR acuan, dan batas bawah saluran adalah harga minimum selama 21 hari terakhir ditambah 3 kali ATR acuan. Ketika harga penutupan lebih tinggi dari batas atas saluran, penilaian sebagai tren bullish; Ketika harga penutupan lebih rendah dari batas bawah saluran, penilaian sebagai tren bullish.

Dalam menentukan arah tren, strategi ini juga memperkenalkan penyaringan pada indikator MACD. Untuk menghindari kehilangan titik beli, sinyal beli hanya dihasilkan ketika garis pilar MACD benar.

Keunggulan Strategis

Strategi ini dikombinasikan dengan penilaian tren dan penyaringan indikator, yang dapat secara efektif menentukan arah tren garis panjang di pasar, dan menghindari tertipu oleh fluktuasi pasar jangka pendek. Keuntungan spesifiknya adalah sebagai berikut:

  1. Menggunakan saluran harga untuk menilai tren, menentukan arah tren garis panjang dengan akurat
  2. Rentang volatilitas acuan dapat disesuaikan secara dinamis dengan perubahan pasar
  3. Filter Indeks MACD untuk Meningkatkan Basis Keputusan dan Menghindari Kehilangan Poin Pembelian
  4. Parameter yang dapat dikonfigurasi, gaya kebijakan yang dapat disesuaikan secara fleksibel

Risiko Strategis

Strategi ini juga memiliki beberapa risiko, terutama dalam hal berikut:

  1. Rentang saluran harga tidak dapat sepenuhnya menghindari risiko penembusan
  2. Indikator MACD dapat menimbulkan risiko sinyal yang menyesatkan
  3. Parameter yang tidak tepat dapat menyebabkan ketidakstabilan strategi

Dalam hal ini, risiko dapat dikurangi dengan pengaturan parameter yang dioptimalkan, pengukuran posisi yang ketat, dan penghentian kerugian yang tepat waktu.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Uji kombinasi parameter yang berbeda untuk mencari parameter terbaik

Kombinasi parameter Length atau Multiplier yang berbeda dapat diuji untuk menemukan kombinasi parameter yang menghasilkan hasil terbaik berdasarkan data pengukuran ulang.

  1. Kombinasi dengan indikator lain Filter signal

Anda dapat menguji RSI, KDJ, dan indikator lainnya untuk memfilter sinyal dan melihat apakah Anda dapat meningkatkan tingkat pengembalian.

  1. Parameter penyesuaian dinamis

Parameter dapat disesuaikan secara dinamis sesuai dengan kondisi pasar, misalnya dengan melebarkan ruang saluran yang tepat saat tren jelas, dan memperketat ruang saluran yang tepat saat gempa.

Meringkaskan

Strategi ini secara keseluruhan merupakan strategi pelacakan tren yang relatif stabil. Ini menggabungkan metode saluran harga untuk menentukan arah tren dan sinyal penyaringan indikator MACD, yang dapat secara efektif menilai tren garis panjang di pasar, menghasilkan keuntungan yang stabil. Dengan pengoptimalan parameter, manajemen risiko, dan koreksi yang tepat, strategi ini dapat menjadi bagian penting dari sistem perdagangan kuantitatif.

Kode Sumber Strategi
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © melihtuna

//@version=1
strategy("Trend Trader Strategy with MACD", overlay=true)

// === Trend Trader Strategy ===
Length = input(21),
Multiplier = input(3, minval=1)
MacdControl = input(true, title="Control 'MACD Histogram is positive?' when Buy condition")
avgTR      = wma(atr(1), Length)
highestC   = highest(Length)
lowestC    = lowest(Length)
hiLimit = highestC[1]-(avgTR[1] * Multiplier)
loLimit = lowestC[1]+(avgTR[1] * Multiplier)
ret = iff(close > hiLimit and close > loLimit, hiLimit,
        iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0)))
pos =	iff(close > ret, 1,
	    iff(close < ret, -1, nz(pos[1], 0))) 
barcolor(pos == -1 ? red: pos == 1 ? green : blue )
plot(ret, color= blue , title="Trend Trader Strategy with MACD")

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2020, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true

// === MACD ===
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdCond= MacdControl ? histLine[0] > 0 ? true : false : true

strategy.entry("BUY", strategy.long, when = window() and pos == 1 and macdCond)
strategy.entry("SELL", strategy.short, when = window() and pos == -1)