Tren MACD Mengikuti Strategi

Penulis:ChaoZhangTanggal: 2024-03-29 15:14:18
Tag:

img

Gambaran umum

MACD Trend Following Strategy adalah strategi perdagangan kuantitatif yang didasarkan pada indikator MACD. Ide utama dari strategi ini adalah menggunakan sinyal golden cross dan death cross dari indikator MACD untuk menentukan arah tren dan menetapkan posisi panjang atau pendek pada waktu yang tepat. Ketika garis MACD melintasi di atas garis sinyal dan di atas sumbu nol, posisi panjang dibuka; ketika garis MACD melintasi di bawah garis sinyal dan di bawah sumbu nol, posisi pendek dibuka. Strategi ini menggunakan titik terendah terbaru sebagai stop loss untuk posisi panjang dan titik tertinggi terbaru sebagai stop loss untuk posisi pendek. Kondisi penutupan adalah ketika garis MACD melintasi garis sinyal ke arah yang berlawanan.

Prinsip Strategi

Prinsip inti dari strategi MACD Trend Following adalah menggunakan indikator MACD untuk menangkap pembentukan dan pembalikan tren. Indikator MACD terdiri dari perbedaan antara dua rata-rata bergerak (cepat dan lambat) dan digunakan bersamaan dengan garis sinyal untuk menghasilkan sinyal perdagangan. Ketika garis MACD melintasi di atas garis sinyal dan di atas sumbu nol, itu menunjukkan tren naik terbentuk, dan posisi panjang dibuka. Ketika garis MACD melintasi di bawah garis sinyal dan di bawah sumbu nol, itu menunjukkan tren menurun terbentuk, dan posisi pendek dibuka. Strategi menggunakan titik terendah MAC yang paling signifikan terbaru sebagai stop loss untuk posisi panjang dan titik tertinggi yang paling signifikan terbaru sebagai stop loss untuk posisi pendek untuk mengendalikan risiko. Ketika sinyal MACD melintasi garis ke arah yang berlawanan, posisi saat ini ditutup.

Keuntungan Strategi

  1. Strategi Mengikuti Tren MACD dapat secara efektif menangkap peluang tren dengan menetapkan posisi di awal pembentukan tren, memanfaatkan momentum tren sepenuhnya.

  2. Strategi ini menggunakan MACD golden/death cross dan sumbu nol sebagai kondisi penyaringan, yang dapat lebih baik menyaring sinyal palsu di pasar yang berosilasi.

  3. Strategi ini menggunakan titik tertinggi dan terendah yang signifikan terbaru sebagai tingkat stop loss, yang dapat mengendalikan eksposur risiko dari satu perdagangan.

  4. Logika strategi jelas, mudah dimengerti dan diimplementasikan, sehingga cocok untuk pemula untuk belajar.

Risiko Strategi

  1. Indikator MACD pada dasarnya merupakan indikator yang tertinggal, yang dapat mengalami penurunan yang signifikan pada awal pembalikan tren.

  2. Strategi ini dapat menghasilkan perdagangan yang sering di pasar yang berosilasi, yang mengarah pada biaya transaksi yang tinggi.

  3. Penentuan tingkat stop loss tergantung pada titik tertinggi dan terendah yang signifikan terbaru, yang dapat mengakibatkan stop loss yang dini atau tertunda dalam situasi tertentu.

  4. Strategi ini tidak mempertimbangkan ukuran posisi dan manajemen uang, yang perlu dioptimalkan berdasarkan keadaan khusus dalam aplikasi praktis.

Arah Optimasi Strategi

  1. Pertimbangkan untuk memperkenalkan indikator teknis lain atau pola perilaku harga sebagai kondisi penyaringan untuk meningkatkan keandalan dan akurasi sinyal.

  2. Mengoptimalkan metode pengaturan tingkat stop loss, seperti menggunakan ATR atau stop loss berbasis persentase, untuk mengontrol risiko dengan lebih baik.

  3. Memperkenalkan ukuran posisi dan mekanisme pengelolaan uang untuk menyesuaikan ukuran posisi secara dinamis berdasarkan volatilitas pasar dan ekuitas akun.

  4. Mengoptimalkan dan menyesuaikan parameter untuk pasar dan instrumen perdagangan yang berbeda untuk menemukan kombinasi parameter yang paling cocok.

Ringkasan

Strategi Mengikuti Tren MACD adalah strategi perdagangan kuantitatif yang sederhana dan efektif yang menangkap peluang tren dengan memanfaatkan karakteristik indikator MACD. Strategi ini memiliki logika yang jelas, mudah dimengerti dan diimplementasikan, sehingga cocok untuk pemula untuk dipelajari. Namun, dalam aplikasi praktis, perhatian perlu dibayar untuk pengendalian risiko, dan harus dikombinasikan dengan metode lain untuk pengoptimalan dan peningkatan untuk mencapai kinerja perdagangan yang lebih kuat.


/*backtest
start: 2023-03-23 00:00:00
end: 2024-03-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD trendfollow", shorttitle="MACD TF", overlay=true)
// switch = input(true, title="Enable MACD Bar Color")
// X001TK MACD trendfollow Strategy
//
// 
// This strategy combines the non standart approach in MACD strategy to buy once to buy when the MACD value goes above Signal line and a zero line, to sell on the opposite condition.
//
//
// This strategy goes long if the MACD (3,9,5) goes above its Signal and above zero
//
// You can set Stop loss on the recent lowest low when long position is opened and recent highest hugh in short
// 
//
// Exit rule is simple. We close the LONG position once MACD goes below Signal line and close SHORT on the opposite condition 
//
// 
// 
//
// Input
fastMAlen = input(3, minval=1, title="MACD fast moving average")
slowMAlen = input(9,minval=1, title="MACD slow moving average")
signalMACDlen = input(5,minval=1, title="MACD signal line moving average")
// switch = input(true, title="Enable MACD Bar Color")
length = input(1, minval=1)



// === 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 = 2002, title = "From Year", minval = 2000)
ToMonth   = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2029, title = "To Year", minval = 2017)



// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 00, 00)        // backtest finish window
window()  => true // create function "within window of time"

// MACD Calculation
MACD = ema(close, fastMAlen) - ema(close, slowMAlen)
signalMACD = ema(MACD, signalMACDlen)
delta = MACD - signalMACD
fastMA = ema(close,fastMAlen)
slowMA = ema(close,slowMAlen)


// Colors
//bartrendcolor = MACD > signalMACD and MACD > 0? green : MACD < signalMACD and MACD < 0? red : MACD < signalMACD? gray :  gray 
//barcolor(switch?bartrendcolor:na)

barcolour=(MACD > signalMACD and MACD > 0)?#53B987:(MACD < signalMACD and MACD < 0)?#EB4D5C:na
barcolor(color=barcolour)


// === STRATEGY ===
// conditions

longCond =  MACD > signalMACD and MACD > 0 
XlongCond = MACD < signalMACD 
ShortCond = MACD < signalMACD and MACD < 0 
XShortCond = MACD > signalMACD 





strategy.entry("long", strategy.long, when=longCond==true and window()==true )
//strategy.exit(id="Close Long", stop=longStop)//, limit=longTake)
strategy.close("long", when=XlongCond==true and window()==true)
strategy.entry("short", strategy.short,  when=ShortCond==true and window()==true )
//strategy.exit(id="Close Short", stop=shortStop)//, limit=shortTake)
strategy.close("short", when=XShortCond==true and window()==true)

// === /STRATEGY ===

Lebih banyak