Strategi Trend Momentum Berdasarkan MACD dan Bollinger Bands

Penulis:ChaoZhang, Tarikh: 2024-02-29 13:49:03
Tag:

img

Ringkasan

Strategi ini dinamakan Momentum Trend. Ia menggabungkan kelebihan penunjuk MACD dan Bollinger Bands untuk melaksanakan strategi penjejakan trend. Strategi ini menggunakan garis cepat MACD dan garis perlahan untuk membina Bollinger Bands. Garis tengah Bollinger Bands adalah garis isyarat MACD. Ia menjadi pendek apabila harga memecahkan rel atas Bollinger Bands dan menjadi panjang apabila harga memecahkan rel bawah Bollinger Bands. Ia menunggu untuk menarik balik untuk menguji garis tengah Bollinger Bands sebelum memasuki pasaran untuk mengesan trend jangka menengah dan panjang.

Prinsip Strategi

Indikator utama strategi ini ialah MACD dan Bollinger Bands. Indikator MACD terdiri daripada garis pantas, garis perlahan dan histogram MACD. Garis pantas biasanya EMA 12 hari dan garis perlahan adalah EMA 26 hari. Perbezaan antara mereka adalah histogram MACD. Strategi ini menggunakan perbezaan antara garis pantas dan garis perlahan sebagai garis tengah asas Bollinger Bands. Rel atas dan bawah ditetapkan di sekitar garis tengah untuk membina Bollinger Bands.

Sinyal beli dihasilkan apabila harga menembusi rel bawah Bollinger Bands ke atas. Sinyal jual dihasilkan apabila harga menembusi rel atas Bollinger Bands ke bawah. Untuk mengurangkan risiko terperangkap dan kehilangan peluang pembalikan, strategi ini tidak memasuki pasaran segera selepas pecah. Sebaliknya, ia menunggu penarikan balik untuk menguji garis tengah Bollinger Bands sebelum memasuki.

Selain itu, rel atas dan bawah juga boleh digunakan sebagai rintangan dan sokongan masing-masing. Apabila harga naik, rel atas adalah rintangan dan rel bawah adalah sokongan. Apabila harga turun, rel atas menjadi sokongan dan rel bawah menjadi rintangan.

Analisis Kelebihan

Strategi ini menggabungkan kelebihan MACD dan Bollinger Bands untuk mencapai penjejakan trend, dengan kekuatan berikut:

  1. MACD mempunyai keupayaan penilaian trend yang kuat. Bollinger Bands dapat menyesuaikan diri secara adaptif. Gabungan ini dapat menentukan titik pembalikan trend dengan berkesan.

  2. Masukan mundur dapat mengelakkan risiko stop loss dengan berkesan dan mengesan trend jangka sederhana dan panjang.

  3. Menggunakan rintangan dan sokongan pada Bollinger Bands boleh mengunci keuntungan lebih lanjut.

  4. Parameter MACD dan Bollinger Bands boleh diselaraskan dengan fleksibel untuk menyesuaikan dengan persekitaran pasaran yang berbeza.

Analisis Risiko

Terdapat juga beberapa risiko yang perlu diperhatikan untuk strategi ini:

  1. Dalam trend berayun, MACD dan Bollinger Bands boleh menghasilkan beberapa isyarat tidak sah. saiz kedudukan perlu dikurangkan kemudian untuk mengelakkan kerugian besar.

  2. Stop loss harus ditetapkan semasa masuk pulback untuk mengelakkan pembesaran kerugian daripada pullback yang terlalu mendalam.

  3. Parameter Bollinger Bands perlu diselaraskan berdasarkan turun naik pasaran.

  4. Pengurusan risiko yang baik dan saiz kedudukan adalah kunci untuk mengekalkan keuntungan untuk strategi ini.

Arahan pengoptimuman

Strategi ini juga boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter MACD kepada garis cepat 8 hari dan garis perlahan 20 hari. Sesuaikan berdasarkan produk dan jangka masa yang berbeza untuk meningkatkan kepekaan penunjuk.

  2. Tambah pertimbangan trend ke atas dan ke bawah untuk mengoptimumkan parameter Bollinger Bands, mengurangkan isyarat palsu dalam pasaran berayun.

  3. Tambah strategi stop loss. Tetapkan garis stop loss dengan Bollinger Bands rel atas dan bawah untuk mengawal risiko.

  4. Masukkan penunjuk lain untuk pengesahan untuk meningkatkan kestabilan strategi.

Kesimpulan

Strategi Trend Momentum berdasarkan MACD dan Bollinger Bands menjejaki trend jangka menengah dan panjang melalui kombinasi penunjuk dan memasuki penarikan balik untuk mengurangkan risiko. Ia mengoptimumkan tetapan parameter dan mengawal risiko. Ia berfungsi dengan baik pada produk trend. Tetapi tidak ada strategi yang sempurna. Kita perlu terus mengoptimumkan dan meningkatkan dari pelbagai perspektif untuk menyesuaikan diri dengan persekitaran pasaran yang sentiasa berubah.


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

//@version=4
//Simple strategy based on MACD and Bollinger Bands, where BBs are calculatend from macd signal.
strategy("Strategy MACD vs BB", overlay=false)

fast_length = input(title="Fast MA period", type=input.integer, defval=8)
slow_length = input(title="Slow MA period", type=input.integer, defval=21)
src = input(close,"Source")


// ----------MA calculation - ChartArt-------------
smoothinput = input(1, minval=1, maxval=4, title='Moving Average Calculation: (1 = SMA), (2 = EMA), (3 = WMA), (4 = Linear)')

fast_ma = smoothinput == 1 ? sma(src, fast_length):smoothinput == 2 ? ema(src, fast_length):smoothinput == 3 ? wma(src, fast_length):smoothinput == 4 ? linreg(src, fast_length,0):na
slow_ma = smoothinput == 1 ? sma(src, slow_length):smoothinput == 2 ? ema(src, slow_length):smoothinput == 3 ? wma(src, slow_length):smoothinput == 4 ? linreg(src, slow_length,0):na
//----------------------------------------------
macd = fast_ma - slow_ma
p1=plot(macd,"macd signal",color=color.blue)
length = input(40, minval=1)
mult = input(2.0,"BB multiplier")

basis = sma(macd, length)
dev = mult * stdev(macd, length)
plot(basis,"BB basis",color=color.orange)
upper = basis + dev
lower = basis - dev
p2=plot(upper,"BB upper",color=color.red)
p3=plot(lower,"BB basis",color=color.green)

longCondition = crossover(macd, lower)
shortCondition = crossunder(macd, upper)

plotshape(longCondition?lower:na, title="Long", style=shape.xcross, location=location.absolute, text="Long", color=color.green, transp=0, size=size.tiny)
plotshape(shortCondition?upper:na, title="Short", style=shape.xcross, location=location.absolute, text="Short", color=color.red, transp=0, size=size.tiny)
fill(p1,p3,color=macd<lower?color.green:na,transp=90,title="support")
fill(p1,p2,color=macd>upper?color.red:na,transp=90,title="resistance")

if longCondition
    strategy.entry("Long",strategy.long)
if shortCondition
    strategy.entry("Short",strategy.short)


Lebih lanjut