Strategi Dagangan Crossover MACD

Penulis:ChaoZhang, Tarikh: 2024-01-05 15:32:06
Tag:

img

Ringkasan

Strategi perdagangan persilangan MACD adalah strategi yang mengikuti trend. Ia menggunakan persilangan garis purata bergerak pantas dan perlahan sebagai isyarat beli dan jual. Apabila garis purata bergerak pantas melintasi di atas garis purata bergerak perlahan, isyarat beli dihasilkan. Apabila garis purata bergerak pantas melintasi di bawah garis purata bergerak perlahan, isyarat jual dihasilkan.

Prinsip Strategi

Indikator MACD adalah perbezaan antara dua garis purata bergerak dengan parameter yang berbeza, yang mencerminkan perubahan dalam momentum harga. Khususnya, ia adalah perbezaan antara garis purata bergerak pantas (parameter lalai adalah garis 12 hari) dan garis purata bergerak perlahan (parameter lalai adalah garis 26 hari), yang dipanggil bar MACD. Untuk menghapuskan goyangan, penunjuk MACD juga memperkenalkan garis DEA atau garis isyarat, biasanya purata bergerak bertimbang 9 hari MACD.

Apabila bar MACD menembusi garis DEA dari bawah ke atas dan memasuki kawasan positif, ia menunjukkan bahawa garis purata jangka pendek melintasi di atas garis purata jangka panjang, menunjukkan bahawa trend harga bertukar ke atas dan isyarat beli dihasilkan.

Strategi ini menggunakan persilangan bar MACD dan garis DEA untuk menentukan masa pembelian dan penjualan. Ia membeli apabila bar MACD melintasi di atas garis DEA dan menjual apabila bar MACD melintasi di bawah garis DEA.

Analisis Kelebihan

Kelebihan strategi ini termasuk:

  1. Keupayaan untuk mengikuti trend dan menangkap perubahan harga dengan tepat pada masanya.
  2. Mudah dan mudah difahami dan dilaksanakan.
  3. Parameter yang agak tetap tanpa pelarasan yang kerap.
  4. Berlaku untuk jangka masa yang berbeza.

Analisis Risiko

Strategi ini juga mempunyai beberapa risiko:

  1. Boleh menghasilkan beberapa isyarat palsu atau whipsaws di pasaran sampingan.
  2. Mempunyai sedikit kelewatan dan mungkin terlepas masa terbaik perubahan harga.
  3. Parameter mudah dioptimumkan dan hasil sebenar mungkin buruk.

Untuk mengurangkan risiko, parameter boleh diselaraskan, atau digabungkan dengan penunjuk lain seperti penunjuk jumlah dan turun naik.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Pengoptimuman parameter untuk mencari parameter optimum sambil mengelakkan pengoptimuman berlebihan.

  2. Menggabungkan dengan penunjuk lain untuk membentuk strategi gabungan yang lebih kuat.

  3. Menetapkan titik stop loss dan mengambil keuntungan yang betul untuk mengawal risiko dengan berkesan.

  4. Pengoptimuman penyesuaian untuk menerapkan strategi ini ke pasaran dan jangka masa yang berbeza berdasarkan keadaan sebenar.

Kesimpulan

Strategi perdagangan silang MACD menangkap perubahan trend dengan kos yang rendah dengan mengikuti trend harga. Ia mudah, praktikal dan mudah dilaksanakan, menjadikannya strategi permulaan yang sesuai untuk pemula. Tetapi strategi ini juga mempunyai beberapa kelemahan. Dengan sentiasa mengoptimumkan dan meningkatkan, kesan sebenar strategi ini boleh menjadi lebih baik. Ia bernilai disyorkan.


/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MACD Strategy by Forbes",default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=false)

fastLength = input(20)
slowlength = input(40)
MACDLength = input(4)

// === INPUT BACKTEST RANGE ===
FromYear  = input(defval = 2011, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth   = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

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

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350

f1 = plot(MACD,color=red)
s1 = plot(aMACD,color=blue)
plotColor = if delta > 0
    delta > delta[1] ? lime : green
else 
    delta < delta[1] ? maroon : red

plot(delta, color=plotColor, style=columns)

if (crossover(delta, 0))
    strategy.entry("Buy", true, when=window(), comment="Buy")

if (crossunder(delta, 0))
    strategy.close_all(when=window())

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Lebih lanjut