Gagasan utama dari strategi time-order adalah untuk melakukan pembelian dan penjualan pada waktu yang disesuaikan oleh pengguna. Strategi ini memungkinkan pengguna untuk mengatur waktu yang tepat, di mana posisi yang dipegang saat ini akan dijual terlebih dahulu, dan kemudian dibeli dengan harga batas 1% lebih rendah dari harga saat ini.
Strategi ini pertama-tama mendapatkan jam dan menit yang disesuaikan oleh pengguna melalui fungsi input, dan kemudian menggunakan fungsi timestamp untuk menghasilkan waktu eksekusi pesanan. Jika waktu saat ini setelah titik waktu yang ditentukan, maka akan memicu operasi jual dan beli.
Secara khusus, strategi pertama kali menilai apakah waktu saat ini berada dalam kisaran tanggal awal dan akhir yang ditentukan pengguna. Jika puas, maka pada titik waktu eksekusi pesanan yang ditentukan, posisi yang dipegang saat ini akan dijual dengan harga pasar sebelumnya, dan kemudian dibeli dengan harga terbatas pada 99% dari harga saat ini.
Keuntungan terbesar dari strategi ini adalah bahwa posisi dapat disesuaikan kembali secara berkala pada titik waktu tertentu, tanpa memerlukan operasi manual, mengurangi biaya manusia. Selain itu, setiap kali penyesuaian posisi dilakukan dengan harga yang sedikit lebih rendah dari harga saat ini, Anda dapat memperoleh keuntungan pembelian yang sangat rendah.
Keuntungan spesifiknya adalah:
Operasi sepenuhnya otomatis, mengurangi biaya tenaga kerja.
Posisi dapat disesuaikan kembali secara berkala pada titik waktu tertentu.
Setiap kali Anda melakukan reset, Anda akan mendapatkan kesempatan untuk membeli dengan harga yang lebih rendah dari 1%.
Ada beberapa cara yang dapat Anda gunakan untuk menghemat uang Anda.
Anda dapat menyesuaikan tanggal awal dan akhir periode penarikan untuk memudahkan optimasi pengembalian.
Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:
Jika Anda memilih waktu yang salah untuk melakukan penargetan reguler, Anda mungkin akan kehilangan kesempatan membeli yang lebih baik atau menjual pada waktu yang tidak tepat.
Harga pembelian hanya 1% dari harga jual, dan mungkin tidak mendapatkan selisih harga pembelian yang cukup dalam setiap periode penyesuaian.
Pembelian dan penjualan dilakukan dengan harga pasar, yang mungkin akan dipengaruhi oleh slippage.
Jika strategi hanya beroperasi pada titik waktu tertentu, maka tidak dapat mengelola pasar di antara titik waktu tersebut.
Sering melakukan penukaran akan menghasilkan biaya transaksi yang lebih tinggi.
Solusi yang sesuai:
Memilih waktu yang tepat untuk penyesuaian, dan juga mempertimbangkan indikator teknis lainnya.
Parameter selisih harga beli dapat ditambahkan sesuai kebutuhan.
Cobalah untuk memilih varietas yang lebih dalam dan kurang berfluktuasi.
Manajemen risiko dapat dikombinasikan dengan strategi lain untuk periode non-pengembalian
Mengontrol frekuensi swap dengan tepat, menyeimbangkan keuntungan swap dan biaya transaksi.
Strategi ini dapat dioptimalkan dari beberapa arah:
Optimalkan pilihan titik waktu penyaringan, menggabungkan karakteristik siklus dalam hari dari varietas perdagangan untuk memilih titik waktu yang optimal.
Menambahkan penilaian indikator teknis lainnya untuk menghindari perubahan posisi pada saat yang tidak menguntungkan. Misalnya, indikator penilaian tren seperti kombinasi rata-rata bergerak.
Optimalkan parameter pembelian yang sangat rendah, seimbang untuk mendapatkan keuntungan dan biaya transaksi.
Menggunakan tracking stop loss untuk mengelola posisi di interval penukaran.
Tergabung dengan algoritma pembelajaran mesin untuk melatih data historis dan secara otomatis mengoptimalkan titik waktu pengiriman.
Menambahkan fungsi pemulihan hak, mengikuti pemisahan saham, dividen, dan lain-lain.
Secara keseluruhan, strategi pesanan tepat waktu dapat mengotomatiskan proses perdagangan dengan menyesuaikan posisi secara berkala, mengurangi biaya operasi manual. Ada banyak ruang untuk mengoptimalkan strategi, dapat ditingkatkan dari segi pilihan titik penyesuaian, pengaturan parameter pembelian, stop loss dan pengoptimalan algoritma.
/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
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/
// © ytrevor
//@version=4
strategy("Order At Specified Time", overlay=true)
// -- These inputs are for customizing the times of your desired orders -- //
customHour = input(title="Hour for Order Execution", type=input.integer, defval=01, minval=00, maxval=24) //
customMinute = input(title="Minute for Order Execution", type=input.integer, defval=00, minval=00, maxval=59)
targetTime = timestamp("UTC", year, month, dayofmonth, customHour, customMinute, 00) //Order executes at this time
inDateRange = (time >= targetTime) and (time <= targetTime) //Orders are placed everyday at 01:00 UTC, or any other time specified via input
// -- These inputs are for back testing. Feel free to change the start and end dates via input -- //
startDay = input(title="Start Day", type=input.integer, defval=10, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer, defval=2, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer, defval=2021)
endDay = input(title="End Day", type=input.integer, defval=22, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer, defval=3, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer, defval=2021)
betweenDates = true
// -- Order execution -- //
if betweenDates
buyPrice = close*0.99 //Buy at 1% lower than selling price
strategy.entry("Sell", strategy.short, when=inDateRange) //Sell at 01:00 UTC, or at any other time specified via input
strategy.entry("Buy", strategy.long, limit=buyPrice, when=inDateRange) //Buy limit order placed at the same time, 1% lower than selling price