Ide inti dari strategi ini adalah untuk menemukan tanggal pembelian terbaik setiap bulan dengan membeli aset digital pada tanggal itu dan menjualnya pada akhir bulan, untuk mencapai pengembalian investasi yang optimal.
Strategi ini berjalan berdasarkan tanggal pembelian bulanan dan tanggal penjualan yang ditentukan pengguna. Ini pergi panjang pada tanggal pembelian dengan membeli aset, dan menutup posisi pada tanggal penjualan jika ditetapkan. Jika tidak, itu menutup posisi pada tanggal akhir strategi. Ini dapat menguji perbedaan keuntungan dari tanggal pembelian bulanan yang berbeda.
Logika untuk sinyal beli adalah: jika itu adalah tanggal pembelian yang ditentukan pengguna dan dalam kisaran tanggal efektif strategi, pergi panjang.
Logika untuk sinyal posisi dekat adalah: jika tanggal penjualan ditetapkan dan itu adalah tanggal penjualan sekarang, posisi dekat; jika tidak ada tanggal penjualan tetapi setelah tanggal akhir strategi, juga posisi dekat.
Risiko penurunan harga setelah membeli
Perubahan tanggal pembelian optimal
Kerugian yang disebabkan oleh pengaturan parameter yang salah
Pertimbangkan lebih banyak faktor dalam menentukan titik masuk
Mengoptimalkan mekanisme manajemen posisi
Ekspansi ke pasar perdagangan lainnya
Strategi ini menemukan tanggal perubahan harga intraday terbesar setiap bulan dengan menguji perbedaan keuntungan dari tanggal pembelian yang berbeda. Ini dapat membawa keuntungan yang berlebihan bagi investor yang mencari keuntungan dari perdagangan intraday frekuensi tinggi. Perbaikan lebih lanjut dalam menentukan waktu masuk, manajemen posisi dan memperluas ruang lingkup aplikasi akan meningkatkan stabilitas dan profitabilitas strategi.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © dennis.decoene //@version=4 strategy(title="Buy and Hold, which day of month is best to buy?", overlay=true) // Make input options that configure backtest date range startDate = input(title="Start Date", type=input.integer, defval=1, minval=1, maxval=31, group="Starting From") startMonth = input(title="Start Month", type=input.integer, defval=1, minval=1, maxval=12, group="Starting From") startYear = input(title="Start Year", type=input.integer, defval=2021, minval=1800, maxval=2100, group="Starting From") endDate = input(title="End Date", type=input.integer, defval=2, minval=1, maxval=31, group="Until") endMonth = input(title="End Month", type=input.integer, defval=10, minval=1, maxval=12, group="Until") endYear = input(title="End Year", type=input.integer, defval=2021, minval=1800, maxval=2100, group="Until") entryday = input(title="Entry Day", type=input.integer, defval=26, minval=1, maxval=31, tooltip="When to enter (buy the asset) each month") exitday = input(title="Exit Day", type=input.integer, defval=6, minval=1, maxval=31, tooltip="When to exit (sell the asset) each month") useExitDay= input(title="Close position on exit day?", type=input.bool, defval=false, tooltip="Use the Exit Day to close each months position it true or close at the end of the period (if false)") isEntryDay= (dayofmonth(time)==entryday) isExitDay= (dayofmonth(time)==exitday-1) inDateRange = true if (isEntryDay and inDateRange) strategy.entry(id="Buy", long=true) if (isExitDay and useExitDay) strategy.close_all() // Exit open market position when date range ends if (not inDateRange and not useExitDay) strategy.close_all()