Strategi ini menghasilkan sinyal perdagangan dengan menghitung indikator MACD dari indikator OBV untuk menentukan tren dan titik infleksi momentum OBV. Ide utamanya adalah untuk menghasilkan sinyal beli ketika histogram OBV MACD menembus sumbu 0 dari wilayah negatif ke wilayah positif, dan untuk menghasilkan sinyal jual ketika menembus sumbu 0 dari wilayah positif ke wilayah negatif.
Indikator OBV dapat mencerminkan tren momentum saham dengan menganalisis secara statistik hubungan antara perubahan arah harga penutupan dan volume perdagangan selama periode waktu untuk menentukan apakah momentum naik menguat atau melemah. Indikator MACD menunjukkan perbedaan antara rata-rata bergerak yang berbeda untuk mencerminkan momentum perubahan harga. Oleh karena itu, dengan menggabungkan indikator momentum OBV dan indikator momentum MACD, tren perubahan momentum dapat dinilai dengan lebih jelas.
Secara khusus, strategi ini pertama kali menghitung indikator OBV, yang menghitung garis momentum OBV dengan menganalisis secara statistik hubungan antara perubahan arah harga penutupan dan volume perdagangan selama periode waktu tertentu. Kemudian, berdasarkan garis momentum OBV, indikator MACDnya dihitung, termasuk garis MACD, garis sinyal dan histogram. Akhirnya, ketika histogram macd menembus sumbu 0 dari wilayah negatif ke wilayah positif, sinyal beli dihasilkan; ketika histogram menembus sumbu 0 dari wilayah positif ke wilayah negatif, sinyal jual dihasilkan.
Dengan cara ini, MACD secara intuitif menampilkan karakteristik momentum volume OBV, dan menilai tren perubahan volume. Penetrasi MACD digunakan untuk mengeluarkan sinyal transaksi, yang dapat meningkatkan akurasi keputusan transaksi.
Strategi ini menggabungkan analisis volume OBV dan indikator momentum MACD untuk penilaian yang relatif akurat tentang perubahan tren volume dan harga, yang dapat secara efektif menyaring sinyal FALSE.
Strategi ini juga memiliki beberapa risiko, terutama dalam aspek berikut:
Untuk mengatasi risiko ini, langkah-langkah berikut dapat diambil:
Masih ada ruang untuk optimalisasi lebih lanjut dari strategi ini, terutama di arah berikut:
Dengan pengujian dan pengoptimalan terus menerus, strategi ini dapat menjadi strategi perdagangan kuantitatif yang stabil dan efisien.
Strategi ini adalah strategi kuantitatif yang khas yang menggabungkan analisis volume dan indikator momentum untuk menentukan tren harga dan menghasilkan sinyal perdagangan. Ini dapat dengan jelas mengidentifikasi titik infleksi fluktuasi harga, dan sinyal perdagangan relatif dapat diandalkan. Dengan pengaturan parameter yang wajar, hasil strategi yang baik dapat diperoleh. Tetapi juga memiliki beberapa risiko yang perlu dikurangi dengan optimasi terus menerus untuk meningkatkan kinerja. Secara umum, strategi ini memberikan ide khas untuk strategi perdagangan kuantitatif yang layak diteliti dan diterapkan.
/*backtest start: 2023-12-17 00:00:00 end: 2024-01-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "MACD of OBV", overlay = false) //////////////////////// OBV /////////////////////////// src = close obv = cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume) //////////////////////// OBV ////////////////////////// //////////////// MACD OF OBV //////////////////////////// sourcemacd = obv fastLength = input(12, minval=1), slowLength=input(26,minval=1) signalLength=input(9,minval=1) fastMA = ema(sourcemacd, fastLength) slowMA = ema(sourcemacd, slowLength) macd = fastMA - slowMA signal = ema(macd, signalLength) delta=macd-signal swap1 = delta>0?green:red plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20) p1 = plot(macd,color=blue,title='MACD Line') p2 = plot(signal,color=red,title='Signal') fill(p1, p2, color=blue) hline(0) /////////////////////////MACD OF OBV ////////////////////////// // Conditions longCond = na sellCond = na longCond := crossover(delta,0) sellCond := crossunder(delta,0) monthfrom =input(6) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( longCond ) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( sellCond ) strategy.close("BUY")