
Strategi mengikuti trend MACD adalah strategi perdagangan kuantitatif berdasarkan indikator MACD. Idea utama strategi ini adalah menggunakan isyarat garpu emas dan garpu mati indikator MACD untuk menentukan arah trend dan menetapkan kedudukan overhead atau overhead pada masa yang sesuai. Apabila MACD melintasi garis isyarat dan melintasi 0 sumbu, membuka kedudukan overhead; apabila MACD melintasi garis isyarat dan melintasi 0 sumbu, membuka kedudukan overhead.
Prinsip utama strategi pengesanan trend MACD adalah menggunakan indikator MACD untuk menangkap pembentukan dan pembalikan trend. Indikator MACD terdiri daripada perbezaan dua garis rata-rata (rata-rata cepat dan rata-rata lambat) dan bekerja dengan garis isyarat untuk menghasilkan isyarat perdagangan. Apabila MACD melintasi garis isyarat dan melintasi 0-axis, menunjukkan pembentukan trend naik, maka membuka kedudukan teratas. Apabila MACD melintasi garis bawah dan melintasi 0-axis, menunjukkan pembentukan trend turun, maka membuka kedudukan teratas.
Strategi pengesanan trend MACD dapat menangkap peluang trend secara berkesan, meletakkan posisi pada awal pembentukan trend, memanfaatkan sepenuhnya tenaga trend.
Strategi ini juga menggunakan MACD Gold Fork Dead Fork dan 0 Axis sebagai syarat penapisan, yang lebih baik untuk menapis isyarat palsu di pasaran yang bergolak.
Strategi ini menggunakan titik tinggi dan rendah yang ketara sebagai titik berhenti kerugian, yang dapat mengawal risiko perdagangan tunggal.
Strategi logik yang jelas, mudah difahami dan dilaksanakan, sesuai untuk pelajar pemula.
Indeks MACD pada dasarnya adalah indikator yang ketinggalan zaman, yang mungkin akan mengalami pengunduran yang lebih besar pada awal pembalikan trend.
Taktik ini boleh menyebabkan perdagangan yang kerap berlaku dalam pasaran yang bergolak, menyebabkan kos dagangan yang lebih tinggi.
Tetapan stop loss bergantung pada titik tinggi dan rendah yang ketara, dan dalam beberapa kes, ia mungkin terlambat atau terlambat.
Strategi ini tidak mempertimbangkan pengurusan kedudukan dan pengurusan wang, yang perlu dioptimumkan dalam aplikasi sebenar dengan keadaan tertentu.
Anda boleh mempertimbangkan untuk memperkenalkan petunjuk teknikal lain atau pola tingkah laku harga sebagai syarat penapisan untuk meningkatkan kebolehpercayaan dan ketepatan isyarat.
Mengoptimumkan kaedah penetapan stop loss, seperti menggunakan ATR atau peratusan stop loss, untuk mengawal risiko dengan lebih baik.
Memperkenalkan mekanisme pengurusan kedudukan dan pengurusan wang, menyesuaikan saiz kedudukan secara dinamik mengikut turun naik pasaran dan ekuiti akaun.
Mengoptimumkan dan menyesuaikan parameter untuk pasaran dan tanda dagangan yang berbeza untuk mencari kombinasi parameter yang paling sesuai.
Strategi mengikuti trend MACD adalah strategi perdagangan kuantitatif yang mudah dan berkesan untuk menangkap peluang yang sedang berkembang dengan memanfaatkan ciri-ciri penunjuk MACD. Strategi ini logiknya jelas, mudah difahami dan dilaksanakan, sesuai untuk pelajar pemula. Tetapi dalam aplikasi praktikal, perhatian perlu diberikan untuk mengawal risiko, dan digabungkan dengan kaedah lain untuk pengoptimuman dan penambahbaikan untuk prestasi perdagangan yang lebih stabil.
/*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 ===