Type/to search
8
Follow
1364
Followers
Modul visualisasi untuk membangun strategi perdagangan - tampilan pertama
Original
Created 2019-07-08 09:23:59  Updated 2024-12-23 17:57:33
 7
 8305

img

Modul visualisasi untuk membangun strategi perdagangan - tampilan pertama

Pemrograman visual selalu menjadi tujuan yang diinginkan oleh pengembang perangkat lunak, bahkan di bidang perdagangan kuantitatif.
Karena pendekatan visualisasi "apa yang Anda lihat adalah apa yang Anda dapatkan" sangat mengurangi ambang batas teknis untuk pengembangan pemrograman.
Pengguna tidak perlu lagi berurusan dengan sekumpulan kode yang membosankan. Mereka hanya perlu menggunakan otak, imajinasi, dan pemikiran logis, serta fokus pada bisnis itu sendiri.
Anda dapat mewujudkan program yang Anda inginkan, bukankah itu menakjubkan!

Kalau begitu, mari kita masuk ke bidang pemrograman visual strategi perdagangan kuantitatif bersama-sama!

  • Penemu awal pemrograman visual terkuantisasi

    Setelah masuk ke https://www.fmz.com, daftarkan akun (jika Anda sudah terdaftar, langsung masuk), dan klik: Pusat Kontrol->Perpustakaan Kebijakan->Kebijakan Baru.

    img

    Kita dapat melihat strategi visualisasi awal.
    Ia hanya mengeluarkan informasi aset akun dari bursa yang dikonfigurasikan secara default (objek bursa pertama yang ditambahkan dalam pengujian ulang atau robot).
    (Seperti yang ditunjukkan di bawah)

    img

    Sebelum kita mulai mempelajari cara menggunakan visualisasi, pertama-tama kita dapat memahami beberapa konsep desain visualisasi.

    • 1. Penyambungan

      Pengamatan yang cermat mengungkapkan bahwa semua modul memiliki tenon (cekung) dan mortis (cembung), yang berarti bahwa modul dapat "dihubungkan" dan "disambung".
      Jika kode fungsional yang diwakili oleh dua modul dapat dihubungkan, maka keduanya akan saling menempel ketika Anda mendekatkan pasak dan pasak kedua modul tersebut.

      img

    • 2. Pengaturan dan penyesuaian modul

      Beberapa modul memiliki beberapa pengaturan khusus, misalnya:

      img

      Anda dapat menyeret modul "Proyek" di sebelah kiri ke modul "Gabung", sehingga Anda dapat menambahkan posisi mortise dan tenon, sehingga menambahkan posisi untuk menyambung teks.
      Dengan cara ini, Anda dapat membuat beberapa penyesuaian dan pengaturan untuk modul dengan mengklik roda gigi kecil.

    • 3. Parameter input default modul

      Beberapa modul memerlukan parameter input, yang dapat berupa nilai, string, dll.
      Jika Anda tidak menambahkan variabel sebagai parameter input modul, modul akan dieksekusi sesuai dengan parameter input default.

      img
      Modul perhitungan seperti ini untuk menemukan akar kuadrat mengeluarkan hasil perhitungan modul ini.
      img
      Seperti yang Anda lihat, jika parameter input tidak ada, nilai default 9 digunakan sebagai parameter input untuk menghitung akar kuadrat 9.
      img

      Tentu saja, jika Anda ingin menggunakan modul variabel sebagai parameter input, Anda dapat langsung menghubungkan modul variabel ke posisi mortise dan tenon (ceruk).
      img

    • 4. Operasi

      Modul dapat diklik dan diseret dengan tombol kiri mouse.
      Modul dapat disalin menggunakan ctrl + c dan ditempel menggunakan ctrl + v, sama mudahnya dengan menyalin dan menempel kode atau teks.
      Area operasi dapat ditingkatkan atau dikurangi menggunakan roda mouse, dan semua modul akan ditingkatkan atau dikurangi.
      Klik dan tahan area kosong di area operasi dan seret untuk memindahkan area operasi.
      Tempat sampah di sebelah kanan mencatat modul yang baru saja dihapus.
      Yang terpenting, setelah menyusun strategi modul, jangan lupa klik “Simpan”.

  • Pengenalan Modul Alat Visualisasi

    Anda dapat melihat bahwa ada banyak kategori modul di sisi kiri area pengeditan visual, dan ada banyak modul visual yang tersedia di setiap kategori.

    img Total ada 11 kategori.

    • Modul Alat:

      img


      • 1. Informasi keluaran:

        Modul ini biasanya digunakan dalam kombinasi dengan modul teks, seperti yang ditunjukkan di bawah ini:
        img
        Anda dapat memasukkan string dalam modul kelas teks, sehingga saat Anda menjalankan modul "informasi keluaran", konten string dalam modul teks akan dicetak.
        img
        Pengujian ulang:
        img

        Seperti kode bahasa JavaScript:

        function main(){ Log("你好,可视化编程!") }

      • 2. Dorongan WeChat:

        Modul ini tampak sama dengan "Informasi Keluaran", kecuali ia mengeluarkan informasi dan mengirimkannya ke akun WeChat yang terikat dengan akun saat ini.
        img
        img

        Seperti kode bahasa JavaScript:

        function main () { Log("微信推送!@") }

      • 3. Melempar pengecualian

        Modul pengecualian throw memungkinkan program untuk menimbulkan kesalahan dan kemudian menghentikan eksekusi program (tanpa menulis kode penanganan pengecualian).
        img

        Hal ini serupa dengan strategi JavaScript di mana fungsi throw "string yang akan dikeluarkan" langsung dieksekusi dalam fungsi utama.

        function main () { throw "第一句就抛出异常,让程序停止!" }

        Hasil pengujian ulang:
        img
        Biasanya lebih sering digunakan selama debugging, misalnya, ketika Anda ingin program berhenti dalam kondisi tertentu dan mencetak beberapa data pada saat itu untuk memudahkan pengamatan.
        Atau Anda dapat menempatkan modul pelempar pengecualian dalam alur kode tempat masalah mungkin terjadi, sehingga program dapat melaporkan kesalahan dan menemukan beberapa kesalahan.


      • 4. Hibernasi

        Modul hibernasi
        img
        Seperti dalam strategi JavaScript:

        function main () { Sleep(1000 * 5) }

        Uji modul hibernasi:
        img
        Hasil pengujian ulang:
        img


      • 5. Mencetak pendapatan

        img

        Modul ini mirip dengan fungsi LogProfit pada API Platform Perdagangan Kuantitatif Inventor, mencetak log laba dan secara otomatis menggambar kurva laba berdasarkan parameter input.

        Misalnya:
        img
        Eksekusi backtest ditunjukkan di bawah ini:
        img
        Kode kebijakan 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) }

        Dapat disambung di lokasi mana saja di mana Anda ingin mengeluarkan informasi pendapatan.


      • 6. Putaran

        img
        Modul loop dapat membungkus serangkaian kombinasi modul yang disambung dan membiarkan kombinasi modul ini dieksekusi dalam satu loop.

        tes:
        img
        Hasil pengujian ulang:
        img
        Dapat dilihat bahwa setelah modul loop membungkus kombinasi modul yang terdiri dari print revenue dan sleep, maka kombinasi modul tersebut akan dieksekusi secara berkesinambungan.


      • 7. Eksekusi loop setiap N detik

        img
        Penggunaan modul ini pada dasarnya sama dengan modul loop, satu-satunya perbedaan adalah modul ini memiliki fungsi sleep bawaan.
        img


      • 8. Pemrosesan presisi

        img
        Modul ini dapat digunakan saat modul variabel atau nilai numerik perlu mengontrol presisi. Nilai numerik dari bagian parameter input akan dikeluarkan sebagai nilai numerik dari tempat desimal yang ditentukan sesuai dengan pengaturan.

        Misalnya, angka 3.1415926535897 diproses dengan presisi.
        img

        Pengujian ulang menunjukkan:
        img


      • 9. Hapus log

        img

        Digunakan untuk menghapus log. Bergantung pada parameter input, beberapa log dapat disimpan.
        Seperti dalam dokumentasi API:

        LogReset()

      • 10. Hapus log pendapatan

        img

        Digunakan untuk menghapus log pendapatan. Bergantung pada parameter input, sebagian log dapat disimpan.
        Seperti dalam dokumentasi API:

        LogProfitReset()

      Berikut ini adalah beberapa modul alat yang sering digunakan

      • 11. Modul fungsional untuk mendapatkan atribut pasar tertentu

        img

        Modul alat ini perlu digunakan bersama dengan modul pasar dalam "Jenis modul perdagangan", seperti yang ditunjukkan pada gambar:
        img

        Gunakan modul informasi keluaran untuk mengeluarkan harga transaksi terkini dari pasar ticker terkini:
        img

        Pengujian ulang menunjukkan:
        img

        Seperti kode strategi JavaScript:

        function main () { Log(exchange.GetTicker().Last) }
      • 12. Modul untuk memperoleh atribut Bar tertentu dari data K-line

        img

        Modul ini juga perlu digunakan bersama dengan modul akuisisi data K-line dalam "Jenis modul perdagangan".

        Pertama buat modul variabel dan beri nama: K-line.
        img
        Kemudian dapatkan data K-line, gunakan modul data K-line untuk mendapatkannya, dan tetapkan ke modul variabel: "K-line".
        img
        Kemudian gunakan modul panjang daftar dalam "Jenis modul daftar" untuk memperoleh panjang modul variabel K-line, yang digunakan untuk menentukan Bar mana dari K-line tempat data akan diperoleh.
        img
        Jahit bersama-sama, seperti yang ditunjukkan:
        img
        Ketika pengujian ulang dijalankan, stempel waktu batang K-line terakhir dicetak.
        img

      • 13. Modul untuk mendapatkan data pesanan di buku pesanan

        img

        Ini juga perlu digunakan bersama dengan modul Dapatkan Data Kedalaman dalam "Jenis Modul Transaksi".

        img

        Tetapkan indeks ke 0, tetapkan perintah jual, dan dapatkan informasi tentang satu perintah jual.

        img

        Seperti kode strategi JavaScript:

        function main () { Log(exchange.GetDepth().Asks[0]) }
      • 14. Modul untuk mendapatkan atribut tertentu dalam informasi aset

        img
        Modul ini perlu digunakan bersama dengan modul Dapatkan Informasi Aset.
        img

        Misalnya: cetak jumlah koin yang tersedia di rekening giro
        img

        Pengujian ulang menunjukkan:
        img

        Seperti dalam strategi JavaScript:

        function main () { Log(exchange.GetAccount().Stocks) }
      • 15. Modul untuk mendapatkan atribut tertentu dalam data pesanan

        img

        Modul ini digunakan untuk memperoleh nilai atribut tertentu dalam data pesanan, seperti harga atau kuantitas penjualan pertama dalam buku pesanan (contoh nomor 13).
        img

        Hasil pengujian ulang:
        img
        Seperti dalam strategi JavaScript:

        function main () { Log(exchange.GetDepth().Asks[0].Price) }

        Ini juga dapat digunakan untuk memperoleh atribut tertentu dalam informasi pesanan yang dikembalikan oleh "Modul Query Order Details" (yang akan dijelaskan di bagian lanjutan).

      • 16. Modul untuk memperoleh atribut posisi tertentu dalam informasi posisi

        img

        Demikian pula, ini harus digunakan bersama dengan "Modul Dapatkan Posisi Berjangka". Perlu dicatat bahwa data posisi yang dikembalikan oleh Modul Dapatkan Posisi Berjangka adalah array (daftar), yang merupakan struktur data yang berisi posisi kontrak dan arah yang berbeda. . Oleh karena itu, Anda harus menentukan indeks saat menggunakannya.

        Setelah mempelajari banyak hal, mari kita gabungkan operasi lindung nilai, yaitu melakukan lindung nilai baik kontrak jangka pendek maupun kontrak berjangka secara bersamaan.
        Kami membuat lindung nilai arbitrase positif, yaitu membuka kontrak forward pendek, 1 kontrak, dan membuka kontrak panjang dalam waktu dekat.

        img

        Hasil pengujian ulang:
        img

Contoh Strategi Visualisasi:

Lebih banyak strategi tersedia di: https://www.fmz.com/square

Artikel lain dalam seri ini

Pemrograman yang membosankan dapat diselesaikan dengan mudah menggunakan blok penyusun. Cobalah, ini sangat menarik!

Related Recommendations
Comment
All comments (7)

    指标里没有cci,我如果要用cci是不是就不能用这个可视化去创建

    4 years ago

    这个系列里的文章有讲如何实现自定义的模块。

    4 years ago

    除了深入,初识,进阶这三个还有本系列其他的文章吗,为什么我没找到自定义模块和指标模块用法呢

    4 years ago

    请问可视化中的指标模块是怎么使用的

    5 years ago

    这个系列文章可以看完,又讲。

    5 years ago

    好的,谢谢。找到了

    5 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)