Strategi ini bertujuan untuk membolehkan pengguna menyesuaikan masa permulaan tindak balas, yang membolehkan tindak balas yang lebih fleksibel dan disesuaikan.
Strategi ini menggunakan fungsi time dan timestamp skrip pin untuk mencapai masa permulaan pengukuran semula yang disesuaikan.
Pertama, ia membolehkan pengguna memasukkan tahun, bulan, tarikh, jam dan minit permulaan pengiraan semula yang disesuaikan dalam tetapan. Ia kemudian menggunakan input ini untuk menghasilkan tab masa dan menyimpannya dalam pembolehubah startTime.
Dalam penghakiman syarat strategi, ia menambah syarat startTime. Strategi akan dimulakan hanya jika masa semasa lebih besar daripada atau sama dengan startTime.
Contohnya:
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition and startTime)
strategy.entry("My Long Entry Id", strategy.long)
Dengan cara ini, masa permulaan pengukuran semula yang disesuaikan dapat dicapai. Pengguna boleh menyesuaikan masa permulaan pengukuran semula yang fleksibel mengikut keperluan, dan tidak hanya terhad kepada masa pengekodan keras.
Kaedah ini mempunyai kelebihan:
Lebih fleksibel: Pengguna boleh menyesuaikan sepenuhnya masa permulaan pengesanan semula, tidak lagi terhad kepada satu titik masa tetap.
Lebih realistik: anda boleh menetapkan masa permulaan pengembalian sebagai masa strategi sebenarnya berjalan, sehingga pengembalian lebih dekat dengan keadaan pasaran sebenar.
Kemudahan pengembalian yang didorong oleh peristiwa: Masa permulaan boleh ditetapkan berdasarkan masa kejadian tertentu, untuk melakukan pengembalian untuk peristiwa tertentu.
Kemudahan penyesuaian keadaan: dapat dengan mudah menyesuaikan keadaan permulaan pengesanan semula, untuk melakukan pengesanan semula yang disasarkan untuk peringkat yang berbeza.
Repeatable Reliability: Dengan parameterisasi masa permulaan pengesanan, pengesanan boleh dijalankan berulang untuk mendapatkan hasil yang boleh dipercayai.
Terdapat beberapa risiko dengan menggunakan masa permulaan pengesanan semula yang disesuaikan:
Hasil pengesanan bergantung pada masa permulaan: waktu permulaan yang berbeza boleh menyebabkan hasil pengesanan berbeza.
Anda perlu berhati-hati memilih masa permulaan: waktu permulaan yang tidak munasabah boleh menyebabkan pengesahan yang tidak tepat dan tidak dapat mencerminkan keadaan sebenar.
Peningkatan risiko penyesuaian kurva: mudah untuk menyesuaikan data sejarah dengan menyesuaikan masa permulaan, sehingga menimbulkan risiko overfitting.
Kurangkan kebolehbandingkan hasil pengesanan: Hasil pengesanan untuk strategi ini kurang dapat dibandingkan dengan hasil pengesanan pada masa permulaan tetap.
Penyelesaian:
Uji ulang berulang kali untuk menilai kesan perubahan masa permulaan pada keputusan.
Memilih masa peristiwa utama sebagai masa permulaan untuk mengurangkan kekeliruan pengesanan semula.
Berhati-hati untuk menyesuaikan masa permulaan untuk mengelakkan terlalu banyak data sejarah.
Simpan pengembalian pada masa permulaan yang tetap sebagai asas untuk dibandingkan dengan pengembalian yang disesuaikan.
Kaedah ini juga boleh dioptimumkan dengan:
Menyokong penyesuaian masa permulaan dan akhir, mewujudkan konfigurasi fleksibel tetingkap masa pengembalian yang lengkap.
Menyokong pelbagai mod masa: tarikh tertentu, tarikh relatif, pemanduan peristiwa, dan lain-lain, menjadikan konfigurasi masa pengemasan lebih pintar.
Menyokong antara muka konfigurasi grafik, menjadikan parameter masa lebih intuitif.
Menyokong konfigurasi gred masa yang berbeza: tahun, bulan, hari, jam, minit, dan saat.
Rekodkan konfigurasi masa pengesanan semula, menjadikan hasil pengesanan semula dapat diulangi, dijejaki dan dibandingkan.
Menambah pemeriksaan yang tidak betul dalam konfigurasi masa, untuk mengelakkan konfigurasi masa yang tidak munasabah mempengaruhi kualiti pengukuran.
Memberi fungsi terikat masa permulaan, satu klik untuk menyalin masa permulaan secara serentak ke pelbagai dasar.
Strategi ini mewujudkan konfigurasi masa permulaan pengulangan yang boleh disesuaikan dan fleksibel, yang dapat mengurangkan batasan pengulangan, menjadikannya lebih dekat dengan keadaan sebenar. Tetapi juga perlu berhati-hati dengan ketergantungan hasil pengulangan pada masa permulaan, mengambil langkah-langkah pengulangan berulang, pengendalian peristiwa dan lain-lain untuk mengurangkan kekeliruan pengulangan.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("C320up Strategy Tester Start Time", overlay = true)
// Copy and paste below into your strategy
// Strategy Tester Start Time
xYear = input(2018, title = "Start Year")
xMonth = input(01, title = "Start Month", minval = 01, maxval = 12)
xDay = input(01, title = "Start Day", minval = 01, maxval = 31)
xHour = input(00, title = "Start Hour", minval = 00, maxval = 23)
xMinute = input(00, title = "Start Minute", minval = 00, maxval = 59)
startTime = time >= timestamp(xYear, xMonth, xDay, xHour, xMinute)
// End copy and paste
// Add (and startTime) at the end of your condition/s to activate
// The strategy below is just an example
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition and startTime)
strategy.entry("My Long Entry Id", strategy.long)
shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition and startTime)
strategy.entry("My Short Entry Id", strategy.short)
// Happy trading!