
Strategi ini adalah strategi perdagangan berbalik dinamik berdasarkan MACD. Ia menghasilkan MACD dengan mengira perbezaan antara purata bergerak cepat dan purata bergerak perlahan. Apabila MACD bertukar positif, ia menghasilkan isyarat jual. Apabila MACD bertukar negatif, ia menghasilkan isyarat beli.
Penunjuk teras strategi ini adalah MACD, yang terdiri daripada purata bergerak cepat, purata bergerak perlahan, dan garis isyarat. Pertama, EMA cepat dan EMA perlahan dikira, parameter EMA cepat ditetapkan untuk 12 hari, parameter EMA perlahan ditetapkan untuk 26 hari, dan kemudian mengira perbezaan antara keduanya sebagai penunjuk MACD. Penunjuk MACD mencerminkan trend perubahan harga saham melalui konsep momentum, apabila kenaikan EMA cepat lebih besar daripada EMA perlahan, menyatakan bahawa saham berada dalam trend naik, MACD adalah positif; sebaliknya, saham berada dalam trend menurun, MACD adalah negatif.
Untuk menyaring kebisingan, strategi ini memperkenalkan penunjuk garis isyarat, untuk memproses MACD dengan lebih halus. Parameter garis isyarat ditetapkan sebagai EMA 9 hari. Akhirnya, mengira perbezaan antara MACD dan garis isyarat sebagai isyarat perdagangan.
Strategi ini mempunyai kelebihan utama:
Menggunakan penunjuk MACD untuk menentukan titik perubahan harga saham, dapat menangkap peluang untuk perubahan harga saham dalam jangka pendek.
Digabungkan dengan pemprosesan saluran isyarat yang lancar, penapis sebahagian daripada isyarat urus niaga bising, mengurangkan isyarat palsu.
Parameter strategi boleh ditetapkan secara bebas, pedagang boleh menyesuaikan parameter mengikut keadaan sebenar, dan bertindak balas dengan fleksibel terhadap perubahan pasaran.
Logik pengiraan mudah difahami, mudah difahami, sesuai untuk pemula belajar penyelidikan.
Ia mempunyai pelbagai set penunjuk dan isyarat, ruang yang luas untuk pengoptimuman strategi, dan kemampuan yang kuat untuk berkembang.
Strategi ini juga mempunyai risiko:
Ia mungkin meningkatkan frekuensi transaksi dan kos transaksi kerana menjejaki perubahan harga saham dalam jangka pendek.
Indeks MACD mudah menghasilkan isyarat palsu semasa harga saham naik atau turun secara unilateral dalam jangka masa yang panjang.
Jika parameter tidak betul, isyarat akan terlewat dan mungkin akan terlepas titik masuk terbaik.
Strategi ini agak mudah, tetapi ia akan mengurangkan kesan dagangan dalam keadaan pasaran yang rumit.
Untuk mengatasi risiko tersebut, anda boleh melakukan beberapa perkara berikut:
Parameter pengoptimuman untuk mengurangkan frekuensi transaksi. Sebagai contoh, parameter kitaran garis isyarat yang lebih besar.
Menambah syarat penapisan untuk mengelakkan terkurung dalam trend jangka panjang. Sebagai contoh, untuk menilai trend jangka pendek panjang dalam kombinasi dengan petunjuk pengesanan lain.
Gunakan senarai harga terhad untuk mencari harga terbaik.
Menambah faktor-faktor untuk menilai keadaan pasaran, mengelakkan dagangan di pasaran yang tidak normal.
Strategi ini boleh dioptimumkan dengan:
Mengoptimumkan parameter MACD dan parameter garis isyarat untuk mencari kombinasi parameter yang terbaik.
Menambah petunjuk tambahan untuk menilai trend jangka pendek dan jangka panjang, mengelakkan dagangan berlawanan. Contohnya, penambahan petunjuk purata bergerak, petunjuk Bollinger Bands dan sebagainya.
Gabungan dengan penunjuk jumlah transaksi, seperti penunjuk arus tenaga, untuk mengelakkan penembusan palsu.
Menetapkan parameter berdasarkan ciri-ciri saham yang berbeza, menjadikan strategi lebih fleksibel.
Meningkatkan harga penangguhan kerugian dan penangguhan harga, mengawal kerugian tunggal dan tahap keuntungan.
Menilai kualiti saham, seperti indeks kewangan, perubahan penarafan, dan lain-lain, dan memilih kolam saham yang berkualiti.
Langkah-langkah pengoptimuman ini dapat meningkatkan kestabilan, kemenangan dan tahap keuntungan strategi. Ia juga menjadi asas untuk pembangunan dan penambahbaikan strategi yang berterusan.
Strategi ini adalah strategi perdagangan berbalik jangka pendek yang tipikal. Ia menggunakan indikator MACD yang mudah dan jelas yang mencerminkan perubahan pergerakan saham, dan dibantu dengan garis isyarat untuk menentukan titik masuk tertentu. Dengan parameter yang sesuai, anda dapat mengambil peluang untuk berbalik harga jangka pendek dan memperoleh keuntungan tambahan.
Sudah tentu, tidak ada petunjuk tunggal dan strategi mudah yang dapat disesuaikan dengan pelbagai keadaan pasaran yang kompleks. Pelabur harus berhati-hati dengan risiko, memilih strategi mengikut keadaan dan pilihan risiko mereka sendiri, dan juga harus terus memperhatikan keadaan pasaran, mengoptimumkan parameter strategi dan peraturan perdagangan.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//study(title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")
strategy (title="MACD Strategy by Sedkur", shorttitle="MACD Strategy by Sedkur")
// Getting inputs
dyear = input(title="Year", type=input.integer, defval=2017, minval=1950, maxval=2500)
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
buyh = input(title="Buy histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
sellh = input(title="Sell histogram value", type=input.float, defval=0.0, minval=-1000, maxval=1000, step=0.1)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, 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)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
plot(hist, title="Histogram", style=plot.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(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
strategy.entry("buy", strategy.long, comment="buy", when = hist[1] <= hist and buyh<=hist and year>=dyear)
strategy.entry("sell", strategy.short, comment="sell", when = hist[1] >= hist and sellh>=hist and year>=dyear)