Strategi ini adalah strategi untuk mengesan trend yang menggunakan pelbagai bingkai masa untuk menyesuaikan diri dengan prinsip persilangan garis rata-rata bergerak. Strategi ini menggunakan garis cepat, garis lambat dan indikator MACD untuk membuat keputusan isyarat perdagangan pada masa yang sama, dengan tujuan untuk mendapatkan keuntungan tambahan dari trend garis panjang dan tengah.
Strategi ini adalah berasaskan gabungan dua sistem persimpangan rata-rata bergerak dengan indikator MACD. Sistem persimpangan rata-rata bergerak terdiri daripada EMA garis cepat dan EMA garis lambat, yang mengira rata-rata jangka pendek dan rata-rata jangka panjang. Apabila garis cepat melintasi garis perlahan, ia menghasilkan isyarat beli yang menunjukkan pergerakan telah bertukar dari turun ke bawah, dan kedudukan multi-head boleh ditubuhkan. Apabila garis cepat melintasi garis perlahan, ia menghasilkan isyarat jual yang menunjukkan pergerakan telah bertukar dari turun ke bawah, dan kedudukan boleh dikeluarkan.
Strategi ini menggabungkan penghakiman trend dua garis rata-rata bergerak dan isyarat peralihan momentum MACD, sambil mendapatkan keuntungan dari trend garis tengah dan panjang. Secara khusus, apabila melintasi garis perlahan pada garis cepat, jika tiang MACD bertukar hijau pada masa yang sama, ia menghasilkan isyarat yang lebih kuat. Sebaliknya, apabila melintasi garis perlahan di bawah garis cepat, jika tiang MACD bertukar merah pada masa yang sama, ia menghasilkan isyarat kosong yang lebih kuat.
Di samping itu, strategi ini juga memperkenalkan fungsi penyesuaian parameter. Semasa pengoptimuman parameter, kitaran garis cepat, kitaran garis lambat dan parameter MACD akan disesuaikan secara automatik mengikut kesan tempoh masa yang berbeza untuk memastikan strategi dapat mencapai prestasi yang baik dalam keadaan yang berbeza.
Menggabungkan sistem dua hala dan penunjuk MACD, mengintegrasikan pelbagai faktor untuk membuat keputusan, mengelakkan gangguan isyarat palsu.
Menggunakan fungsi parameter penyesuaian diri, membolehkan strategi menyesuaikan parameter secara dinamik untuk menyesuaikan diri dengan perubahan pasaran, dan secara automatik mengoptimumkan keputusan perdagangan.
Untuk lebih memahami trend garis tengah dan panjang, saringlah kebocoran palsu di pasaran yang bergolak, dan dapatkan keuntungan tambahan dalam keadaan trend.
Menggunakan analisis jangka masa, ia dapat mengenal pasti arah trend pada tahap yang lebih besar.
Logik strategi jelas dan mudah, struktur kod dioptimumkan, mudah difahami dan diubah suai, disesuaikan dengan keperluan yang berbeza.
Sistem dua hala mempunyai risiko whipsaw karton, tidak sesuai untuk keadaan gegaran, saham dan tempoh masa yang lebih jelas trend harus dipilih.
MACD mempunyai keterbelakangan, tidak sesuai untuk mengesan trend perubahan mendadak, dan harus digunakan bersama-sama dengan petunjuk lain.
Pengoptimuman parameter memerlukan kitaran pengesanan yang cukup besar, dan penilaian risiko yang ketat, untuk mengelakkan kecocokan berlebihan.
Apabila memegang kedudukan garis panjang, anda perlu memberi perhatian kepada risiko sistematik yang disebabkan oleh kejadian yang tidak dijangka, dan menghentikan kerosakan pada waktu yang tepat.
Ada kemungkinan fungsi parameter penyesuaian diri terlalu dioptimumkan, perlu disahkan dengan baik, dan mengelakkan penyesuaian parameter terlalu kerap.
Anda boleh menguji kombinasi garis rata-rata yang berbeza dengan memilih parameter garis rata-rata yang dapat menapis bunyi bising dan mengikuti trend.
Anda boleh menguji pelbagai set parameter MACD untuk mencari set parameter yang dapat memberi tumpuan kepada titik peralihan trend.
Indikator trend boleh digunakan sebagai penapis untuk menghentikan perdagangan apabila trend tidak jelas dan mengelakkan whipsaw.
Mekanisme henti kerugian boleh diperkenalkan, menetapkan henti kerugian bergerak atau henti kerugian, mengawal kerugian tunggal.
Anda boleh cuba untuk memasukkan algoritma pembelajaran mesin, menggunakan lebih banyak parameter latihan data untuk menyesuaikan peraturan, meningkatkan kestabilan strategi.
Arbitrage pelbagai jenis boleh dicuba, membentuk portfolio perdagangan di antara jenis yang berkaitan, untuk menyebarkan risiko sistemik pasaran.
Strategi ini mengintegrasikan dua penyambung rata-rata bergerak dan indikator momentum MACD, mewujudkan gabungan organik trend pemantauan dan kawalan irama. Pengenalan parameter penyesuaian menjadikan strategi lebih kasar dan dapat menyesuaikan diri dengan perubahan pasaran. Berbanding dengan strategi satu indikator, strategi ini membentuk kesan keputusan yang lebih kuat, yang dapat memperoleh keuntungan perdagangan yang lebih banyak dalam trend garis panjang dan tengah.
/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// To enable alerts: Change 'Strategy' to read 'Study' below and you also need to comment out lines 43 and 47 - Strategy code
// strategy(title="Riz Coloured MACD", shorttitle="Riz MACD" , initial_capital=5000, default_qty_value=3 )
//study(title="Riz Coloured MACD", shorttitle="Riz MACD")
source = close
fastLength = input(21, minval=1), slowLength=input(55,minval=1)
signalLength=input(9,minval=1)
MACDCandlesCheckedBack=input(6,minval=1)
MACDTolerance=input(4,minval=1)
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
hist = macd - signal
// ====== BASIC COLOURING - IF HISTOGRAM IS HIGHER THAN PREVIOUS 2 CANDLES THEN WE ARE TICKING UP and VISA VERSA ============//
isTickingUp = hist > hist[1] and hist > hist[2] //and hist > hist[3]
isTickingDown = hist < hist[1] and hist < hist[2] // and hist < hist[3]
// ======= MACD STRATEGY CODE ========== //
// Check if MACD is ticking in the right direction to take a trade - adding 1 at the end means it starts at -1 so not to include the current candle
MACDHistHighestHigh= highest(hist, MACDCandlesCheckedBack)[1]
MACDHistLowestLow = lowest(hist, MACDCandlesCheckedBack)[1]
MACDConfirmsLong() => (hist - MACDHistLowestLow) > MACDTolerance
MACDConfirmsShort() => (MACDHistHighestHigh - hist) > MACDTolerance
plot(macd, title="MACD", color=blue, linewidth=3)
plot(signal, title="SIGNAL", color=orange, linewidth=3)
// === SIMPLE COLOURING BASED ON LAST 2 CANDLES - EASY TO REFERENCE IN DAY TO DAY MACD USE ====//
plot(hist, title="HIST", color=isTickingDown ? fuchsia : isTickingUp ? lime : green, linewidth=3, style=histogram)
// ==== ALTERNATIVE COLOURING FOR PLOT BASED ON STRATEGY SETTINGS INSTEAD
//plot(hist, title="HIST", color=MACDConfirmsLong() ? lime : MACDConfirmsShort() ? fuchsia : green, linewidth=3, style=histogram)
// === STRATEGY - ENTER POSITIONS - COMMENT OUT TO ENABLE ALERTS === //
strategy.entry(id = "Long", long = true, when = MACDConfirmsLong()) // use function to decide when to go long
strategy.entry(id = "Short", long = false, when = MACDConfirmsShort())
// === CREATE ALERT CONDITIONS === //
alertup = MACDConfirmsLong()
alertdown = MACDConfirmsShort()
alertcondition(alertup, title='MACD Long', message='Riz MACD says go LONG!')
alertcondition(alertdown, title='MACD Short', message='Riz MACD says go SHORT!')