Pemrograman visual selalu menjadi tujuan aspirasi pengembang perangkat lunak, bahkan di bidang perdagangan kuantitatif. Karena metode "apa yang Anda lihat adalah apa yang Anda dapatkan" dalam visualisasi mengurangi ambang teknis pengembangan pemrograman sangat. Pengguna tidak lagi harus berurusan dengan tumpukan kode membosankan. mereka hanya menggunakan imajinasi dan pemikiran logis mereka untuk fokus pada bisnis itu sendiri. Kau bisa mewujudkan program yang kau inginkan.
Mari kita masuk ke bidang pemrograman visual strategi perdagangan kuantitatif bersama-sama!
Setelah masuk kehttps://www.fmz.com, mendaftarkan akun Anda (jika Anda sudah terdaftar, masuk langsung) dan klik: Dashboard -> Strategi -> Tambahkan Strategi.
Kita bisa melihat strategi visualisasi awal. Ini hanya digunakan untuk output informasi aset akun dari pertukaran yang dikonfigurasi secara default (objek pertukaran pertama yang ditambahkan pada backtest atau robot). (Lihat gambar di bawah)
Anda dapat menyeret modul
Modul perhitungan akar kuadrat seperti ini menghasilkan hasil perhitungan dari modul ini.
Seperti yang Anda lihat, jika posisi parameter input default, nilai default 9 akan digunakan sebagai parameter input untuk menghitung akar kuadrat dari 9.
Tentu saja, jika Anda ingin menggunakan modul variabel sebagai parameter input, Anda dapat menyambung modul variabel ke posisi tenon (kerongkong) secara langsung.
Anda dapat melihat bahwa ada banyak klasifikasi modul di sisi kiri area pengeditan visual, dan ada banyak modul visual yang tersedia dalam setiap proyek klasifikasi.
Ada 11 kategori.
Modul penggunaan:
Anda dapat memasukkan string di modul teks, sehingga ketika Anda menjalankan modul Output Information, isi string di modul teks akan dicetak.
Pengujian balik:
Seperti kode bahasa JavaScript:
function main(){
Log("Hello, Blockly!")
}
Seperti kode bahasa JavaScript:
function main () {
Log("WeChat Push!@")
}
Demikian pula, dalam strategi JavaScript, fungsi utama mengeksekusi fungsi throw
function main () {
throw "The first sentence throws an exception to stop the program!"
}
Hasil tes balik:
Secara umum, ini lebih banyak digunakan saat debugging. Misalnya, jika Anda ingin program berhenti dalam kondisi tertentu dan mencetak beberapa data pada saat itu untuk pengamatan. Atau Anda dapat menempatkan modul pengecualian dalam aliran kode di mana masalah mungkin terjadi, biarkan program melaporkan kesalahan, dan menemukan beberapa kesalahan.
Seperti dalam strategi JavaScript:
function main () {
Sleep(1000 * 5)
}
Uji modul tidur:
Hasil tes balik:
Modul ini, seperti fungsi API LogProfit di FMZ Quant Trading Platform, yang mencetak log pengembalian dan menggambar kurva pengembalian sesuai dengan parameter input secara otomatis.
Misalnya:Pelaksanaan backtesting ditunjukkan pada gambar di bawah ini:
Kode strategi JavaScript yang sesuai adalah sebagai berikut:
function main () {
LogProfit(1)
Sleep(1000 * 5)
LogProfit(2)
Sleep(1000 * 5)
LogProfit(3)
Sleep(1000 * 5)
LogProfit(2)
Sleep(1000 * 5)
LogProfit(5)
}
Hal ini dapat digabungkan di posisi mana pun di mana Anda ingin output informasi kembali.
Tes:Hasil tes balik:
Kita dapat melihat bahwa kombinasi modul yang terdiri dari
Eksekusi loop setiap N detikPenggunaan modul ini pada dasarnya sama dengan modul loop. Satu-satunya perbedaan adalah modul memiliki tidur sendiri.
Pengolahan presisiModul ini dapat digunakan ketika modul variabel atau nilai numerik perlu untuk mengontrol presisi. Nilai numerik dari bagian parameter input akan output sebagai nilai numerik dari tempat desimal yang ditentukan sesuai dengan pengaturan.
Misalnya, pemrosesan presisi dilakukan pada nilai 3.1415926535897.
Tampilan backtesting:
Ini digunakan untuk membersihkan log. Beberapa log dapat disimpan sesuai dengan parameter input. Seperti dalam dokumen API:
LogReset()
Ini digunakan untuk menghapus log kembali. Beberapa log dapat disimpan sesuai dengan parameter input. Seperti dalam dokumen API:
LogProfitReset()
Seperti kode strategi JavaScript:
function main () {
Log(exchange.GetTicker().Last)
}
Pertama, kita membuat modul variabel bernama K-line.Kemudian kita mendapatkan data K-line, menggunakan modul data K-line untuk mendapatkannya, dan menetapkan nilai untuk modul variabel:
Stempel waktu garis K terakhir dicetak saat backtest berjalan.
Seperti kode strategi JavaScript:
function main () {
Log(exchange.GetDepth().Asks[0])
}
Seperti kode strategi JavaScript:
function main () {
Log(exchange.GetAccount().Stocks)
}
Hasil tes balik:
Seperti kode strategi JavaScript:
function main () {
Log(exchange.GetDepth().Asks[0].Price)
}
Ini juga dapat digunakan untuk mendapatkan atribut dalam informasi pesanan yang dikembalikan oleh
Setelah belajar begitu banyak, mari kita menggabungkan operasi lindung nilai, yaitu lindung nilai kontrak jangka pendek dan jangka panjang.
Kami membuat lindung nilai arbitrage positif, yaitu, membuka kontrak posisi pendek untuk kontrak berjangka, dan membuka kontrak posisi panjang untuk kontrak terbaru.
Hasil tes balik:
Contoh strategi visualisasi:
https://www.fmz.com/strategy/121404 https://www.fmz.com/strategy/129895 https://www.fmz.com/strategy/123904 https://www.fmz.com/strategy/122318Untuk lebih banyak strategi, silakan lihat:https://www.fmz.com/square
Artikel lain dalam seri ini
- Modul Visualisasi untuk Membangun Strategi Trading - mendalam (https://www.fmz.com/digest-topic/9509) Modul Visualisasi untuk Membangun Strategi Perdagangan - Pengertian Lanjutan (https://www.fmz.com/bbs-topic/9815)
Pemrograman yang membosankan dapat dengan mudah diselesaikan dengan blok bangunan.