Strategi Random Walk
Ringkasan
Strategi random walk adalah strategi trading otomatis yang didasarkan pada pembangkitan angka acak. Strategi ini menggunakan generator linear congruential untuk menghasilkan angka acak berdasarkan seed yang ditetapkan. Jika angka yang dihasilkan lebih besar dari ambang batas, posisi long dibuka; jika lebih kecil, posisi short dibuka, sehingga menciptakan posisi long/short secara acak.
Prinsip Strategi
Strategi ini terutama mencapai trading acak melalui beberapa bagian berikut:
- Menetapkan parameter a, c, modulus m, dan seed awal untuk pembangkitan angka acak.
- Mendefinisikan fungsi pembangkit angka acak GetRandom, menggunakan algoritma linear congruential untuk menghasilkan angka acak antara 0 dan m.
- Pada setiap candle, jika tidak ada posisi saat ini, bandingkan angka acak yang dihasilkan: jika lebih besar dari m/2, buka posisi long; jika tidak, buka posisi short.
- Menetapkan kondisi stop loss dan take profit dalam bentuk persentase.
- Mengatur periode backtest melalui rentang waktu.
Melalui langkah-langkah di atas, strategi ini mewujudkan operasi long/short yang sepenuhnya acak. Ketika angka acak lebih besar dari m/2, buka posisi long; jika tidak, buka posisi short, kemudian tetapkan stop loss dan take profit untuk keluar dari posisi. Periode backtest dapat disesuaikan sendiri.
Analisis Kelebihan
- Logika strategi sederhana dan jelas, mudah dipahami dan diimplementasikan.
- Trading acak dapat secara efektif menghindari pengaruh emosi manusia, mengurangi kesalahan subjektif.
- Parameter algoritma pembangkitan angka acak dapat disesuaikan sendiri untuk mengatur tingkat keacakan.
- Kondisi stop loss dan take profit dapat diatur secara fleksibel untuk mengontrol laba/rugi per transaksi.
- Mendukung optimasi parameter backtest, memudahkan pengujian pengaruh parameter yang berbeda terhadap hasil keseluruhan.
Analisis Risiko
- Trading acak mungkin tidak memiliki arah yang jelas dalam jangka panjang, sehingga hasil tidak pasti.
- Tidak dapat menyesuaikan posisi berdasarkan kondisi pasar, sehingga mungkin melewatkan peluang tren.
- Laba per transaksi terbatas, risiko drawdown relatif besar.
- Rasio stop loss dan take profit perlu diatur secara wajar untuk menghindari kerugian besar.
- Keacakan dapat menyebabkan frekuensi buka/tutup posisi yang tinggi, meningkatkan biaya transaksi.
- Perlu backtest yang cukup untuk memvalidasi kewajaran pengaturan parameter, tidak boleh digunakan secara buta.
Risiko dapat dikurangi dengan menambahkan fungsi seperti penilaian tren, mengurangi frekuensi buka posisi acak, mengoptimalkan mekanisme stop loss, dan mengontrol laba/rugi per transaksi secara ketat.
Arah Optimasi
- Menambahkan penilaian tren untuk menghindari buka posisi melawan tren.
- Menambahkan manajemen posisi, menyesuaikan ukuran posisi sesuai perubahan dana.
- Mengoptimalkan algoritma pembangkitan angka acak untuk meningkatkan keacakan.
- Menyesuaikan tingkat stop loss dan take profit secara dinamis.
- Menambahkan batasan frekuensi buka posisi.
- Backtest kombinasi multi-parameter untuk menemukan parameter optimal.
Kesimpulan
Strategi random walk mewujudkan trading mekanis dengan mengontrol buka posisi long/short melalui angka acak. Strategi ini memiliki keacakan yang kuat, tidak terpengaruh oleh emosi pribadi, dan menghindari risiko kesalahan subjektif. Namun, buka posisi acak juga dapat melewatkan peluang tren, laba per transaksi terbatas, sehingga mekanisme kontrol risiko perlu dioptimalkan. Secara keseluruhan, strategi ini cocok untuk memverifikasi konsep trading, memahami pengaruh pengaturan parameter terhadap hasil, namun aplikasi praktis perlu dievaluasi dengan hati-hati.
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//@author=Tr0sT
strategy(title = "Random strategy", shorttitle = "Random", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
- 1
