Trend MACD Mengikut Strategi

Penulis:ChaoZhang, Tarikh: 2024-03-29 15:14:18
Tag:

img

Ringkasan

MACD Trend Following Strategy adalah strategi perdagangan kuantitatif berdasarkan penunjuk MACD. Idea utama strategi ini adalah menggunakan isyarat salib emas dan salib kematian penunjuk MACD untuk menentukan arah trend dan menubuhkan kedudukan panjang atau pendek pada masa yang sesuai. Apabila garis MACD melintasi di atas garis isyarat dan di atas paksi sifar, kedudukan panjang dibuka; apabila garis MACD melintasi di bawah garis isyarat dan di bawah paksi sifar, kedudukan pendek dibuka. Strategi ini menggunakan titik terendah terkini sebagai stop loss untuk kedudukan panjang dan titik tertinggi terkini sebagai stop loss untuk kedudukan pendek. Keadaan penutupan adalah apabila garis MACD melintasi garis isyarat ke arah yang bertentangan.

Prinsip Strategi

Prinsip utama Strategi Pengikut Trend MACD adalah menggunakan penunjuk MACD untuk menangkap pembentukan dan pembalikan trend. Penunjuk MACD terdiri daripada perbezaan antara dua purata bergerak (cepat dan perlahan) dan digunakan bersama dengan garis isyarat untuk menjana isyarat perdagangan. Apabila garis MACD melintasi di atas garis isyarat dan di atas paksi sifar, ia menunjukkan trend menaik, dan kedudukan panjang dibuka. Apabila garis MACD melintasi di bawah garis isyarat dan di bawah paksi sifar, ia menunjukkan trend menurun, dan kedudukan pendek dibuka. Strategi menggunakan titik terendah MAC yang paling signifikan terkini sebagai stop loss untuk kedudukan panjang dan titik tinggi yang paling signifikan terkini sebagai kerugian untuk kedudukan pendek untuk mengawal risiko. Apabila garis MACD melintasi garis menaik ke arah yang bertentangan, kedudukan semasa ditutup.

Kelebihan Strategi

  1. Strategi Mengikuti Trend MACD dapat menangkap peluang trend dengan berkesan dengan menubuhkan kedudukan pada permulaan pembentukan trend, memanfaatkan sepenuhnya momentum trend.

  2. Strategi ini menggunakan kedua-dua persilangan emas / kematian MACD dan paksi sifar sebagai keadaan penapisan, yang dapat menapis isyarat palsu dengan lebih baik dalam pasaran yang berayun.

  3. Strategi ini menggunakan titik tertinggi dan terendah yang paling penting sebagai tahap stop loss, yang boleh mengawal pendedahan risiko perdagangan tunggal.

  4. Logik strategi adalah jelas, mudah difahami dan dilaksanakan, menjadikannya sesuai untuk pemula untuk belajar.

Risiko Strategi

  1. Indikator MACD pada dasarnya adalah penunjuk yang ketinggalan, yang mungkin mengalami penurunan yang ketara pada permulaan pembalikan trend.

  2. Strategi ini boleh menghasilkan perdagangan yang kerap di pasaran yang berayun, yang membawa kepada kos transaksi yang tinggi.

  3. Penentuan tahap stop loss bergantung kepada titik tertinggi dan terendah yang paling penting baru-baru ini, yang boleh mengakibatkan stop loss yang lebih awal atau tertunda dalam situasi tertentu.

  4. Strategi ini tidak mempertimbangkan saiz kedudukan dan pengurusan wang, yang perlu dioptimumkan berdasarkan keadaan khusus dalam aplikasi praktikal.

Arahan Pengoptimuman Strategi

  1. Pertimbangkan untuk memperkenalkan penunjuk teknikal lain atau corak tingkah laku harga sebagai syarat penapisan untuk meningkatkan kebolehpercayaan dan ketepatan isyarat.

  2. Mengoptimumkan kaedah menetapkan tahap stop loss, seperti menggunakan ATR atau stop loss berasaskan peratusan, untuk mengawal risiko dengan lebih baik.

  3. Memperkenalkan ukuran kedudukan dan mekanisme pengurusan wang untuk menyesuaikan saiz kedudukan secara dinamik berdasarkan turun naik pasaran dan ekuiti akaun.

  4. Mengoptimumkan dan menyesuaikan parameter untuk pasaran dan instrumen perdagangan yang berbeza untuk mencari kombinasi parameter yang paling sesuai.

Ringkasan

Strategi Mengikuti Trend MACD adalah strategi perdagangan kuantitatif yang mudah dan berkesan yang menangkap peluang trend dengan memanfaatkan ciri-ciri penunjuk MACD. Strategi ini mempunyai logika yang jelas, mudah difahami dan dilaksanakan, menjadikannya sesuai untuk dipelajari oleh pemula. Walau bagaimanapun, dalam aplikasi praktikal, perhatian perlu diberikan kepada kawalan risiko, dan harus digabungkan dengan kaedah lain untuk pengoptimuman dan peningkatan untuk mencapai prestasi perdagangan yang lebih kukuh.


/*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 lanjut