Strategi ini dirancang sebagai strategi mengikuti tren sederhana berdasarkan indikator EVWMA. Ini menggunakan garis cepat dan garis lambat untuk membangun indikator EVWMA. Posisi panjang akan dibuka ketika garis cepat melintasi garis lambat, dan posisi pendek akan dibuka ketika garis cepat melintasi di bawah garis lambat, untuk mengikuti tren.
Indikator inti dari strategi ini adalah EVWMA, yaitu Elastic Volume Weighted Moving Average.
Secara khusus, periode garis cepat dihitung sebagai jumlah volume 10 bar terakhir, dan 20 bar untuk garis lambat. EVWMA dari setiap bar dihitung sebagai
Ketika garis cepat melintasi garis lambat, itu menunjukkan bahwa daya beli menguat untuk pergi panjang. Ketika garis cepat melintasi di bawah garis lambat, itu menunjukkan bahwa daya jual menguat untuk pergi pendek. Dengan kombinasi garis cepat dan lambat seperti itu, strategi dapat menangkap tren pasar secara dinamis untuk mengikuti tren.
Keuntungan terbesar dari strategi ini terletak pada desain periode dinamis dari indikator EVWMA untuk merespons lebih cepat terhadap perubahan harga dan volume, sehingga menangkap tren pasar secara real time, yang sangat cocok untuk strategi trend berikut.
Risiko utama dari strategi ini adalah pengaturan parameter yang tidak tepat dari indikator EVWMA. Jika periode garis cepat dan lambat tidak ditetapkan dengan benar, itu dapat menghasilkan sinyal palsu yang berlebihan. Selain itu, strategi mengikuti tren sendiri memiliki beberapa kelemahan ketika tren pasar berbalik tajam.
Untuk memecahkan masalah ini, kita dapat mengoptimalkan parameter dan menyesuaikan periode perhitungan garis cepat dan lambat untuk menemukan kombinasi terbaik. Juga, stop loss dapat diatur untuk mengendalikan risiko kerugian. Sekitar titik waktu ketika pembalikan pasar yang signifikan mungkin terjadi seperti rilis data penting, kita mungkin mempertimbangkan untuk sementara menangguhkan strategi untuk menghindari perdagangan selama periode ini.
Ada ruang untuk optimasi lebih lanjut dari strategi ini. Misalnya, indikator lain seperti pecahnya volume perdagangan, Bollinger Bands dll dapat dimasukkan untuk mengkonfirmasi sinyal, sehingga meningkatkan stabilitas strategi. Juga, nilai parameter optimal mungkin berbeda di berbagai produk dan periode waktu. Mekanisme optimasi parameter adaptif dapat didirikan untuk menyesuaikan parameter berdasarkan data real-time.
Pada aspek perdagangan, stop loss dinamis, trailing stop loss dan cara lain juga dapat dirancang untuk mengendalikan risiko. Selain itu, mekanisme parameter adaptif dapat membantu memperoleh parameter optimal di berbagai produk dan periode waktu.
Strategi ini memanfaatkan desain periode dinamis dari indikator EVWMA dan menggabungkan informasi volume untuk membangun strategi tren berikut yang efektif. Ini dapat merespon dengan cepat terhadap perubahan harga dan menangkap tren pasar. Dengan optimasi parameter, langkah-langkah pengendalian risiko dll, stabilitas strategi dapat ditingkatkan lebih lanjut. Logika di balik strategi ini inovatif dan layak eksplorasi dan penerapan lebih lanjut.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("QuantNomad - EVWMA Cross Strategy", shorttitle="EVWMA Cross", overlay=true) // Inputs fast_sum_length = input(10, title = "Fast Sum Length", type = input.integer) slow_sum_length = input(20, title = "Slow Sum Length", type = input.integer) // Calculate Volume Period fast_vol_period = sum(volume, fast_sum_length) slow_vol_period = sum(volume, slow_sum_length) // Calculate EVWMA fast_evwma = 0.0 fast_evwma := ((fast_vol_period - volume) * nz(fast_evwma[1], close) + volume * close) / (fast_vol_period) // Calculate EVWMA slow_evwma = 0.0 slow_evwma := ((slow_vol_period - volume) * nz(slow_evwma[1], close) + volume * close) / (slow_vol_period) // Plot plot(fast_evwma, title = "EVWMA Fast", linewidth = 2, color = color.red) plot(slow_evwma, title = "EVWMA Slow", linewidth = 2, color = color.green) // Strategy strategy.entry("Long", true, when = crossover(fast_evwma, slow_evwma)) strategy.entry("Short", false, when = crossunder(fast_evwma, slow_evwma))