avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada Pesan pribadi
4
fokus pada
1271
Pengikut

Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

Dibuat di: 2019-07-17 10:22:20, diperbarui pada: 2023-10-24 21:40:50
comments   3
hits   4351

Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

Pelajari strategi perdagangan konstruksi modul visual - bab pendahuluan, dan miliki pemahaman konseptual tentang konstruksi dan penyambungan modul visual. Kemudian mudah untuk belajar menggunakan modul lainnya. Beberapa fungsi yang lebih kompleks dapat digabungkan.

  • ## Modul Kategori Transaksi

Dalam penelitian dan pengujian sebelumnya, kami telah bersentuhan dengan beberapa modul “kategori transaksi”. Misalnya: Modul “Kutipan Pertukaran” Modul “Pertukaran Memperoleh K-line” …

Saya tidak akan membahas secara rinci tentang yang sudah digunakan.

  • 1. Dapatkan jumlah pertukaran

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Saat menulis strategi untuk berdagang dengan robot, Anda dapat menambahkan lebih dari satu objek pertukaran, misalnya, strategi lindung nilai. Atau Anda perlu melintasi (traversal berarti mengunjungi satu per satu) objek bursa untuk mengakses kondisi pasar. Saat ini, Anda perlu menggunakan modul untuk mendapatkan jumlah pertukaran.

    Pertama-tama kita dapat menggunakan struktur sederhana untuk mencetak jumlah pertukaran yang saat ini dikonfigurasi: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Sebenarnya, ini seperti memanggil kode kebijakan JavaScript berikut:

    function main () {
        Log(exchanges.length)
    }
    

    Mari kita lihat hasil menjalankan modul gabungan ini: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Anda dapat melihat bahwa kami telah menambahkan 3 objek pertukaran, yang mewakili tiga akun pertukaran yang berbeda, dan hasil keluaran log uji ulang adalah 3.

  • 2. Dapatkan nama pertukaran

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Saat menambahkan tiga objek pertukaran, kotak drop-down akan menampilkan tiga opsi. Pelajari modul loop terlebih dahulu, dalam tipe loop. Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Mari kita pelajari modul penilaian bersyarat terlebih dahulu: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Kondisi penghakiman dapat dituliskan sebagai: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Kami menggunakan modul loop untuk mengulangi nama pertukaran yang ditambahkan Gunakan modul penilaian bersyarat untuk menentukan apakah jumlah loop saat ini sesuai dengan nama pertukaran yang akan dicetak.

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Hasil uji coba kembali: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Seperti kode strategi JavaScript:

    function main () {
        for (var i = 1 ; i <= exchanges.length ; i++) {
            if (i == 1) {
                Log(exchanges[0].GetName())
            } else if (i == 2) {
                Log(exchanges[1].GetName())
            } else {
                Log(exchanges[2].GetName())
            }
        }
    }
    
  • 3. Dapatkan pasangan perdagangan saat ini dari bursa

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Contoh sederhana mendapatkan pasangan perdagangan dari objek pertukaran pertama yang saat ini ditetapkan dan menetapkannya ke variabel teks (dibuat dalam kategori variabel sebelumnya).

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Hasil pengujian ulang: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Jika Anda memanggil kode kebijakan JavaScript:

    function main () {
        var text = exchange.GetCurrency()
        Log(text)
    }
    
  • 4. Modul pesanan

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Modul ini sangat penting dan digunakan untuk operasi pemesanan. Variabel harga disematkan pada posisi tenon (alur) pertama untuk menentukan harga pesanan. Anda juga dapat langsung memasukkan nilai tetap. Posisi tenon (titik) kedua menanamkan variabel kuantitas pesanan, yang digunakan untuk menentukan kuantitas pesanan.

    Misalnya, kita akan membuat contoh penempatan pesanan beli berdasarkan harga terkini data pasar tick, dengan selisih 10 yuan, menetapkan jumlah pesanan menjadi 0,1 koin, dan mencetak ID pesanan. Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Hasil uji coba kembali: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Seperti kode kebijakan JavaScript berikut:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last + 10, 0.1)
        Log(id)
    }
    
  • 5. Modul untuk mendapatkan perintah kepercayaan pasangan perdagangan saat ini

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Modul ini akan mengembalikan semua order yang belum selesai dari pasangan perdagangan saat ini. Struktur yang dikembalikan adalah daftar (array), yang dapat diproses oleh modul tipe daftar (operasi traversal, dll.). Misalnya: Kami sedikit memodifikasi contoh modul pesanan [4] di atas dan mengubah harga 10 yuan yang ditambahkan saat melakukan pemesanan menjadi pengurangan harga 10 yuan. Perintah tersebut tidak akan langsung dieksekusi, tetapi akan tertunda pada kedalaman beli dan jual (yaitu pada level tertentu antara Beli 1, Beli 2, dan Beli N), sehingga perintah tersebut berada pada perintah tertunda yang menunggu eksekusi. Kemudian kami menggunakan modul “Dapatkan perintah kepercayaan pasangan perdagangan saat ini” untuk mendapatkan daftar perintah dalam status PENDING (menunggu eksekusi). Untuk menghindari eksekusi order pada kondisi pasar selanjutnya dan mempengaruhi pengamatan akhir backtest, setelah modul “Dapatkan order kepercayaan pasangan perdagangan saat ini” dieksekusi dan daftar order dicetak, kami segera menggunakan “Lempar pengecualian” “modul untuk menghentikan program.

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Pengujian ulang menunjukkan: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Harga pesanan beli 10 yuan lebih rendah dari harga terbaru saat itu, jadi transaksi tidak akan segera selesai. Lalu dapatkan perintah yang menunggu untuk dieksekusi dan cetaklah. Terakhir, pengecualian dilemparkan untuk menghentikan program.

    Seluruh modul yang dirakit seperti memanggil strategi JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(id)
        Log(exchange.GetOrders())
        throw "stop"
    }
    
  • 6. Modul pembatalan pesanan

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Modul ini digunakan untuk membatalkan pesanan.

    Ada banyak skenario di mana hal ini diperlukan saat menulis kebijakan:

    Batalkan semua pesanan yang tertunda saat ini.

    Tidak diragukan lagi, ini akan memerlukan penggunaan “modul pembatalan pesanan”. Saat mempelajari modul pembatalan pesanan, kita dapat menggunakan [5] untuk mendapatkan modul untuk pesanan kepercayaan pasangan perdagangan saat ini dan menggabungkannya untuk mencapai fungsi ini.

    Pertama, untuk menguji pembatalan semua pesanan, penempatan pesanan tidak terlalu jelas, kita mulai dengan menempatkan dua pesanan dengan harga dan jumlah yang berbeda untuk membedakan kedua pesanan.

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Gunakan modul “Lintasi setiap elemen dalam daftar” dalam modul jenis loop untuk melintasi order dalam daftar order tertunda saat ini. Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Selama penelusuran, setiap pesanan yang diambil ditetapkan ke pesanan modul variabel (dibuat dalam tipe modul variabel, seperti ditunjukkan di bawah ini:) Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Gunakan modul jenis alat: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Keluarkan ID pesanan dan berikan ke posisi tenon (cekung) dari modul pembatalan pesanan, dan modul pembatalan pesanan akan mengeksekusi pembatalan pesanan.

    Uji coba kembali: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Menggunakan deskripsi kebijakan JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(id)
        var id2 = exchange.Buy(_C(exchange.GetTicker).Last - 12, 0.2)
        Log(id2)
        var orders = exchange.GetOrders()
        Log(orders)
        for (var i in orders) {
            var order = orders[i]
            Log(exchange.CancelOrder(order.Id))
        }
    }
    
  • 7. Modul untuk mendapatkan informasi detail pesanan berdasarkan ID pesanan

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Modul ini dapat mengembalikan informasi pesanan terperinci dengan menghubungkan modul variabel ID pesanan ke posisi mortise dan tenon.

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Perhatikan perintah yang dikembalikan setelah dijalankan: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Dibandingkan dengan hasil yang berjalan pada contoh [5], dapat ditemukan bahwa pesanan yang dicetak adalah informasi pesanan yang terpisah.[] Dibungkus dalam tanda kurung siku. Karena contoh [5] mengembalikan daftar, contoh ini mengembalikan informasi pesanan tunggal (diperoleh berdasarkan variabel ID modul pada posisi tenon yang diteruskan oleh modul).

    Contoh di atas setara dengan menjalankan kebijakan JavaScript:

    function main () {
        var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
        Log(exchange.GetOrder(id))
    }
    
  • 8. Modul perdagangan berjangka

    Kita akan mempelajari modul di atas satu per satu, dan menetapkan bursa pengujian ke komoditi berjangka.

    Pengaturan pengujian ulang: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Contoh berikut menguji ulang pengaturan ini.

    • Modul untuk menilai status koneksi antara server komoditas berjangka CTP dan server perusahaan berjangka

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Kontrak berjangka komoditas memiliki waktu buka dan tutup. Saat pasar tutup, Anda tidak dapat terhubung.

    • Siapkan modul kontrak

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Saat objek pertukaran dikonfigurasikan sebagai bursa berjangka, jika Anda tidak menetapkan kontrak dan langsung memperoleh informasi pasar, kesalahan akan dilaporkan: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Kami menetapkan kontrak ke MA909, yang merupakan kontrak utama saat ini untuk metanol. Modul visualisasi untuk membangun strategi perdagangan - Lanjutan Dengan cara ini, nilai harga terkini di pasar tick kontrak MA909 diperoleh.

    • Siapkan modul arah perintah perdagangan berjangka

    Dalam modul perintah eksekusi Modul visualisasi untuk membangun strategi perdagangan - Lanjutan
    Arah pesanan perlu ditentukan karena kontrak berjangka memiliki: beli : membuka posisi panjang jual : membuka posisi short closebuy : menutup posisi panjang closesell : menutup posisi short Empat arah (komoditas berjangka memiliki dua arah lagi: closebuy_today menutup posisi panjang hari ini, closesell_today menutup posisi pendek hari ini).

    Misalnya, jika modul pesanan diatur ke beli, maka ada dua makna: membuka posisi panjang dan menutup posisi pendek, yang menciptakan ambiguitas. Oleh karena itu, modul “Set Futures Trading Order Direction” diperlukan untuk menetapkan arah order yang jelas.

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Pengujian ulang menunjukkan: Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Seperti kode strategi JavaScript:

      function main () {
          while (true) {
              if (exchange.IO("status")) {
                  exchange.SetContractType("MA909")
                  Log(exchange.GetTicker().Last)
                  exchange.SetDirection("buy")
                  Log(exchange.Buy(1000, 1))
                  throw "stop"
              } else {
                  Log("未连接商品期货前置机")
              }
              Sleep(1000)
          }
      }
    
  • 9. Modul perdagangan berjangka mata uang kripto

    Penggunaan futures mata uang digital pada dasarnya sama dengan penggunaan futures komoditas pada [8] di atas.

    • Mengambil OKEX sebagai contoh, kode kontraknya adalah:

      • this_week : minggu ini
      • next_week : minggu depan
      • kuartal : kuartal
      • tukar : terus menerus
    • BitMEX :

      • XBTUSD
      • ETHUSD
    • Mengatur Modul Leverage

    Modul visualisasi untuk membangun strategi perdagangan - Lanjutan

    Digunakan untuk mengatur leverage untuk kontrak berjangka mata uang digital.

      # 注意 : 回测不支持。
    

    Seperti dalam strategi JavaScript:

      function main () {
          exchange.SetMarginLevel(10)
      }
    

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!