Strategi ini menggabungkan rata-rata bergerak, indikator CCI, indikator PSAR dan indeks tren ADX untuk menerapkan strategi terobosan yang khas.
Kondisi masuk strategi meliputi aspek-aspek berikut:
Rata-rata bergerak: membutuhkan garis 5 hari yang menembus garis 10 hari, garis 10 hari yang menembus garis 20 hari dan garis 20 hari yang menembus garis 40 hari, yang secara efektif dapat menyaring sebagian besar terobosan palsu.
Indikator CCI: membutuhkan indikator CCI kurang dari -100 sebagai sinyal panjang, dan lebih dari 100 sebagai sinyal pendek.
Indikator PSAR: mengharuskan arah indikator PSAR konsisten dengan arah tren yang ditentukan oleh harga.
Indikator ADX: membutuhkan ADX lebih besar dari 20, menunjukkan pasar sekarang berada dalam tren, yang cocok untuk menggunakan sistem terobosan.
Pada saat yang sama, kondisi keluar juga memperhitungkan beberapa indikator:
Rata-rata bergerak: kebalikan dari kondisi masuk. misalnya, garis 5 hari memecah garis 10 hari adalah sinyal posisi penutupan.
Indikator CCI dan PSAR memiliki arti yang berlawanan dengan kondisi masuk.
Jadi masuknya ketat sementara keluarnya longgar untuk strategi ini, yang dapat memperoleh tingkat pengembalian yang relatif tinggi.
Strategi terobosan gabungan multi-indikator yang khas ini memiliki keuntungan berikut:
Kondisi masuk yang ketat mengadopsi beberapa indikator untuk penyaringan, yang dapat mengurangi risiko terobosan palsu.
Parameter indikator dioptimalkan untuk kemampuan beradaptasi dengan pasar.
Indikator penilaian tren diadopsi untuk menghindari terjebak dalam pasar kejutan.
Rata-rata bergerak digunakan untuk menentukan tren jangka menengah dan pendek secara stabil.
Indikator CCI dapat menangkap fenomena overbought dan oversold jangka pendek.
Indikator PSAR memiliki kemampuan yang kuat untuk menentukan arah tren pasar.
Strategi ini juga memiliki risiko berikut:
Di pasar ekstrim, efek dari kombinasi beberapa indikator dapat dikompromikan dan tidak dapat sepenuhnya menyaring risiko.
Ketika tren besar, menggunakan indikator jangka menengah dan pendek untuk menentukan waktu mungkin gagal dan tidak dapat sepenuhnya menangkap tren.
Pengaturan parameter indikator lokal seperti CCI yang tidak tepat dapat menyebabkan peluang hilang.
Efek dari indikator PSAR lemah pada titik perubahan tren.
Tindakan balas:
Meredakan kondisi masuk yang tepat dan membayar lebih banyak biaya untuk risiko yang lebih rendah.
Tingkatkan penilaian indikator jangka panjang, seperti rata-rata bergerak 60 hari atau bahkan lebih lama.
Mengoptimalkan parameter seperti CCI secara dinamis.
Gabungkan lebih banyak indikator untuk menilai tren, seperti Bollinger Bands.
Strategi ini juga memiliki arah optimasi berikut:
Meningkatkan algoritma pembelajaran mesin untuk mewujudkan optimasi parameter real-time dan meningkatkan kemampuan beradaptasi.
Meningkatkan teknik kombinasi model, menggabungkan lebih banyak strategi yang tidak terkait untuk meningkatkan stabilitas.
Memperkenalkan mekanisme pengendalian risiko, seperti strategi stop loss, untuk mengontrol stop loss tunggal secara efektif.
Meningkatkan modul penilaian tren untuk menghindari masuk ke pasar kejutan.
Mengoptimalkan bobot indikator sehingga indikator optimal memainkan peran utama dalam lingkungan pasar yang berbeda.
Secara umum, strategi ini adalah strategi terobosan multi-indikator yang khas dan klasik. Keuntungannya adalah kondisi masuk yang ketat, kondisi keluar yang longgar, dan juga berisi modul penilaian tren. Tetapi juga memiliki beberapa risiko. Ini membutuhkan optimasi terus-menerus untuk beradaptasi dengan lingkungan pasar yang lebih kompleks. Kombinasi model dan optimasi parameter adalah arah perkembangannya.
/*backtest start: 2023-11-14 00:00:00 end: 2023-11-21 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Bukan Kaleng Kaleng Li", shorttitle="BKKL", overlay=true) psarDot = sar(0.01, 0.01, 0.2) up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) trur = rma(tr, 14) plus = fixnan(100 * rma(plusDM, 14) / trur) minus = fixnan(100 * rma(minusDM, 14) / trur) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), 14) longConditionSMA4020 = sma(close, 40) > sma(close, 20) longConditionSMA2010 = sma(close, 20) > sma(close, 10) longConditionSMA105 = sma(close, 10) > sma(close, 5) longConditionSMA = longConditionSMA4020 and longConditionSMA2010 and longConditionSMA105 longConditionCCI = cci(close, 20) < -100 longConditionPSAR = psarDot > close longConditionDMI = plus < 10 adxCondition = adx > 20 longCondition = longConditionSMA and longConditionCCI and longConditionPSAR and longConditionDMI if (longCondition and adxCondition) strategy.order("Long Signal", true) shortConditionSMA4020 = sma(close, 40) < sma(close, 20) shortConditionSMA2010 = sma(close, 20) < sma(close, 10) shortConditionSMA105 = sma(close, 10) < sma(close, 5) shortConditionSMA = shortConditionSMA4020 and shortConditionSMA2010 and shortConditionSMA105 shortConditionCCI = cci(close, 20) > 100 shortConditionPSAR = psarDot < close shortConditionDMI = minus < 10 shortCondition = shortConditionSMA and shortConditionCCI and shortConditionPSAR and shortConditionDMI if (shortCondition and adxCondition) strategy.order("Short Signal", false)