Strategi ini adalah strategi mengikuti tren berdasarkan indikator OBV dan CCI. Ini menggunakan indikator OBV untuk menilai tren pasar dan arus modal, dan kemudian menggunakan indikator CCI untuk penyaringan untuk menghasilkan sinyal perdagangan. Ketika kedua indikator OBV dan CCI mengkonfirmasi tren naik saat ini, pergi panjang; ketika kedua indikator mengkonfirmasi tren penurunan saat ini, pergi pendek.
Strategi ini terutama bergantung pada dua indikator OBV dan CCI. Indikator OBV dapat mencerminkan arus modal di pasar. Ketika OBV hijau, itu berarti tren saat ini adalah arus masuk modal; ketika OBV merah, itu berarti tren saat ini adalah arus keluar modal. Indikator CCI digunakan sebagai filter. Dengan menetapkan ambang batas, ketika CCI di atas ambang batas, itu dianggap pasar bull; ketika CCI di bawah ambang batas, itu dianggap pasar bear.
Untuk sinyal masuk, jika nilai OBV periode terakhir berwarna hijau (masuk modal) dan CCI berada di atas ambang batas (dalam pasar bull), sementara garis OBV melintasi di atas garis EMA, sinyal beli dihasilkan.
Untuk sinyal keluar, jika nilai OBV periode terakhir berwarna merah (aliran keluar modal) dan CCI berada di bawah ambang batas (dalam pasar menurun), sementara garis OBV melintasi di bawah garis EMA, sinyal jual dihasilkan.
Jadi dengan menilai tren utama menggunakan OBV, menyaring dengan indikator CCI, dan menggabungkannya dengan menggunakan silang EMA untuk menghasilkan sinyal perdagangan konkret, strategi mewujudkan tren berikut.
Keuntungan utama dari strategi ini adalah:
Menggunakan OBV untuk menentukan arus modal pasar dan arah tren, menghindari gangguan kebisingan pasar jangka pendek;
Memanfaatkan indikator CCI untuk penyaringan, membuat sinyal perdagangan lebih dapat diandalkan;
Menggunakan crossover EMA untuk menghasilkan titik perdagangan beton berkualitas tinggi;
Aturan-aturan ini jelas dan sederhana, mudah dimengerti dan diterapkan.
Ada juga beberapa risiko potensial untuk strategi ini:
Kemungkinan indikator OBV dan CCI menghasilkan sinyal yang salah;
Sinyal perdagangan yang sering, mudah untuk overtrade;
Dapat terjebak selama retracements;
Penyesuaian parameter yang buruk menyebabkan kinerja strategi yang buruk.
Untuk mengendalikan risiko ini, metode seperti optimasi parameter, menyesuaikan frekuensi perdagangan, mengatur stop loss dan menggunakan filter dapat diterapkan.
Strategi dapat dioptimalkan dari aspek berikut:
Mengevaluasi dampak dari parameter yang berbeda dan menemukan kombinasi parameter yang optimal;
Tetapkan batas frekuensi perdagangan untuk menghindari perdagangan berlebihan;
Menambahkan mekanisme stop loss untuk mengendalikan kerugian perdagangan tunggal;
Tambahkan indikator lain sebagai filter untuk meningkatkan kualitas sinyal;
Mengoptimalkan masuk dan keluar logika untuk membuat sinyal perdagangan lebih dapat diandalkan.
Dalam kesimpulan, ini adalah tren dasar mengikuti strategi yang dapat secara efektif melacak tren harga dan menghindari gangguan kebisingan. Tapi masih ada beberapa risiko, yang membutuhkan perbaikan seperti optimasi parameter, stop loss, kontrol frekuensi perdagangan dll. Jika parameter ditetapkan secara ilmiah, peningkatan kinerja backtest yang signifikan dapat dicapai. Strategi ini cocok untuk pedagang kuantitas yang lebih maju untuk belajar dan berlatih.
/*backtest start: 2023-02-14 00:00:00 end: 2024-02-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //author: SudeepBisht //@version=3 strategy("SB_CCI coded OBV Strategy", overlay=true) src = close length = input(20, minval=1, title="CCI Length") threshold=input(0, title="CCI threshold for OBV coding") lengthema=input(13, title="EMA length") obv(src) => cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume) o=obv(src) c=cci(src, length) col=c>=threshold?green:red chk=col==green?1:0 ema_line=ema(o,lengthema) //plot(o, color=c>=threshold?green:red, title="OBV_CCI coded", linewidth=2) //plot(ema(o,lengthema), color=orange, linewidth=2) if (not na(ema_line)) if (crossover(o, ema_line) and chk[1]==1) strategy.entry("RsiLE", strategy.long, comment="RsiLE") if (crossunder(o, ema_line) and chk[1]==0) strategy.entry("RsiSE", strategy.short, comment="RsiSE")